Update error message for invalid load label.
--
MOS_MIGRATED_REVID=118662172
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 8a1bb7e..99b604e 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
@@ -181,11 +181,12 @@
@VisibleForTesting
static final String EXTERNAL_PKG_NOT_ALLOWED_MSG =
- "Skylark files may not be loaded from the //external package";
+ "Skylark files may not be loaded from the //external package";
@VisibleForTesting
- static final String BZL_EXT_IMPLICIT_MSG =
- "The '.bzl' file extension is implicit; remove it from the path";
+ 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'";
@VisibleForTesting
static final String INVALID_TARGET_PREFIX = "Invalid target: ";
@@ -193,10 +194,6 @@
@VisibleForTesting
static final String INVALID_FILENAME_PREFIX = "Invalid filename: ";
- @VisibleForTesting
- static final String RELATIVE_PATH_NO_SUBDIRS_MSG =
- "A relative import path may not contain subdirectories";
-
/**
* Creates and syntactically validates a {@link SkylarkImports} instance from a string.
* <p>
@@ -226,7 +223,7 @@
} else if (importString.startsWith("/")) {
// Absolute path.
if (importString.endsWith(".bzl")) {
- throw new SkylarkImportSyntaxException(BZL_EXT_IMPLICIT_MSG);
+ throw new SkylarkImportSyntaxException(INVALID_PATH_SYNTAX);
}
PathFragment importPath = new PathFragment(importString + ".bzl");
return new AbsolutePathImport(importString, importPath);
@@ -245,11 +242,8 @@
return new RelativeLabelImport(importString, importTarget);
} else {
// Relative path.
- if (importString.endsWith(".bzl")) {
- throw new SkylarkImportSyntaxException(BZL_EXT_IMPLICIT_MSG);
- }
- if (importString.contains("/")) {
- throw new SkylarkImportSyntaxException(RELATIVE_PATH_NO_SUBDIRS_MSG);
+ if (importString.endsWith(".bzl") || importString.contains("/")) {
+ throw new SkylarkImportSyntaxException(INVALID_PATH_SYNTAX);
}
String importTarget = importString + ".bzl";
String maybeErrMsg = LabelValidator.validateTargetName(importTarget);
@@ -261,4 +255,3 @@
}
}
}
-
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java b/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
index 8e51987..4cc1e94 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
@@ -1142,12 +1142,12 @@
@Test
public void testInvalidRelativePathBzlExtImplicit() throws Exception {
- invalidImportTest("file.bzl", SkylarkImports.BZL_EXT_IMPLICIT_MSG);
+ invalidImportTest("file.bzl", SkylarkImports.INVALID_PATH_SYNTAX);
}
@Test
public void testInvalidRelativePathNoSubdirs() throws Exception {
- invalidImportTest("path/to/file", SkylarkImports.RELATIVE_PATH_NO_SUBDIRS_MSG);
+ invalidImportTest("path/to/file", SkylarkImports.INVALID_PATH_SYNTAX);
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkImportTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkImportTest.java
index ae0f98e..49fdd73 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkImportTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkImportTest.java
@@ -201,7 +201,7 @@
@Test
public void tesInvalidAbsolutePathBzlExtImplicit() throws Exception {
- invalidImportTest("/some/skylark/file.bzl", SkylarkImports.BZL_EXT_IMPLICIT_MSG);
+ invalidImportTest("/some/skylark/file.bzl", SkylarkImports.INVALID_PATH_SYNTAX);
}
@Test
@@ -216,12 +216,12 @@
@Test
public void testInvalidRelativePathBzlExtImplicit() throws Exception {
- invalidImportTest("file.bzl", SkylarkImports.BZL_EXT_IMPLICIT_MSG);
+ invalidImportTest("file.bzl", SkylarkImports.INVALID_PATH_SYNTAX);
}
@Test
public void testInvalidRelativePathNoSubdirs() throws Exception {
- invalidImportTest("path/to/file", SkylarkImports.RELATIVE_PATH_NO_SUBDIRS_MSG);
+ invalidImportTest("path/to/file", SkylarkImports.INVALID_PATH_SYNTAX);
}
@Test
@@ -230,4 +230,3 @@
invalidImportTest("\tfile", SkylarkImports.INVALID_FILENAME_PREFIX);
}
}
-