diff options
author | 2018-06-14 11:50:05 -0700 | |
---|---|---|
committer | 2018-06-14 11:51:24 -0700 | |
commit | 4aded44c9d3b69a82f962294ceb367c5e056583d (patch) | |
tree | 3c32e7c0bf00ba2e0eb328d67aea78c2241669c4 /src/main/java/com/google/devtools/build | |
parent | 654c77c603c039142d8b257f47bdaf14ac507c47 (diff) |
SerializationCheckingGraph checks all ConfiguredTargetValues.
PiperOrigin-RevId: 200593618
Diffstat (limited to 'src/main/java/com/google/devtools/build')
3 files changed, 17 insertions, 14 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java index 8cb592419d..4b3268f31f 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java @@ -18,6 +18,7 @@ import com.google.devtools.build.lib.rules.android.AndroidConfiguration.AndroidA import com.google.devtools.build.lib.rules.android.AndroidDataConverter.JoinerType; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization; +import java.io.Serializable; import java.util.function.Function; /** Builds up the spawn action for $android_rclass_generator. */ @@ -97,12 +98,13 @@ public class RClassGeneratorActionBuilder { private static Function<ValidatedAndroidData, String> chooseDepsToArg( final AndroidAaptVersion version) { - return container -> { - Artifact rTxt = - version == AndroidAaptVersion.AAPT2 ? container.getAapt2RTxt() : container.getRTxt(); - return (rTxt != null ? rTxt.getExecPath() : "") - + "," - + (container.getManifest() != null ? container.getManifest().getExecPath() : ""); - }; + return (Function<ValidatedAndroidData, String> & Serializable) + container -> { + Artifact rTxt = + version == AndroidAaptVersion.AAPT2 ? container.getAapt2RTxt() : container.getRTxt(); + return (rTxt != null ? rTxt.getExecPath() : "") + + "," + + (container.getManifest() != null ? container.getManifest().getExecPath() : ""); + }; } } diff --git a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlag.java b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlag.java index 4326d4a23c..dd34a57b44 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlag.java +++ b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlag.java @@ -39,6 +39,7 @@ import com.google.devtools.build.lib.packages.Attribute; import com.google.devtools.build.lib.packages.Attribute.ComputedDefault; import com.google.devtools.build.lib.packages.AttributeMap; import com.google.devtools.build.lib.syntax.Printer; +import java.io.Serializable; import java.util.List; import java.util.Optional; @@ -101,7 +102,7 @@ public class ConfigFeatureFlag implements RuleConfiguredTargetFactory { List<String> specifiedValues = ruleContext.attributes().get("allowed_values", STRING_LIST); ImmutableSet<String> values = ImmutableSet.copyOf(specifiedValues); - Predicate<String> isValidValue = Predicates.in(values); + Predicate<String> isValidValue = (Predicate<String> & Serializable) Predicates.in(values); if (values.size() != specifiedValues.size()) { ImmutableMultiset<String> groupedValues = ImmutableMultiset.copyOf(specifiedValues); ImmutableList.Builder<String> duplicates = new ImmutableList.Builder<String>(); 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 9e8b583d7e..f188e09c52 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 @@ -73,7 +73,7 @@ public class CppCompileActionBuilder { private UUID actionClassId = GUID; private CppConfiguration cppConfiguration; private ImmutableMap<Artifact, IncludeScannable> lipoScannableMap; - private final ImmutableList.Builder<Artifact> additionalIncludeScanningRoots; + private final ArrayList<Artifact> additionalIncludeScanningRoots; private Boolean shouldScanIncludes; private Map<String, String> executionInfo = new LinkedHashMap<>(); private CppSemantics cppSemantics; @@ -121,7 +121,7 @@ public class CppCompileActionBuilder { this.cppConfiguration = configuration.getFragment(CppConfiguration.class); this.lipoScannableMap = ImmutableMap.copyOf(lipoScannableMap); this.mandatoryInputsBuilder = NestedSetBuilder.stableOrder(); - this.additionalIncludeScanningRoots = new ImmutableList.Builder<>(); + this.additionalIncludeScanningRoots = new ArrayList<>(); this.allowUsingHeaderModules = true; this.env = configuration.getActionEnvironment(); this.codeCoverageEnabled = configuration.isCodeCoverageEnabled(); @@ -139,8 +139,8 @@ public class CppCompileActionBuilder { this.mandatoryInputsBuilder = NestedSetBuilder.<Artifact>stableOrder() .addTransitive(other.mandatoryInputsBuilder.build()); this.inputsForInvalidation = other.inputsForInvalidation; - this.additionalIncludeScanningRoots = - new ImmutableList.Builder<Artifact>().addAll(other.additionalIncludeScanningRoots.build()); + this.additionalIncludeScanningRoots = new ArrayList<>(); + this.additionalIncludeScanningRoots.addAll(other.additionalIncludeScanningRoots); this.outputFile = other.outputFile; this.dwoFile = other.dwoFile; this.ltoIndexingFile = other.ltoIndexingFile; @@ -412,7 +412,7 @@ public class CppCompileActionBuilder { ccCompilationContext, coptsFilter, getLipoScannables(realMandatoryInputs), - additionalIncludeScanningRoots.build(), + ImmutableList.copyOf(additionalIncludeScanningRoots), actionClassId, ImmutableMap.copyOf(executionInfo), getActionName(), @@ -564,7 +564,7 @@ public class CppCompileActionBuilder { } public CppCompileActionBuilder addAdditionalIncludeScanningRoots( - Iterable<Artifact> additionalIncludeScanningRoots) { + List<Artifact> additionalIncludeScanningRoots) { this.additionalIncludeScanningRoots.addAll(additionalIncludeScanningRoots); return this; } |