aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2018-01-30 09:17:49 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-30 09:19:57 -0800
commit47c04a127e918b7c98446dd9b7076a0c1970e578 (patch)
tree3ec24e359feb1801efd240fc3e09da6a05aaf221 /src/main/java/com
parent5a3aa588e2320f32e73c43dbf04ed67b19c4ae85 (diff)
Some simplifications for package serialization.
PiperOrigin-RevId: 183842057
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/Package.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/PackageSerializerInterface.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/SkylarkInfo.java3
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;