Automated rollback of commit b919a1dd3ed520e5e527d1bca6db106146f5c58d.
*** Reason for rollback ***
Breaks TGP: []
*** Original change description ***
Add an explicit bit to actions that tells whether they are shareable or not.
This bit is set to "true" by default everywhere except on CppCompileActions that are not used for linkstamp data compilation.
RELNOTES: None.
PiperOrigin-RevId: 211798703
diff --git a/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java b/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java
index fc80892..4156175 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java
@@ -322,11 +322,6 @@
}
@Override
- public boolean isShareable() {
- return true;
- }
-
- @Override
public boolean showsOutputUnconditionally() {
return false;
}
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ActionAnalysisMetadata.java b/src/main/java/com/google/devtools/build/lib/actions/ActionAnalysisMetadata.java
index d39d7a5..d86224b 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/ActionAnalysisMetadata.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/ActionAnalysisMetadata.java
@@ -31,14 +31,6 @@
ActionOwner getOwner();
/**
- * Returns true if the action can be shared, i.e. multiple configured targets can create the same
- * action.
- *
- * <p>In theory, these should not exist, but in practice, they do.
- */
- boolean isShareable();
-
- /**
* Returns a mnemonic (string constant) for this kind of action; written into
* the master log so that the appropriate parser can be invoked for the output
* of the action. Effectively a public method as the value is used by the
diff --git a/src/main/java/com/google/devtools/build/lib/actions/Actions.java b/src/main/java/com/google/devtools/build/lib/actions/Actions.java
index 4e9fb5e..a3a6ba6 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/Actions.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/Actions.java
@@ -58,10 +58,6 @@
*/
public static boolean canBeShared(
ActionKeyContext actionKeyContext, ActionAnalysisMetadata a, ActionAnalysisMetadata b) {
- if (!a.isShareable() || !b.isShareable()) {
- return false;
- }
-
if (!a.getMnemonic().equals(b.getMnemonic())) {
return false;
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplate.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplate.java
index ab54b4f..fcb1766 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplate.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplate.java
@@ -156,11 +156,6 @@
}
@Override
- public boolean isShareable() {
- return true;
- }
-
- @Override
public final String getMnemonic() {
return mnemonic;
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
index b74cdbd..a028a5d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
@@ -104,7 +104,6 @@
private final NestedSet<Artifact> additionalPrunableHeaders;
@Nullable private final Artifact grepIncludes;
- private final boolean shareable;
private final boolean shouldScanIncludes;
private final boolean shouldPruneModules;
private final boolean usePic;
@@ -201,7 +200,6 @@
CcToolchainVariables variables,
Artifact sourceFile,
CppConfiguration cppConfiguration,
- boolean shareable,
boolean shouldScanIncludes,
boolean shouldPruneModules,
boolean usePic,
@@ -238,7 +236,6 @@
Preconditions.checkArgument(!shouldPruneModules || shouldScanIncludes);
this.outputFile = Preconditions.checkNotNull(outputFile);
this.sourceFile = sourceFile;
- this.shareable = shareable;
this.cppConfiguration = cppConfiguration;
// We do not need to include the middleman artifact since it is a generated artifact and will
// definitely exist prior to this action execution.
@@ -987,11 +984,6 @@
}
@Override
- public boolean isShareable() {
- return shareable;
- }
-
- @Override
public void computeKey(ActionKeyContext actionKeyContext, Fingerprint fp) {
fp.addUUID(actionClassId);
fp.addStringMap(env.getFixedEnv());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java
index 4ac5cc9..000eca8 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java
@@ -50,7 +50,6 @@
public static final UUID GUID = UUID.fromString("97493805-894f-493a-be66-9a698f45c31d");
private final ActionOwner owner;
- private boolean shareable;
private final BuildConfiguration configuration;
private CcToolchainFeatures.FeatureConfiguration featureConfiguration;
private CcToolchainVariables variables = CcToolchainVariables.EMPTY;
@@ -113,7 +112,6 @@
CcToolchainProvider ccToolchain,
@Nullable Artifact grepIncludes) {
this.owner = actionOwner;
- this.shareable = false;
this.configuration = configuration;
this.cppConfiguration = configuration.getFragment(CppConfiguration.class);
this.mandatoryInputsBuilder = NestedSetBuilder.stableOrder();
@@ -130,7 +128,6 @@
*/
public CppCompileActionBuilder(CppCompileActionBuilder other) {
this.owner = other.owner;
- this.shareable = other.shareable;
this.featureConfiguration = other.featureConfiguration;
this.sourceFile = other.sourceFile;
this.mandatoryInputsBuilder = NestedSetBuilder.<Artifact>stableOrder()
@@ -307,7 +304,6 @@
variables,
sourceFile,
cppConfiguration,
- shareable,
shouldScanIncludes,
shouldPruneModules(),
usePic,
@@ -335,7 +331,6 @@
variables,
sourceFile,
cppConfiguration,
- shareable,
shouldScanIncludes,
shouldPruneModules(),
usePic,
@@ -602,11 +597,6 @@
return this;
}
- public CppCompileActionBuilder setShareable(boolean shareable) {
- this.shareable = shareable;
- return this;
- }
-
public CppCompileActionBuilder setShouldScanIncludes(boolean shouldScanIncludes) {
this.shouldScanIncludes = shouldScanIncludes;
return this;
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionTemplate.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionTemplate.java
index 7b2a752..c183877 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionTemplate.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionTemplate.java
@@ -189,11 +189,6 @@
}
@Override
- public boolean isShareable() {
- return false;
- }
-
- @Override
public final String getMnemonic() {
return "CppCompileActionTemplate";
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkstampCompileHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkstampCompileHelper.java
index 1e52447..2fef020 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkstampCompileHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkstampCompileHelper.java
@@ -75,7 +75,6 @@
.setBuiltinIncludeFiles(buildInfoHeaderArtifacts)
.addMandatoryInputs(nonCodeInputs)
.setCppConfiguration(cppConfiguration)
- .setShareable(true)
.setShouldScanIncludes(false)
.setActionName(CppActionNames.LINKSTAMP_COMPILE);
semantics.finalizeCompileActionBuilder(ruleContext, builder);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
index f848d65..362ada1 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
@@ -63,7 +63,6 @@
CcToolchainVariables variables,
Artifact sourceFile,
CppConfiguration cppConfiguration,
- boolean shareable,
boolean shouldScanIncludes,
boolean shouldPruneModules,
boolean usePic,
@@ -89,7 +88,6 @@
variables,
sourceFile,
cppConfiguration,
- shareable,
shouldScanIncludes,
shouldPruneModules,
usePic,
diff --git a/src/test/java/com/google/devtools/build/lib/actions/ResourceManagerTest.java b/src/test/java/com/google/devtools/build/lib/actions/ResourceManagerTest.java
index 233efc0..4d25bde 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/ResourceManagerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/ResourceManagerTest.java
@@ -484,11 +484,6 @@
}
@Override
- public boolean isShareable() {
- throw new IllegalStateException();
- }
-
- @Override
public String prettyPrint() {
throw new IllegalStateException();
}
diff --git a/src/test/java/com/google/devtools/build/lib/exec/util/FakeOwner.java b/src/test/java/com/google/devtools/build/lib/exec/util/FakeOwner.java
index 49bb3f8..aaf7197 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/util/FakeOwner.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/util/FakeOwner.java
@@ -60,11 +60,6 @@
}
@Override
- public boolean isShareable() {
- return false;
- }
-
- @Override
public String getMnemonic() {
return mnemonic;
}