diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/syntax/Eval.java | 11 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/syntax/SkylarkImports.java | 30 |
2 files changed, 4 insertions, 37 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Eval.java b/src/main/java/com/google/devtools/build/lib/syntax/Eval.java index 33ce4426bb..98130ae3ff 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/Eval.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/Eval.java @@ -124,17 +124,6 @@ public class Eval { } void execLoad(LoadStatement node) throws EvalException, InterruptedException { - if (env.getSemantics().incompatibleLoadArgumentIsLabel()) { - String s = node.getImport().getValue(); - if (!s.startsWith("//") && !s.startsWith(":") && !s.startsWith("@")) { - throw new EvalException( - node.getLocation(), - "First argument of 'load' must be a label and start with either '//', ':', or '@'. " - + "Use --incompatible_load_argument_is_label=false to temporarily disable this " - + "check."); - } - } - for (Map.Entry<Identifier, String> entry : node.getSymbolMap().entrySet()) { try { Identifier name = entry.getKey(); diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkImports.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkImports.java index dc08f4a19a..71f1bffc8d 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkImports.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkImports.java @@ -228,15 +228,11 @@ public class SkylarkImports { @VisibleForTesting static final String INVALID_PATH_SYNTAX = - "Don't use paths for Load statements; " - + "use a label instead, e.g. '//foo:bar.bzl' or ':bar.bzl'"; + "First argument of 'load' must be a label and start with either '//', ':', or '@'."; @VisibleForTesting static final String INVALID_TARGET_PREFIX = "Invalid target: "; - @VisibleForTesting - static final String INVALID_FILENAME_PREFIX = "Invalid filename: "; - /** * Creates and syntactically validates a {@link SkylarkImports} instance from a string. * <p> @@ -263,16 +259,8 @@ public class SkylarkImports { throw new SkylarkImportSyntaxException(EXTERNAL_PKG_NOT_ALLOWED_MSG); } return new AbsoluteLabelImport(importString, importLabel); - } else if (importString.startsWith("/")) { - // Absolute path. - if (importString.endsWith(".bzl")) { - throw new SkylarkImportSyntaxException(INVALID_PATH_SYNTAX); - } - PathFragment importPath = PathFragment.create(importString + ".bzl"); - return new AbsolutePathImport(importString, importPath); } else if (importString.startsWith(":")) { - // Relative label. We require that relative labels use an explicit ':' prefix to distinguish - // them from relative paths, which have a different semantics. + // Relative label. We require that relative labels use an explicit ':' prefix. String importTarget = importString.substring(1); if (!importTarget.endsWith(".bzl")) { throw new SkylarkImportSyntaxException(MUST_HAVE_BZL_EXT_MSG); @@ -283,18 +271,8 @@ public class SkylarkImports { throw new SkylarkImportSyntaxException(INVALID_TARGET_PREFIX + maybeErrMsg); } return new RelativeLabelImport(importString, importTarget); - } else { - // Relative path. - if (importString.endsWith(".bzl") || importString.contains("/")) { - throw new SkylarkImportSyntaxException(INVALID_PATH_SYNTAX); - } - String importTarget = importString + ".bzl"; - String maybeErrMsg = LabelValidator.validateTargetName(importTarget); - if (maybeErrMsg != null) { - // Null indicates successful target validation. - throw new SkylarkImportSyntaxException(INVALID_FILENAME_PREFIX + maybeErrMsg); - } - return new RelativePathImport(importString, importTarget); } + + throw new SkylarkImportSyntaxException(INVALID_PATH_SYNTAX); } } |