diff --git a/src/main/java/com/google/devtools/build/lib/bazel/commands/FetchCommand.java b/src/main/java/com/google/devtools/build/lib/bazel/commands/FetchCommand.java index d3a79e668c5453..596c5c0a81539d 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/commands/FetchCommand.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/commands/FetchCommand.java @@ -94,7 +94,7 @@ public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult opti PackageOptions pkgOptions = options.getOptions(PackageOptions.class); if (!pkgOptions.fetch) { return createFailedBlazeCommandResult( - env.getReporter(), Code.OPTIONS_INVALID, "You cannot run fetch with --fetch=false"); + env.getReporter(), Code.OPTIONS_INVALID, "You cannot run fetch with --nofetch"); } FetchOptions fetchOptions = options.getOptions(FetchOptions.class); int optionsCount = diff --git a/src/main/java/com/google/devtools/build/lib/bazel/commands/VendorCommand.java b/src/main/java/com/google/devtools/build/lib/bazel/commands/VendorCommand.java index 5f4d72329edee4..1a12047b6a15b0 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/commands/VendorCommand.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/commands/VendorCommand.java @@ -84,6 +84,11 @@ public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult opti Code.OPTIONS_INVALID, "You cannot run vendor without specifying --vendor_dir"); } + PackageOptions pkgOptions = options.getOptions(PackageOptions.class); + if (!pkgOptions.fetch) { + return createFailedBlazeCommandResult( + env.getReporter(), Code.OPTIONS_INVALID, "You cannot run vendor with --nofetch"); + } LoadingPhaseThreadsOption threadsOption = options.getOptions(LoadingPhaseThreadsOption.class); SkyframeExecutor skyframeExecutor = env.getSkyframeExecutor(); diff --git a/src/test/py/bazel/bzlmod/bazel_vendor_test.py b/src/test/py/bazel/bzlmod/bazel_vendor_test.py index a99169c4a7af69..df7173a0584816 100644 --- a/src/test/py/bazel/bzlmod/bazel_vendor_test.py +++ b/src/test/py/bazel/bzlmod/bazel_vendor_test.py @@ -96,6 +96,14 @@ def testBasicVendoring(self): self.assertIn('@bbb~1.0.marker', repos_vendored) self.assertIn('.vendorignore', repos_vendored) + def testVendorFailsWithNofetch(self): + self.ScratchFile('MODULE.bazel') + self.ScratchFile('BUILD') + _, _, stderr = self.RunBazel( + ['vendor', '--vendor_dir=vendor', '--nofetch'], allow_failure=True + ) + self.assertIn('ERROR: You cannot run vendor with --nofetch', stderr) + def testVendoringMultipleTimes(self): self.main_registry.createCcModule('aaa', '1.0') self.ScratchFile(