aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-03-25 12:42:11 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-25 12:43:29 -0700
commitbffa2db380cb3ca2fd9262ac5a45d02518376e03 (patch)
tree47dc56bbd36490f207fd11c36610e9d70050e51a /src/main/java/com/google/devtools/build
parent00408d666b8a61c80e41dcb7615ec9b625497e61 (diff)
@AutoCodec some more classes needed for large Java builds.
PiperOrigin-RevId: 190392567
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/PseudoAction.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/ConfigurationFragmentPolicy.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/OneVersionCheckActionBuilder.java12
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoLibraryAspectProvider.java2
5 files changed, 25 insertions, 11 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java
index c30a9ed394..c373257370 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java
@@ -32,6 +32,7 @@ import com.google.devtools.build.lib.packages.AspectParameters;
import com.google.devtools.build.lib.packages.Info;
import com.google.devtools.build.lib.packages.Provider;
import com.google.devtools.build.lib.packages.SkylarkProviderIdentifier;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.syntax.EvalException;
import java.util.Arrays;
import java.util.Map;
@@ -54,11 +55,13 @@ import javax.annotation.Nullable;
* @see com.google.devtools.build.lib.packages.AspectClass
*/
@Immutable
+@AutoCodec
public final class ConfiguredAspect {
private final TransitiveInfoProviderMap providers;
private final AspectDescriptor descriptor;
- private ConfiguredAspect(AspectDescriptor descriptor, TransitiveInfoProviderMap providers) {
+ @AutoCodec.VisibleForSerialization
+ ConfiguredAspect(AspectDescriptor descriptor, TransitiveInfoProviderMap providers) {
this.descriptor = descriptor;
this.providers = providers;
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/PseudoAction.java b/src/main/java/com/google/devtools/build/lib/analysis/PseudoAction.java
index 52b3ee2ada..ad44b91e81 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/PseudoAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/PseudoAction.java
@@ -24,6 +24,7 @@ import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.CommandLineExpansionException;
import com.google.devtools.build.lib.actions.extra.ExtraActionInfo;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.util.Fingerprint;
import com.google.protobuf.GeneratedMessage.GeneratedExtension;
import com.google.protobuf.MessageLite;
@@ -35,9 +36,12 @@ import java.util.UUID;
* about rules to extra_actions.
*/
public class PseudoAction<InfoType extends MessageLite> extends AbstractAction {
- private final UUID uuid;
+ @AutoCodec.VisibleForSerialization protected final UUID uuid;
private final String mnemonic;
- private final GeneratedExtension<ExtraActionInfo, InfoType> infoExtension;
+
+ @AutoCodec.VisibleForSerialization
+ protected final GeneratedExtension<ExtraActionInfo, InfoType> infoExtension;
+
private final InfoType info;
public PseudoAction(UUID uuid, ActionOwner owner,
diff --git a/src/main/java/com/google/devtools/build/lib/packages/ConfigurationFragmentPolicy.java b/src/main/java/com/google/devtools/build/lib/packages/ConfigurationFragmentPolicy.java
index 0dabcab865..59b534ea1a 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/ConfigurationFragmentPolicy.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/ConfigurationFragmentPolicy.java
@@ -20,14 +20,16 @@ import com.google.common.collect.LinkedHashMultimap;
import com.google.common.collect.SetMultimap;
import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransition;
import com.google.devtools.build.lib.analysis.config.transitions.NoTransition;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import java.util.Collection;
import java.util.Set;
/**
- * Policy used to express the set of configuration fragments which are legal for a rule or aspect
- * to access.
+ * Policy used to express the set of configuration fragments which are legal for a rule or aspect to
+ * access.
*/
+@AutoCodec
public final class ConfigurationFragmentPolicy {
/**
@@ -188,7 +190,8 @@ public final class ConfigurationFragmentPolicy {
*/
private final MissingFragmentPolicy missingFragmentPolicy;
- private ConfigurationFragmentPolicy(
+ @AutoCodec.VisibleForSerialization
+ ConfigurationFragmentPolicy(
ImmutableSetMultimap<ConfigurationTransition, Class<?>> requiredConfigurationFragments,
ImmutableSetMultimap<ConfigurationTransition, String> requiredConfigurationFragmentNames,
MissingFragmentPolicy missingFragmentPolicy) {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/OneVersionCheckActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/java/OneVersionCheckActionBuilder.java
index 1cf0188d29..38f1827373 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/OneVersionCheckActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/OneVersionCheckActionBuilder.java
@@ -18,6 +18,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
import com.google.common.base.Preconditions;
import com.google.devtools.build.lib.actions.Artifact;
+import com.google.devtools.build.lib.actions.CommandLineItem;
import com.google.devtools.build.lib.actions.ParamFileInfo;
import com.google.devtools.build.lib.actions.ParameterFile.ParameterFileType;
import com.google.devtools.build.lib.analysis.RuleContext;
@@ -27,7 +28,7 @@ import com.google.devtools.build.lib.analysis.actions.SpawnAction;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.rules.java.JavaConfiguration.OneVersionEnforcementLevel;
-import java.util.function.Consumer;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
/** Utility for generating a call to the one-version binary. */
public final class OneVersionCheckActionBuilder {
@@ -112,12 +113,13 @@ public final class OneVersionCheckActionBuilder {
}
static VectorArg<String> jarAndTargetVectorArg(NestedSet<Artifact> jarsToCheck) {
- return VectorArg.of(jarsToCheck).mapped(OneVersionCheckActionBuilder::expandToJarAndTarget);
+ return VectorArg.of(jarsToCheck).mapped(EXPAND_TO_JAR_AND_TARGET);
}
- private static void expandToJarAndTarget(Artifact jar, Consumer<String> args) {
- args.accept(jar.getExecPathString() + "," + getArtifactOwnerGeneralizedLabel(jar));
- }
+ @AutoCodec @AutoCodec.VisibleForSerialization
+ static final CommandLineItem.MapFn<Artifact> EXPAND_TO_JAR_AND_TARGET =
+ (jar, args) ->
+ args.accept(jar.getExecPathString() + "," + getArtifactOwnerGeneralizedLabel(jar));
private static String getArtifactOwnerGeneralizedLabel(Artifact artifact) {
Label label = checkNotNull(artifact.getArtifactOwner(), artifact).getLabel();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoLibraryAspectProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoLibraryAspectProvider.java
index 8998ac1db5..55b185a251 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoLibraryAspectProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoLibraryAspectProvider.java
@@ -19,8 +19,10 @@ import com.google.devtools.build.lib.analysis.TransitiveInfoProviderMap;
import com.google.devtools.build.lib.analysis.WrappingProvider;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.rules.java.JavaCompilationArgs;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
/** A provider used to communicate information between java_proto_library and its aspect. */
+@AutoCodec
public class JavaProtoLibraryAspectProvider implements WrappingProvider {
private final TransitiveInfoProviderMap transitiveInfoProviderMap;
private final NestedSet<Artifact> jars;