From da4c959603280ded71ad8fbc2d30d4917b175750 Mon Sep 17 00:00:00 2001 From: gregce Date: Thu, 27 Jul 2017 22:09:34 +0200 Subject: Fix confusing semantics for Attribute.Builder.allowedRuleClasses. 1) Update the javadocs. 2) Clarify that allowedRuleClases and allowedRuleClassesWithWarning must be disjoint sets. 3) Enforce 2). 4) Fix error messaging when only "with warnings" is set. PiperOrigin-RevId: 163379567 --- .../java/com/google/devtools/build/lib/analysis/util/MockRule.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/test/java/com/google/devtools/build/lib/analysis/util/MockRule.java') diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/MockRule.java b/src/test/java/com/google/devtools/build/lib/analysis/util/MockRule.java index 9446a04ded..bba074bec4 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/MockRule.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/MockRule.java @@ -101,6 +101,11 @@ public interface MockRule extends RuleDefinition { default void customize(RuleClass.Builder builder, RuleDefinitionEnvironment environment) { } + /** + * Default "deps" attribute for rule classes that don't need special behavior. + */ + Attribute.Builder DEPS_ATTRIBUTE = attr("deps", BuildType.LABEL_LIST).allowedFileTypes(); + /** * Builds out this rule with default attributes Blaze expects of all rules plus the custom * attributes defined by this implementation's {@link State}. @@ -110,7 +115,6 @@ public interface MockRule extends RuleDefinition { @Override default RuleClass build(RuleClass.Builder builder, RuleDefinitionEnvironment environment) { builder - .add(attr("deps", BuildType.LABEL_LIST).allowedFileTypes()) .add(attr("testonly", BOOLEAN).nonconfigurable("test").value(false)) .add(attr("deprecation", STRING).nonconfigurable("test").value((String) null)) .add(attr("tags", STRING_LIST)) -- cgit v1.2.3