aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar fzaiser <fzaiser@google.com>2017-11-02 09:41:18 -0400
committerGravatar John Cater <jcater@google.com>2017-11-02 10:04:27 -0400
commitef469dad55378c8320dbb30aaad4eab5fef5abd5 (patch)
tree69f70bd0ca09645ba35cce0bf79b3cdf03f83e66 /src
parent660044b74fe8078966865a3f640df5bd72b9970f (diff)
Linter: allow leading underscore in provider names
RELNOTES: none PiperOrigin-RevId: 174318660
Diffstat (limited to 'src')
-rw-r--r--src/tools/skylark/java/com/google/devtools/skylark/skylint/NamingConventionsChecker.java3
-rw-r--r--src/tools/skylark/javatests/com/google/devtools/skylark/skylint/NamingConventionsCheckerTest.java1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/tools/skylark/java/com/google/devtools/skylark/skylint/NamingConventionsChecker.java b/src/tools/skylark/java/com/google/devtools/skylark/skylint/NamingConventionsChecker.java
index dbfff17c60..cca66fc096 100644
--- a/src/tools/skylark/java/com/google/devtools/skylark/skylint/NamingConventionsChecker.java
+++ b/src/tools/skylark/java/com/google/devtools/skylark/skylint/NamingConventionsChecker.java
@@ -180,6 +180,9 @@ public class NamingConventionsChecker extends AstVisitorWithNameResolution {
}
private static boolean isUpperCamelCase(String name) {
+ if (name.startsWith("_")) {
+ name = name.substring(1); // private providers are allowed
+ }
return !name.contains("_") && Character.isUpperCase(name.charAt(0));
}
diff --git a/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/NamingConventionsCheckerTest.java b/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/NamingConventionsCheckerTest.java
index f152d838af..325e7adc07 100644
--- a/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/NamingConventionsCheckerTest.java
+++ b/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/NamingConventionsCheckerTest.java
@@ -107,6 +107,7 @@ public class NamingConventionsCheckerTest {
@Test
public void testProviderNameMustBeCamelCase() throws Exception {
Truth.assertThat(findIssues("FooBarInfo = provider()")).isEmpty();
+ Truth.assertThat(findIssues("_FooBarInfo = provider()")).isEmpty();
Truth.assertThat(findIssues("foo_bar = provider()").toString())
.contains("provider name 'foo_bar' should be UpperCamelCase [name-with-wrong-case]");
}