diff options
author | 2018-01-30 09:17:49 -0800 | |
---|---|---|
committer | 2018-01-30 09:19:57 -0800 | |
commit | 47c04a127e918b7c98446dd9b7076a0c1970e578 (patch) | |
tree | 3ec24e359feb1801efd240fc3e09da6a05aaf221 /src/main/java | |
parent | 5a3aa588e2320f32e73c43dbf04ed67b19c4ae85 (diff) |
Some simplifications for package serialization.
PiperOrigin-RevId: 183842057
Diffstat (limited to 'src/main/java')
4 files changed, 11 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java index 6a389b128d..858ae01f96 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java @@ -824,6 +824,11 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider { return configurationFragmentMap; } + /** Returns all skylark objects in global scope for this RuleClassProvider. */ + public Map<String, Object> getTransitiveGlobalBindings() { + return globals.getTransitiveBindings(); + } + /** Returns all registered {@link BuildConfiguration.Fragment} classes. */ public ImmutableSortedSet<Class<? extends BuildConfiguration.Fragment>> getAllFragments() { ImmutableSortedSet.Builder<Class<? extends BuildConfiguration.Fragment>> fragmentsBuilder = diff --git a/src/main/java/com/google/devtools/build/lib/packages/Package.java b/src/main/java/com/google/devtools/build/lib/packages/Package.java index b07d02aa8d..4bbd3bfe7c 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/Package.java +++ b/src/main/java/com/google/devtools/build/lib/packages/Package.java @@ -1585,7 +1585,7 @@ public class Package { @Override public void serialize( PackageCodecDependencies codecDeps, Package input, CodedOutputStream codedOut) - throws IOException { + throws IOException, SerializationException { codecDeps.getPackageSerializer().serialize(input, codedOut); } diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageSerializerInterface.java b/src/main/java/com/google/devtools/build/lib/packages/PackageSerializerInterface.java index af25075cdc..a06e454a5d 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/PackageSerializerInterface.java +++ b/src/main/java/com/google/devtools/build/lib/packages/PackageSerializerInterface.java @@ -14,6 +14,7 @@ package com.google.devtools.build.lib.packages; +import com.google.devtools.build.lib.skyframe.serialization.SerializationException; import com.google.protobuf.CodedOutputStream; import java.io.IOException; @@ -31,5 +32,6 @@ public interface PackageSerializerInterface { * @param codedOut the stream to write {@code pkg}'s serialized representation to * @throws IOException on failure writing to {@code codedOut} */ - void serialize(Package pkg, CodedOutputStream codedOut) throws IOException; + void serialize(Package pkg, CodedOutputStream codedOut) + throws SerializationException, IOException; } diff --git a/src/main/java/com/google/devtools/build/lib/packages/SkylarkInfo.java b/src/main/java/com/google/devtools/build/lib/packages/SkylarkInfo.java index a2da054efa..8f83d75985 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/SkylarkInfo.java +++ b/src/main/java/com/google/devtools/build/lib/packages/SkylarkInfo.java @@ -230,7 +230,8 @@ public abstract class SkylarkInfo extends Info implements Concatable { } /** A {@link SkylarkInfo} implementation that stores its values in a map. */ - private static final class MapBackedSkylarkInfo extends SkylarkInfo { + // TODO(b/72448383): Make private. + public static final class MapBackedSkylarkInfo extends SkylarkInfo { private final ImmutableMap<String, Object> values; |