Remove the publicByDefault attribute of rules
It is no longer used (and probably shouldn't be used).
PiperOrigin-RevId: 326417219
diff --git a/src/main/java/com/google/devtools/build/docgen/RuleDocumentation.java b/src/main/java/com/google/devtools/build/docgen/RuleDocumentation.java
index 9faf639..f958556 100644
--- a/src/main/java/com/google/devtools/build/docgen/RuleDocumentation.java
+++ b/src/main/java/com/google/devtools/build/docgen/RuleDocumentation.java
@@ -17,8 +17,6 @@
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.docgen.DocgenConsts.RuleType;
-import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider;
-import com.google.devtools.build.lib.packages.RuleClass;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
@@ -54,7 +52,6 @@
private final Map<String, String> docVariables = new HashMap<>();
// Only one attribute per attributeName is allowed
private final Set<RuleDocumentationAttribute> attributes = new TreeSet<>();
- private final ConfiguredRuleClassProvider ruleClassProvider;
private RuleLinkExpander linkExpander;
@@ -75,7 +72,6 @@
int startLineCount,
String fileName,
ImmutableSet<String> flags,
- ConfiguredRuleClassProvider ruleClassProvider,
String familySummary)
throws BuildEncyclopediaDocException {
Preconditions.checkNotNull(ruleName);
@@ -91,7 +87,6 @@
this.startLineCount = startLineCount;
this.fileName = fileName;
this.flags = flags;
- this.ruleClassProvider = ruleClassProvider;
this.familySummary = familySummary;
}
@@ -102,8 +97,7 @@
String htmlDocumentation,
int startLineCount,
String fileName,
- ImmutableSet<String> flags,
- ConfiguredRuleClassProvider ruleClassProvider)
+ ImmutableSet<String> flags)
throws BuildEncyclopediaDocException {
this(
ruleName,
@@ -113,7 +107,6 @@
startLineCount,
fileName,
flags,
- ruleClassProvider,
"");
}
@@ -267,14 +260,6 @@
}
/**
- * Returns whether this rule has public visibility by default.
- */
- public boolean isPublicByDefault() {
- RuleClass ruleClass = ruleClassProvider.getRuleClassMap().get(ruleName);
- return ruleClass != null && ruleClass.isPublicByDefault();
- }
-
- /**
* Returns whether this rule is deprecated.
*/
public boolean isDeprecated() {
diff --git a/src/main/java/com/google/devtools/build/docgen/SourceFileReader.java b/src/main/java/com/google/devtools/build/docgen/SourceFileReader.java
index bb26b1b..2109bc4 100644
--- a/src/main/java/com/google/devtools/build/docgen/SourceFileReader.java
+++ b/src/main/java/com/google/devtools/build/docgen/SourceFileReader.java
@@ -207,7 +207,6 @@
getLineCnt(),
javaSourceFilePath,
flags,
- ruleClassProvider,
familySummary));
sb = new StringBuilder();
inBlazeRuleDocs = false;
diff --git a/src/main/java/com/google/devtools/build/docgen/templates/be/rules.vm b/src/main/java/com/google/devtools/build/docgen/templates/be/rules.vm
index e867fb3..6862635 100644
--- a/src/main/java/com/google/devtools/build/docgen/templates/be/rules.vm
+++ b/src/main/java/com/google/devtools/build/docgen/templates/be/rules.vm
@@ -73,9 +73,6 @@
#end
</tbody>
</table>
- #if ($rule.isPublicByDefault())
- The default visibility is public: <code>visibility = ["//visibility:public"]</code>.
- #end
#end
#if (!$singlePage)
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Rule.java b/src/main/java/com/google/devtools/build/lib/packages/Rule.java
index d3a3acb..a85329b 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Rule.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Rule.java
@@ -664,10 +664,6 @@
return visibility;
}
- if (getRuleClassObject().isPublicByDefault()) {
- return ConstantRuleVisibility.PUBLIC;
- }
-
return pkg.getDefaultVisibility();
}
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 ef42c40..e2657e8 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
@@ -657,7 +657,6 @@
private final boolean starlark;
private boolean starlarkTestable = false;
private boolean documented;
- private boolean publicByDefault = false;
private boolean binaryOutput = true;
private boolean workspaceOnly = false;
private boolean isExecutableStarlark = false;
@@ -875,7 +874,6 @@
starlark,
starlarkTestable,
documented,
- publicByDefault,
binaryOutput,
workspaceOnly,
isExecutableStarlark,
@@ -1048,11 +1046,6 @@
return this;
}
- public Builder publicByDefault() {
- publicByDefault = true;
- return this;
- }
-
public Builder setWorkspaceOnly() {
workspaceOnly = true;
return this;
@@ -1557,7 +1550,6 @@
private final boolean isStarlark;
private final boolean starlarkTestable;
private final boolean documented;
- private final boolean publicByDefault;
private final boolean binaryOutput;
private final boolean workspaceOnly;
private final boolean isExecutableStarlark;
@@ -1695,7 +1687,6 @@
boolean isStarlark,
boolean starlarkTestable,
boolean documented,
- boolean publicByDefault,
boolean binaryOutput,
boolean workspaceOnly,
boolean isExecutableStarlark,
@@ -1734,7 +1725,6 @@
this.targetKind = name + Rule.targetKindSuffix();
this.starlarkTestable = starlarkTestable;
this.documented = documented;
- this.publicByDefault = publicByDefault;
this.binaryOutput = binaryOutput;
this.implicitOutputsFunction = implicitOutputsFunction;
this.transitionFactory = transitionFactory;
@@ -2550,10 +2540,6 @@
return documented;
}
- public boolean isPublicByDefault() {
- return publicByDefault;
- }
-
/**
* Returns true iff the outputs of this rule should be created beneath the
* <i>bin</i> directory, false if beneath <i>genfiles</i>. For most rule
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleFormatter.java b/src/main/java/com/google/devtools/build/lib/packages/RuleFormatter.java
index 37299e1..03af089 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RuleFormatter.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RuleFormatter.java
@@ -37,7 +37,6 @@
Build.Rule.Builder builder = Build.Rule.newBuilder();
builder.setName(rule.getLabel().getName());
builder.setRuleClass(rule.getRuleClass());
- builder.setPublicByDefault(rule.getRuleClassObject().isPublicByDefault());
RawAttributeMapper rawAttributeMapper = RawAttributeMapper.of(rule);
boolean isStarlark = rule.getRuleClassObject().isStarlark();
diff --git a/src/main/protobuf/build.proto b/src/main/protobuf/build.proto
index 181a8e4..a822f1f 100644
--- a/src/main/protobuf/build.proto
+++ b/src/main/protobuf/build.proto
@@ -308,7 +308,7 @@
repeated string default_setting = 7;
// The rule's class's public by default value.
- optional bool public_by_default = 9;
+ optional bool DEPRECATED_public_by_default = 9;
optional bool DEPRECATED_is_skylark = 10;
diff --git a/src/test/java/com/google/devtools/build/docgen/RuleDocumentationTest.java b/src/test/java/com/google/devtools/build/docgen/RuleDocumentationTest.java
index 54d1c2b..4b75151 100644
--- a/src/test/java/com/google/devtools/build/docgen/RuleDocumentationTest.java
+++ b/src/test/java/com/google/devtools/build/docgen/RuleDocumentationTest.java
@@ -19,8 +19,6 @@
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.docgen.testutil.TestData.TestRule;
-import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider;
-import com.google.devtools.build.lib.testutil.TestRuleClassProvider;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@@ -32,8 +30,6 @@
public class RuleDocumentationTest {
private static final ImmutableSet<String> NO_FLAGS = ImmutableSet.<String>of();
- private static final ConfiguredRuleClassProvider provider =
- TestRuleClassProvider.getRuleClassProvider();
private static void assertContains(String base, String value) {
assertWithMessage(base + " is expected to contain " + value)
@@ -58,12 +54,15 @@
@Test
public void testVariableSubstitution() throws BuildEncyclopediaDocException {
- RuleDocumentation ruleDoc = new RuleDocumentation(
- "rule", "OTHER", "FOO", Joiner.on("\n").join(new String[] {
- "x",
- "${VAR}",
- "z"}),
- 0, "", ImmutableSet.<String>of(), provider);
+ RuleDocumentation ruleDoc =
+ new RuleDocumentation(
+ "rule",
+ "OTHER",
+ "FOO",
+ Joiner.on("\n").join(new String[] {"x", "${VAR}", "z"}),
+ 0,
+ "",
+ ImmutableSet.<String>of());
ruleDoc.addDocVariable("VAR", "y");
assertThat(ruleDoc.getHtmlDocumentation()).isEqualTo("x\ny\nz");
}
@@ -74,8 +73,9 @@
"licenses", "common", "attribute doc");
checkAttributeForRule(
new RuleDocumentation(
- "java_binary", "BINARY", "JAVA", "", 0, "", ImmutableSet.<String>of(), provider),
- licensesAttr, true);
+ "java_binary", "BINARY", "JAVA", "", 0, "", ImmutableSet.<String>of()),
+ licensesAttr,
+ true);
}
@Test
@@ -84,31 +84,36 @@
"runtime_deps", "attribute doc", 0, "", NO_FLAGS);
checkAttributeForRule(
new RuleDocumentation(
- "java_binary", "BINARY", "JAVA", "", 0, "", ImmutableSet.<String>of(), provider),
- runtimeDepsAttr, false);
+ "java_binary", "BINARY", "JAVA", "", 0, "", ImmutableSet.<String>of()),
+ runtimeDepsAttr,
+ false);
checkAttributeForRule(
new RuleDocumentation(
- "java_library", "LIBRARY", "JAVA", "", 0, "", ImmutableSet.<String>of(), provider),
- runtimeDepsAttr, false);
+ "java_library", "LIBRARY", "JAVA", "", 0, "", ImmutableSet.<String>of()),
+ runtimeDepsAttr,
+ false);
}
@Test
public void testRuleDocFlagSubstitution() throws BuildEncyclopediaDocException {
- RuleDocumentation ruleDoc = new RuleDocumentation(
- "rule", "OTHER", "FOO", "x", 0, "", ImmutableSet.<String>of("DEPRECATED"), provider);
+ RuleDocumentation ruleDoc =
+ new RuleDocumentation(
+ "rule", "OTHER", "FOO", "x", 0, "", ImmutableSet.<String>of("DEPRECATED"));
ruleDoc.addDocVariable("VAR", "y");
assertThat(ruleDoc.getHtmlDocumentation()).isEqualTo("x");
}
@Test
public void testCommandLineDocumentation() throws BuildEncyclopediaDocException {
- RuleDocumentation ruleDoc = new RuleDocumentation(
- "foo_binary", "OTHER", "FOO", Joiner.on("\n").join(new String[] {
- "x",
- "y",
- "z",
- "${VAR}"}),
- 0, "", ImmutableSet.<String>of(), provider);
+ RuleDocumentation ruleDoc =
+ new RuleDocumentation(
+ "foo_binary",
+ "OTHER",
+ "FOO",
+ Joiner.on("\n").join(new String[] {"x", "y", "z", "${VAR}"}),
+ 0,
+ "",
+ ImmutableSet.<String>of());
ruleDoc.addDocVariable("VAR", "w");
RuleDocumentationAttribute attributeDoc = RuleDocumentationAttribute.create(TestRule.class,
"srcs", "attribute doc", 0, "", NO_FLAGS);
@@ -118,60 +123,63 @@
@Test
public void testExtractExamples() throws BuildEncyclopediaDocException {
- RuleDocumentation ruleDoc = new RuleDocumentation(
- "rule", "OTHER", "FOO", Joiner.on("\n").join(new String[] {
- "x",
- "<!-- #BLAZE_RULE.EXAMPLE -->",
- "a",
- "<!-- #BLAZE_RULE.END_EXAMPLE -->",
- "y",
- "<!-- #BLAZE_RULE.EXAMPLE -->",
- "b",
- "<!-- #BLAZE_RULE.END_EXAMPLE -->",
- "z"}),
- 0, "", ImmutableSet.<String>of(), provider);
+ RuleDocumentation ruleDoc =
+ new RuleDocumentation(
+ "rule",
+ "OTHER",
+ "FOO",
+ Joiner.on("\n")
+ .join(
+ new String[] {
+ "x",
+ "<!-- #BLAZE_RULE.EXAMPLE -->",
+ "a",
+ "<!-- #BLAZE_RULE.END_EXAMPLE -->",
+ "y",
+ "<!-- #BLAZE_RULE.EXAMPLE -->",
+ "b",
+ "<!-- #BLAZE_RULE.END_EXAMPLE -->",
+ "z"
+ }),
+ 0,
+ "",
+ ImmutableSet.<String>of());
assertThat(ruleDoc.extractExamples()).isEqualTo(ImmutableSet.<String>of("a\n", "b\n"));
}
@Test
public void testCreateExceptions() throws BuildEncyclopediaDocException {
- RuleDocumentation ruleDoc = new RuleDocumentation(
- "foo_binary", "OTHER", "FOO", "", 10, "foo.txt", NO_FLAGS, provider);
+ RuleDocumentation ruleDoc =
+ new RuleDocumentation("foo_binary", "OTHER", "FOO", "", 10, "foo.txt", NO_FLAGS);
BuildEncyclopediaDocException e = ruleDoc.createException("msg");
assertThat(e).hasMessageThat().isEqualTo("Error in foo.txt:10: msg");
}
@Test
public void testEquals() throws BuildEncyclopediaDocException {
- assertThat(new RuleDocumentation("rule", "OTHER", "FOO", "y", 0, "", NO_FLAGS, provider))
- .isEqualTo(new RuleDocumentation("rule", "OTHER", "FOO", "x", 0, "", NO_FLAGS, provider));
+ assertThat(new RuleDocumentation("rule", "OTHER", "FOO", "y", 0, "", NO_FLAGS))
+ .isEqualTo(new RuleDocumentation("rule", "OTHER", "FOO", "x", 0, "", NO_FLAGS));
}
@Test
public void testNotEquals() throws BuildEncyclopediaDocException {
assertThat(
- new RuleDocumentation("rule1", "OTHER", "FOO", "x", 0, "", NO_FLAGS, provider)
- .equals(
- new RuleDocumentation("rule2", "OTHER", "FOO", "y", 0, "", NO_FLAGS, provider)))
+ new RuleDocumentation("rule1", "OTHER", "FOO", "x", 0, "", NO_FLAGS)
+ .equals(new RuleDocumentation("rule2", "OTHER", "FOO", "y", 0, "", NO_FLAGS)))
.isFalse();
}
@Test
public void testCompareTo() throws BuildEncyclopediaDocException {
assertThat(
- new RuleDocumentation("rule1", "OTHER", "FOO", "x", 0, "", NO_FLAGS, provider)
- .compareTo(
- new RuleDocumentation("rule2", "OTHER", "FOO", "x", 0, "", NO_FLAGS, provider)))
+ new RuleDocumentation("rule1", "OTHER", "FOO", "x", 0, "", NO_FLAGS)
+ .compareTo(new RuleDocumentation("rule2", "OTHER", "FOO", "x", 0, "", NO_FLAGS)))
.isEqualTo(-1);
}
@Test
public void testHashCode() throws BuildEncyclopediaDocException {
- assertThat(
- new RuleDocumentation("rule", "OTHER", "FOO", "y", 0, "", NO_FLAGS, provider)
- .hashCode())
- .isEqualTo(
- new RuleDocumentation("rule", "OTHER", "FOO", "x", 0, "", NO_FLAGS, provider)
- .hashCode());
+ assertThat(new RuleDocumentation("rule", "OTHER", "FOO", "y", 0, "", NO_FLAGS).hashCode())
+ .isEqualTo(new RuleDocumentation("rule", "OTHER", "FOO", "x", 0, "", NO_FLAGS).hashCode());
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java b/src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java
index c7d1261..6d08e04 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java
@@ -114,7 +114,6 @@
false,
false,
false,
- false,
ImplicitOutputsFunction.NONE,
null,
DUMMY_CONFIGURED_TARGET_FACTORY,
@@ -150,7 +149,6 @@
false,
false,
false,
- false,
ImplicitOutputsFunction.NONE,
null,
DUMMY_CONFIGURED_TARGET_FACTORY,
@@ -279,7 +277,6 @@
false,
false,
false,
- false,
ImplicitOutputsFunction.NONE,
null,
DUMMY_CONFIGURED_TARGET_FACTORY,
@@ -325,7 +322,6 @@
false,
false,
false,
- false,
ImplicitOutputsFunction.NONE,
null,
DUMMY_CONFIGURED_TARGET_FACTORY,
@@ -422,7 +418,6 @@
false,
false,
false,
- false,
ImplicitOutputsFunction.fromTemplates(
"foo-%{name}.bar", "lib%{name}-wazoo-%{name}.mumble", "stuff-%{outs}-bar"),
null,
@@ -463,7 +458,6 @@
false,
false,
false,
- false,
ImplicitOutputsFunction.fromTemplates("%{dirname}lib%{basename}.bar"),
null,
DUMMY_CONFIGURED_TARGET_FACTORY,
@@ -498,7 +492,6 @@
false,
false,
false,
- false,
ImplicitOutputsFunction.fromTemplates("empty"),
null,
DUMMY_CONFIGURED_TARGET_FACTORY,
@@ -666,7 +659,6 @@
false,
false,
false,
- false,
ImplicitOutputsFunction.fromTemplates("first-%{name}", "second-%{name}", "out-%{outs}"),
null,
DUMMY_CONFIGURED_TARGET_FACTORY,
@@ -708,7 +700,6 @@
false,
false,
false,
- false,
ImplicitOutputsFunction.NONE,
null,
DUMMY_CONFIGURED_TARGET_FACTORY,
@@ -860,7 +851,6 @@
String name,
boolean starlarkExecutable,
boolean documented,
- boolean publicByDefault,
boolean binaryOutput,
boolean workspaceOnly,
boolean outputsDefaultExecutable,
@@ -884,7 +874,6 @@
/*isStarlark=*/ starlarkExecutable,
/*starlarkTestable=*/ false,
documented,
- publicByDefault,
binaryOutput,
workspaceOnly,
outputsDefaultExecutable,
@@ -929,7 +918,6 @@
false,
false,
false,
- false,
ImplicitOutputsFunction.NONE,
null,
DUMMY_CONFIGURED_TARGET_FACTORY,