diff --git a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelDepGraphFunction.java b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelDepGraphFunction.java index e4341b39fc9db0..30597019640d22 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelDepGraphFunction.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelDepGraphFunction.java @@ -97,7 +97,8 @@ public SkyValue compute(SkyKey skyKey, Environment env) throw new BazelDepGraphFunctionException( ExternalDepsException.withMessage( Code.BAD_MODULE, - "Lock file is no longer up-to-date because: %s", + "Lock file is no longer up-to-date because: %s. " + + "Please run `bazel mod deps --lockfile_mode=update` to update your lockfile.", String.join(", ", diffLockfile)), Transience.PERSISTENT); } diff --git a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelLockFileValue.java b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelLockFileValue.java index 0f44205600d549..d588b81d8f410d 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelLockFileValue.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelLockFileValue.java @@ -94,9 +94,7 @@ public ImmutableList getModuleAndFlagsDiff( ImmutableList.Builder moduleDiff = new ImmutableList.Builder<>(); if (getLockFileVersion() != BazelLockFileValue.LOCK_FILE_VERSION) { return moduleDiff - .add( - "the version of the lockfile is not compatible with the current Bazel, please run" - + " with '--lockfile_mode=update'") + .add("the version of the lockfile is not compatible with the current Bazel") .build(); } if (!moduleFileHash.equals(getModuleFileHash())) { diff --git a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionEvalFunction.java b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionEvalFunction.java index 740ed1358b6b1d..76e646a2c1e659 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionEvalFunction.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionEvalFunction.java @@ -288,7 +288,8 @@ private SingleExtensionEvalValue tryGettingValueFromLockFile( throw new SingleExtensionEvalFunctionException( ExternalDepsException.withMessage( Code.BAD_MODULE, - "Lock file is no longer up-to-date because: %s", + "Lock file is no longer up-to-date because: %s. " + + "Please run `bazel mod deps --lockfile_mode=update` to update your lockfile.", String.join(", ", extDiff)), Transience.PERSISTENT); } diff --git a/src/test/py/bazel/bzlmod/bazel_lockfile_test.py b/src/test/py/bazel/bzlmod/bazel_lockfile_test.py index b90283e387a48d..9a19cb8fa770d3 100644 --- a/src/test/py/bazel/bzlmod/bazel_lockfile_test.py +++ b/src/test/py/bazel/bzlmod/bazel_lockfile_test.py @@ -203,7 +203,8 @@ def testLockfileErrorMode(self): 'ERROR: Error computing the main repository mapping: Lock file is' ' no longer up-to-date because: the root MODULE.bazel has been' ' modified, the value of --check_direct_dependencies flag has' - ' been modified' + ' been modified. Please run' + ' `bazel mod deps --lockfile_mode=update` to update your lockfile.' ), stderr, ) @@ -246,7 +247,8 @@ def testLocalOverrideWithErrorMode(self): ( 'ERROR: Error computing the main repository mapping: Lock file is' ' no longer up-to-date because: The MODULE.bazel file has changed' - ' for the overriden module: bar' + ' for the overriden module: bar. Please run' + ' `bazel mod deps --lockfile_mode=update` to update your lockfile.' ), stderr, ) @@ -572,7 +574,8 @@ def testUpdateModuleExtensionErrorMode(self): 'implementation of the extension ' "'ModuleExtensionId{bzlFileLabel=//:extension.bzl, " "extensionName=lockfile_ext, isolationKey=Optional.empty}' or one " - 'of its transitive .bzl files has changed' + 'of its transitive .bzl files has changed. Please run' + ' `bazel mod deps --lockfile_mode=update` to update your lockfile.' ), stderr, ) @@ -758,7 +761,8 @@ def testChangeEnvVariableInErrorMode(self): ' variables the extension' " 'ModuleExtensionId{bzlFileLabel=//:extension.bzl," " extensionName=lockfile_ext, isolationKey=Optional.empty}' depends" - ' on (or their values) have changed' + ' on (or their values) have changed. Please run' + ' `bazel mod deps --lockfile_mode=update` to update your lockfile.' ), stderr, ) @@ -827,8 +831,8 @@ def testOldVersion(self): ( 'ERROR: Error computing the main repository mapping: Lock file is' ' no longer up-to-date because: the version of the lockfile is not' - ' compatible with the current Bazel, please run with' - " '--lockfile_mode=update'" + ' compatible with the current Bazel. Please run' + ' `bazel mod deps --lockfile_mode=update` to update your lockfile.' ), stderr, )