From 10792ce91d90df5ec48f77e7d70b99fd3464c781 Mon Sep 17 00:00:00 2001 From: kshyanashree <109167932+kshyanashree@users.noreply.github.com> Date: Mon, 27 Mar 2023 10:43:01 -0700 Subject: [PATCH] Add suggestions to invalid tag class errors (#17896) Closes #17888. PiperOrigin-RevId: 519729739 Change-Id: I0ae8b18acd1a88de4da40b6883cf24c5ce6586bb Co-authored-by: Fabian Meumertzheim --- .../build/lib/bazel/bzlmod/StarlarkBazelModule.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/StarlarkBazelModule.java b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/StarlarkBazelModule.java index 7491a9ea449211..ff374a5730ce08 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/StarlarkBazelModule.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/StarlarkBazelModule.java @@ -33,6 +33,7 @@ import net.starlark.java.eval.StarlarkList; import net.starlark.java.eval.StarlarkValue; import net.starlark.java.eval.Structure; +import net.starlark.java.spelling.SpellChecker; /** A Starlark object representing a Bazel module in the external dependency graph. */ @StarlarkBuiltin( @@ -115,10 +116,11 @@ public static StarlarkBazelModule create( throw ExternalDepsException.withMessage( Code.BAD_MODULE, "The module extension defined at %s does not have a tag class named %s, but its use is" - + " attempted at %s", + + " attempted at %s%s", extension.getLocation(), tag.getTagName(), - tag.getLocation()); + tag.getLocation(), + SpellChecker.didYouMean(tag.getTagName(), extension.getTagClasses().keySet())); } // Now we need to type-check the attribute values and convert them into "build language types"