diff options
author | shahan <shahan@google.com> | 2018-02-13 10:08:47 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-02-13 10:10:14 -0800 |
commit | fae34b9ee464186c628c313eebced9e89d8146f6 (patch) | |
tree | 55d6392acc16aa3c87ada027bf0d92c366c551cc /src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java | |
parent | a3339c8ca2e824757afe698f591770f4232af530 (diff) |
Replaces InjectingObjectCodec with dependencies threaded through (Des|S)erializationContext.
PiperOrigin-RevId: 185547740
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java index abeec41caa..59c5badf37 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java @@ -54,7 +54,6 @@ import com.google.devtools.build.lib.events.EventHandler; import com.google.devtools.build.lib.packages.RuleClassProvider; import com.google.devtools.build.lib.packages.Target; import com.google.devtools.build.lib.skyframe.serialization.DeserializationContext; -import com.google.devtools.build.lib.skyframe.serialization.InjectingObjectCodec; import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec; import com.google.devtools.build.lib.skyframe.serialization.SerializationContext; import com.google.devtools.build.lib.skyframe.serialization.SerializationException; @@ -66,7 +65,6 @@ import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory; import com.google.devtools.build.lib.util.Fingerprint; import com.google.devtools.build.lib.util.OS; import com.google.devtools.build.lib.util.RegexFilter; -import com.google.devtools.build.lib.vfs.FileSystemProvider; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.common.options.Converter; @@ -122,8 +120,7 @@ import javax.annotation.Nullable; + "depend on it and not targets that it depends on." ) public class BuildConfiguration implements BuildConfigurationInterface { - public static final InjectingObjectCodec<BuildConfiguration, FileSystemProvider> CODEC = - new BuildConfigurationCodec(); + public static final ObjectCodec<BuildConfiguration> CODEC = new BuildConfigurationCodec(); /** * Sorts fragments by class name. This produces a stable order which, e.g., facilitates consistent @@ -142,10 +139,9 @@ public class BuildConfiguration implements BuildConfigurationInterface { * declare {@link ImmutableList} signatures on their interfaces vs. {@link List}). This is because * fragment instances may be shared across configurations. */ - @AutoCodec(strategy = AutoCodec.Strategy.POLYMORPHIC, dependency = FileSystemProvider.class) + @AutoCodec(strategy = AutoCodec.Strategy.POLYMORPHIC) public abstract static class Fragment { - public static final InjectingObjectCodec<Fragment, FileSystemProvider> CODEC = - new BuildConfiguration_Fragment_AutoCodec(); + public static final ObjectCodec<Fragment> CODEC = new BuildConfiguration_Fragment_AutoCodec(); /** * Validates the options for this Fragment. Issues warnings for the @@ -2182,8 +2178,7 @@ public class BuildConfiguration implements BuildConfigurationInterface { return GenericBuildEvent.protoChaining(this).setConfiguration(builder.build()).build(); } - private static class BuildConfigurationCodec - implements InjectingObjectCodec<BuildConfiguration, FileSystemProvider> { + private static class BuildConfigurationCodec implements ObjectCodec<BuildConfiguration> { @Override public Class<BuildConfiguration> getEncodedClass() { return BuildConfiguration.class; @@ -2191,31 +2186,28 @@ public class BuildConfiguration implements BuildConfigurationInterface { @Override public void serialize( - FileSystemProvider fsProvider, SerializationContext context, BuildConfiguration obj, CodedOutputStream codedOut) throws SerializationException, IOException { - BlazeDirectories.CODEC.serialize(fsProvider, context, obj.directories, codedOut); + BlazeDirectories.CODEC.serialize(context, obj.directories, codedOut); codedOut.writeInt32NoTag(obj.fragments.size()); for (Fragment fragment : obj.fragments.values()) { - Fragment.CODEC.serialize(fsProvider, context, fragment, codedOut); + Fragment.CODEC.serialize(context, fragment, codedOut); } BuildOptions.CODEC.serialize(context, obj.buildOptions, codedOut); StringCodecs.asciiOptimized().serialize(context, obj.repositoryName, codedOut); } @Override - public BuildConfiguration deserialize( - FileSystemProvider fsProvider, DeserializationContext context, CodedInputStream codedIn) + public BuildConfiguration deserialize(DeserializationContext context, CodedInputStream codedIn) throws SerializationException, IOException { - BlazeDirectories blazeDirectories = - BlazeDirectories.CODEC.deserialize(fsProvider, context, codedIn); + BlazeDirectories blazeDirectories = BlazeDirectories.CODEC.deserialize(context, codedIn); int length = codedIn.readInt32(); ImmutableSortedMap.Builder<Class<? extends Fragment>, Fragment> builder = new ImmutableSortedMap.Builder<>(lexicalFragmentSorter); for (int i = 0; i < length; ++i) { - Fragment fragment = Fragment.CODEC.deserialize(fsProvider, context, codedIn); + Fragment fragment = Fragment.CODEC.deserialize(context, codedIn); builder.put(fragment.getClass(), fragment); } BuildOptions options = BuildOptions.CODEC.deserialize(context, codedIn); |