aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar Laurent Le Brun <laurentlb@google.com>2015-07-07 11:54:41 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-07-07 16:33:15 +0000
commit6ce51e154b4c3310e07d737f7eeb80242f83f959 (patch)
tree1455de5307c93eb029a1f9692bc2feac454f01a8 /src/main/java
parent2eacd983bb5ff9a28b58a626bf956ed1b113c777 (diff)
Allow Skylark rules to be private.
-- MOS_MIGRATED_REVID=97662036
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/RuleClass.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java4
2 files changed, 1 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
index 05ad52af95..0286796470 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
@@ -225,7 +225,7 @@ public final class RuleClass {
* of that name already exists. Use {@link #overrideAttribute} in that case.
*/
public static final class Builder {
- private static final Pattern RULE_NAME_PATTERN = Pattern.compile("[A-Za-z][A-Za-z0-9_]*");
+ private static final Pattern RULE_NAME_PATTERN = Pattern.compile("[A-Za-z_][A-Za-z0-9_]*");
/**
* The type of the rule class, which determines valid names and required
diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java
index 6fcf85f38d..924bd04c9c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java
@@ -304,10 +304,6 @@ public class SkylarkRuleClassFunctions {
throw new EvalException(ast.getLocation(),
"Invalid rule class hasn't been exported by a Skylark file");
}
- if (ruleClassName.startsWith("_")) {
- throw new EvalException(ast.getLocation(), "Invalid rule class name '" + ruleClassName
- + "', cannot be private");
- }
if (type == RuleClassType.TEST != TargetUtils.isTestRuleName(ruleClassName)) {
throw new EvalException(ast.getLocation(), "Invalid rule class name '" + ruleClassName
+ "', test rule class names must end with '_test' and other rule classes must not");