aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionValue.java16
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsValue.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionValue.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java17
4 files changed, 32 insertions, 9 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionValue.java
index 9232f7a5ba..fcaa762be7 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionValue.java
@@ -14,8 +14,11 @@
package com.google.devtools.build.lib.skyframe;
import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Interner;
+import com.google.devtools.build.lib.actions.ActionAnalysisMetadata;
import com.google.devtools.build.lib.actions.Actions.GeneratingActions;
+import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.BasicActionLookupValue;
import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoCollection;
import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoFactory;
@@ -24,12 +27,14 @@ import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.concurrent.BlazeInterners;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.skyframe.SkyFunctionName;
+import java.util.ArrayList;
import java.util.Objects;
/**
* Value that stores {@link BuildInfoCollection}s generated by {@link BuildInfoFactory} instances.
* These collections are used during analysis (see {@code CachingAnalysisEnvironment}).
*/
+@AutoCodec
public class BuildInfoCollectionValue extends BasicActionLookupValue {
private final BuildInfoCollection collection;
@@ -41,6 +46,17 @@ public class BuildInfoCollectionValue extends BasicActionLookupValue {
this.collection = collection;
}
+ @AutoCodec.Instantiator
+ @AutoCodec.VisibleForSerialization
+ BuildInfoCollectionValue(
+ ArrayList<ActionAnalysisMetadata> actions,
+ ImmutableMap<Artifact, Integer> generatingActionIndex,
+ BuildInfoCollection collection,
+ boolean removeActionsAfterEvaluation) {
+ super(actions, generatingActionIndex, removeActionsAfterEvaluation);
+ this.collection = collection;
+ }
+
public BuildInfoCollection getCollection() {
return collection;
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsValue.java
index 1f6023d5dd..0796a56495 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsValue.java
@@ -28,6 +28,7 @@ import java.util.Objects;
/**
* A value which represents every toolchain known to Bazel and available for toolchain resolution.
*/
+@AutoCodec
@AutoValue
public abstract class RegisteredToolchainsValue implements SkyValue {
@@ -77,9 +78,10 @@ public abstract class RegisteredToolchainsValue implements SkyValue {
}
}
+ @AutoCodec.Instantiator
public static RegisteredToolchainsValue create(
- Iterable<DeclaredToolchainInfo> registeredToolchains) {
- return new AutoValue_RegisteredToolchainsValue(ImmutableList.copyOf(registeredToolchains));
+ ImmutableList<DeclaredToolchainInfo> registeredToolchains) {
+ return new AutoValue_RegisteredToolchainsValue(registeredToolchains);
}
public abstract ImmutableList<DeclaredToolchainInfo> registeredToolchains();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionValue.java
index de8d329d79..abaa41f2bf 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionValue.java
@@ -30,6 +30,7 @@ import java.util.List;
* type. Callers will need to consider all toolchain types that are required and merge the results
* together appropriately.
*/
+@AutoCodec
@AutoValue
public abstract class ToolchainResolutionValue implements SkyValue {
@@ -76,6 +77,7 @@ public abstract class ToolchainResolutionValue implements SkyValue {
}
}
+ @AutoCodec.Instantiator
public static ToolchainResolutionValue create(
ImmutableMap<ConfiguredTargetKey, Label> availableToolchainLabels) {
return new AutoValue_ToolchainResolutionValue(availableToolchainLabels);
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java
index 0a748f9ea2..20ef47d75b 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java
@@ -26,19 +26,20 @@ import com.google.devtools.build.skyframe.SkyKey;
*/
// TODO(bazel-team): This seems to be superfluous now, but it cannot be removed without making
// PrecomputedValue public instead of package-private
+@AutoCodec
public class WorkspaceStatusValue extends BasicActionLookupValue {
private final Artifact stableArtifact;
private final Artifact volatileArtifact;
// There should only ever be one BuildInfo value in the graph.
- public static final BuildInfoKey BUILD_INFO_KEY = BuildInfoKey.INSTANCE;
+ @AutoCodec public static final BuildInfoKey BUILD_INFO_KEY = new BuildInfoKey();
WorkspaceStatusValue(
Artifact stableArtifact,
Artifact volatileArtifact,
- WorkspaceStatusAction action,
- boolean removeActionAfterEvaluation) {
- super(action, removeActionAfterEvaluation);
+ WorkspaceStatusAction workspaceStatusAction,
+ boolean removeActionsAfterEvaluation) {
+ super(workspaceStatusAction, removeActionsAfterEvaluation);
this.stableArtifact = stableArtifact;
this.volatileArtifact = volatileArtifact;
}
@@ -51,11 +52,13 @@ public class WorkspaceStatusValue extends BasicActionLookupValue {
return volatileArtifact;
}
+ @AutoCodec.VisibleForSerialization
+ WorkspaceStatusAction getWorkspaceStatusAction() {
+ return (WorkspaceStatusAction) getAction(0);
+ }
+
/** {@link SkyKey} for {@link WorkspaceStatusValue}. */
public static class BuildInfoKey extends ActionLookupKey {
- @AutoCodec @AutoCodec.VisibleForSerialization
- static final BuildInfoKey INSTANCE = new BuildInfoKey();
-
private BuildInfoKey() {}
@Override