diff options
author | 2016-06-03 14:38:19 +0000 | |
---|---|---|
committer | 2016-06-06 08:01:16 +0000 | |
commit | d8b80c33dcddf50bcd155c7362c068bf18bcb1d4 (patch) | |
tree | 65c62b3afed09606cec7ddfb6621978568af02a7 /src/main/java/com/google/devtools/build/lib/packages/Package.java | |
parent | 55d55239add4a70e1a549090c4667212007c2110 (diff) |
Make a 'did you mean' suggestion when referencing a non-existent label.
It works for both labels on the command-line and labels in BUILD files.
--
MOS_MIGRATED_REVID=123967347
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages/Package.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/packages/Package.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Package.java b/src/main/java/com/google/devtools/build/lib/packages/Package.java index 8a666b0ecf..cbfeb5b17a 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/Package.java +++ b/src/main/java/com/google/devtools/build/lib/packages/Package.java @@ -34,6 +34,7 @@ import com.google.devtools.build.lib.events.Location; import com.google.devtools.build.lib.packages.AttributeMap.AcceptsLabelAttribute; import com.google.devtools.build.lib.packages.License.DistributionType; import com.google.devtools.build.lib.util.Preconditions; +import com.google.devtools.build.lib.util.SpellChecker; import com.google.devtools.build.lib.vfs.Canonicalizer; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; @@ -528,7 +529,12 @@ public class Package { suffix = "; however, a source file of this name exists. (Perhaps add " + "'exports_files([\"" + targetName + "\"])' to " + name + "/BUILD?)"; } else { - suffix = ""; + String suggestion = SpellChecker.suggest(targetName, targets.keySet()); + if (suggestion != null) { + suffix = " (did you mean '" + suggestion + "'?)"; + } else { + suffix = ""; + } } throw makeNoSuchTargetException(targetName, suffix); |