diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java index 9200ec0ef003fd..020e375951a921 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java @@ -549,7 +549,7 @@ public static RepositoryDirectoryValue.Builder symlinkRepoRoot( if (!WorkspaceFileHelper.isValidRepoRoot(destination)) { throw new RepositoryFunctionException( new IOException("No MODULE.bazel, REPO.bazel, or WORKSPACE file found in " + destination), - Transience.PERSISTENT); + Transience.TRANSIENT); } return RepositoryDirectoryValue.builder().setExcludeFromVendoring(true).setPath(source); } diff --git a/src/test/py/bazel/bzlmod/bazel_overrides_test.py b/src/test/py/bazel/bzlmod/bazel_overrides_test.py index 45c3f4d9890fd1..cb59bdd33e8c07 100644 --- a/src/test/py/bazel/bzlmod/bazel_overrides_test.py +++ b/src/test/py/bazel/bzlmod/bazel_overrides_test.py @@ -513,6 +513,28 @@ def testCmdWorkspaceRelativeModuleOverride(self): 'Target @@ss~//:choose_me up-to-date (nothing to build)', stderr ) + def testLocalPathOverrideErrorResolved(self): + self.ScratchFile( + 'MODULE.bazel', + [ + 'bazel_dep(name = "module")', + 'local_path_override(', + ' module_name = "module",', + ' path = "module",', + ')', + ], + ) + self.ScratchFile('module/BUILD') + + # MODULE.bazel file is missing + stderr, _, exit_code = self.RunBazel( + ['build', '@module//:all'], allow_failure=True + ) + self.AssertNotExitCode(exit_code, 0, stderr) + + self.ScratchFile('module/MODULE.bazel', ["module(name = 'module')"]) + _, _, _ = self.RunBazel(['build', '@module//:all']) + if __name__ == '__main__': absltest.main()