rules_xcodeproj: Bug: Bazel didn't generate the correct files

Describe the bug

I’m getting this error:

Bazel didn’t generate the correct files (it should have generated outputs for output group “bc //App:App applebin_ios-ios_x86_64-dbg-ST-223d7abe647f”, but the timestamp for “/redacted/execroot/main/bazel-out/ios_x86_64-dbg/bin//xcodeproj.generator-bc __App:App applebin_ios-ios_x86_64-dbg-ST-223d7abe647f.filelist” was from before the build). Please regenerate the project to fix this. If your bazel version is less than 5.2, you may need to bazel clean and/or bazel shutdown to work around a bug in project generation. If you are still getting this error after all of that, please file a bug report here: https://github.com/buildbuddy-io/rules_xcodeproj/issues/new?template=bug.md.

Versions

Additional context

Here is the diff between the original configuration and the configuration built in the generated project.

@@ -1,5 +1,5 @@
-BuildConfigurationValue 7780922449e23c987f56de6c5b2c6b69b752f30de65927d9eb8fe90334c5f408:
-Skyframe Key: BuildConfigurationKey[7780922449e23c987f56de6c5b2c6b69b752f30de65927d9eb8fe90334c5f408]
+BuildConfigurationValue 83f18cf99fb91b4b51b5992b056b003c1dd3dd2fcde937c293962fd93942c855:
+Skyframe Key: BuildConfigurationKey[83f18cf99fb91b4b51b5992b056b003c1dd3dd2fcde937c293962fd93942c855]
 Fragments: com.google.devtools.build.lib.analysis.PlatformConfiguration: [com.google.devtools.build.lib.analysis.PlatformOptions], com.google.devtools.build.lib.analysis.ShellConfiguration: [com.google.devtools.build.lib.analysis.ShellConfiguration$Options], com.google.devtools.build.lib.analysis.test.CoverageConfiguration: [com.google.devtools.build.lib.analysis.config.CoreOptions,com.google.devtools.build.lib.analysis.test.CoverageConfiguration$CoverageOptions], com.google.devtools.build.lib.analysis.test.TestConfiguration: [com.google.devtools.build.lib.analysis.test.TestConfiguration$TestOptions], com.google.devtools.build.lib.bazel.rules.BazelRuleClassProvider$StrictActionEnvConfiguration: [com.google.devtools.build.lib.bazel.rules.BazelRuleClassProvider$StrictActionEnvOptions], com.google.devtools.build.lib.bazel.rules.python.BazelPythonConfiguration: [com.google.devtools.build.lib.bazel.rules.python.BazelPythonConfiguration$Options,com.google.devtools.build.lib.rules.python.PythonOptions], com.google.devtools.build.lib.rules.android.AndroidConfiguration: [com.google.devtools.build.lib.rules.android.AndroidConfiguration$Options], com.google.devtools.build.lib.rules.android.AndroidLocalTestConfiguration: [com.google.devtools.build.lib.rules.android.AndroidLocalTestConfiguration$Options], com.google.devtools.build.lib.rules.android.BazelAndroidConfiguration: [com.google.devtools.build.lib.rules.android.BazelAndroidConfiguration$Options], com.google.devtools.build.lib.rules.apple.AppleConfiguration: [com.google.devtools.build.lib.rules.apple.AppleCommandLineOptions], com.google.devtools.build.lib.rules.apple.swift.SwiftConfiguration: [com.google.devtools.build.lib.rules.apple.swift.SwiftCommandLineOptions], com.google.devtools.build.lib.rules.config.ConfigFeatureFlagConfiguration: [com.google.devtools.build.lib.rules.config.ConfigFeatureFlagOptions], com.google.devtools.build.lib.rules.cpp.CppConfiguration: [com.google.devtools.build.lib.rules.apple.AppleCommandLineOptions,com.google.devtools.build.lib.rules.cpp.CppOptions], com.google.devtools.build.lib.rules.genquery.GenQueryConfiguration: [com.google.devtools.build.lib.rules.genquery.GenQueryConfiguration$GenQueryOptions], com.google.devtools.build.lib.rules.java.JavaConfiguration: [com.google.devtools.build.lib.analysis.PlatformOptions,com.google.devtools.build.lib.rules.java.JavaOptions], com.google.devtools.build.lib.rules.objc.J2ObjcConfiguration: [com.google.devtools.build.lib.rules.objc.J2ObjcCommandLineOptions], com.google.devtools.build.lib.rules.objc.ObjcConfiguration: [com.google.devtools.build.lib.rules.cpp.CppOptions,com.google.devtools.build.lib.rules.objc.ObjcCommandLineOptions], com.google.devtools.build.lib.rules.proto.ProtoConfiguration: [com.google.devtools.build.lib.rules.proto.ProtoConfiguration$Options], com.google.devtools.build.lib.rules.python.PythonConfiguration: [com.google.devtools.build.lib.rules.python.PythonOptions],
 FragmentOptions com.google.devtools.build.lib.analysis.PlatformOptions {
   experimental_add_exec_constraints_to_targets: []
@@ -20,7 +20,7 @@
 }
 FragmentOptions com.google.devtools.build.lib.analysis.config.CoreOptions {
   action_env: [PATH=/bin:/usr/bin]
-  affected by starlark transition: [//command_line_option:apple configuration distinguisher, //command_line_option:ios_minimum_os, //command_line_option:platforms]
+  affected by starlark transition: []
   allow_analysis_failures: false
   analysis_testing_deps_limit: 2000
   archived_tree_artifact_mnemonics_filter: -(?:(?>.*))
@@ -53,7 +53,7 @@
   experimental_skip_runfiles_manifests: false
   experimental_skyframe_native_filesets: true
   experimental_strict_fileset_output: false
-  features: [swift.cacheable_swiftmodules, swift.use_global_module_cache, swift.index_while_building, swift.disable_system_index, swift.opt_uses_wmo, swift.vfsoverlay, swift.debug_prefix_map, apple.swizzle_absolute_xcttestsourcelocation, oso_prefix_is_pwd, relative_ast_path, swift.debug_prefix_map]
+  features: [swift.cacheable_swiftmodules, swift.use_global_module_cache, swift.index_while_building, swift.disable_system_index, swift.opt_uses_wmo, swift.vfsoverlay, swift.debug_prefix_map, apple.swizzle_absolute_xcttestsourcelocation, oso_prefix_is_pwd, relative_ast_path, apple.swizzle_absolute_xcttestsourcelocation, oso_prefix_is_pwd, relative_ast_path, swift.cacheable_swiftmodules]
   flag_alias: []
   host_action_env: []
   host_compilation_mode: opt
@@ -161,7 +161,7 @@
   merge_android_manifest_permissions: false
 }
 FragmentOptions com.google.devtools.build.lib.rules.apple.AppleCommandLineOptions {
-  apple configuration distinguisher: APPLEBIN_IOS
+  apple configuration distinguisher: UNKNOWN
   apple_bitcode: []
   apple_compiler: null
   apple_crosstool_top: @bazel_tools//tools/cpp:toolchain
@@ -177,7 +177,7 @@
   host_macos_minimum_os: null
   incompatible_enable_apple_toolchain_resolution: false
   ios_cpu: x86_64
-  ios_minimum_os: 14.0
+  ios_minimum_os: null
   ios_multi_cpus: []
   ios_sdk_version: null
   macos_cpus: []
@@ -303,7 +303,7 @@
   experimental_enable_jspecify: true
   experimental_fix_deps_tool: add_dep
   experimental_import_deps_checking: OFF
-  experimental_inmemory_jdeps_files: true
+  experimental_inmemory_jdeps_files: false
   experimental_java_classpath: JAVABUILDER
   experimental_java_header_input_pruning: false
   experimental_limit_android_lint_to_android_constrained_java: false

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 17 (17 by maintainers)

Most upvoted comments

I sent a PoC patch here in case you want to take a look https://github.com/buildbuddy-io/rules_xcodeproj/pull/1031

I’ve encountered that before as well. I’ll add something to the FAQ and the error message as well. Thanks @thii!

I figured it out. It’s because we have our .xcodeproj in .bazelignore.