diff options
author | Googler <noreply@google.com> | 2015-03-25 09:47:41 +0000 |
---|---|---|
committer | Lukacs Berki <lberki@google.com> | 2015-03-25 10:32:29 +0000 |
commit | 9429644499382bf64be71829a42779f478684f9a (patch) | |
tree | 25b674766b0760cdc6f5271ad643021fca0eefb5 /src/main/java/com | |
parent | fdd788e15f71bdc9601d4e73a23b75710dcbaec9 (diff) |
Skylark: native module is updated.
--
MOS_MIGRATED_REVID=89483786
Diffstat (limited to 'src/main/java/com')
4 files changed, 19 insertions, 12 deletions
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 fc2b379263..b7ef184f74 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 @@ -909,6 +909,10 @@ public class Package implements Serializable { return self(); } + MakeEnvironment.Builder getMakeEnvironment() { + return makeEnv; + } + /** * Sets the default visibility for this package. Called at most once per * package from PackageFactory. diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java index df3c002008..353b23e810 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java +++ b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java @@ -139,8 +139,7 @@ public final class PackageFactory { /** * Update the global environment with the identifiers this extension contributes. */ - void update(Environment environment, MakeEnvironment.Builder pkgMakeEnv, - Label buildFileLabel); + void update(Environment environment, Label buildFileLabel); /** * Returns the extra functions needed to be added to the Skylark native module. @@ -1091,6 +1090,13 @@ public final class PackageFactory { public Label getLabel() { return pkgBuilder.getBuildFileLabel(); } + + /** + * Returns the MakeEnvironment Builder of this Package. + */ + public MakeEnvironment.Builder getMakeEnvironment() { + return pkgBuilder.getMakeEnvironment(); + } } /** @@ -1110,7 +1116,7 @@ public final class PackageFactory { } private void buildPkgEnv(Environment pkgEnv, String packageName, - MakeEnvironment.Builder pkgMakeEnv, PackageContext context, RuleFactory ruleFactory) { + PackageContext context, RuleFactory ruleFactory) { pkgEnv.update("distribs", newDistribsFunction(context)); pkgEnv.update("glob", newGlobFunction(context, /*async=*/false)); pkgEnv.update("mocksubinclude", newMockSubincludeFunction(context)); @@ -1129,7 +1135,7 @@ public final class PackageFactory { } for (EnvironmentExtension extension : environmentExtensions) { - extension.update(pkgEnv, pkgMakeEnv, context.pkgBuilder.getBuildFileLabel()); + extension.update(pkgEnv, context.pkgBuilder.getBuildFileLabel()); } } @@ -1178,7 +1184,7 @@ public final class PackageFactory { // Stuff that closes over the package context:` PackageContext context = new PackageContext(pkgBuilder, globber, eventHandler); - buildPkgEnv(pkgEnv, packageId.toString(), pkgMakeEnv, context, ruleFactory); + buildPkgEnv(pkgEnv, packageId.toString(), context, ruleFactory); if (containsError) { pkgBuilder.setContainsErrors(); @@ -1242,7 +1248,7 @@ public final class PackageFactory { // Stuff that closes over the package context: PackageContext context = new PackageContext(pkgBuilder, globber, NullEventHandler.INSTANCE); - buildPkgEnv(pkgEnv, packageId.toString(), pkgMakeEnv, context, ruleFactory); + buildPkgEnv(pkgEnv, packageId.toString(), context, ruleFactory); pkgEnv.update("glob", newGlobFunction(context, /*async=*/true)); // The Fileset function is heavyweight in that it can run glob(). Avoid this during the // preloading phase. diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java index 826d9f5cfa..b4af0191db 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java +++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java @@ -115,7 +115,7 @@ public final class SkylarkRuleContext { private final ImmutableMap<Artifact, FilesToRunProvider> executableRunfilesMap; - private final Map<String, String> makeVariables; + private final ImmutableMap<String, String> makeVariables; /** * In native code, private values start with $. @@ -393,7 +393,7 @@ public final class SkylarkRuleContext { @SkylarkCallable(structField = true, doc = "Dictionary (String to String) of configuration variables") - public Map<String, String> var() { + public ImmutableMap<String, String> var() { return makeVariables; } diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java index dbd84e7349..005b528833 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java @@ -27,7 +27,6 @@ import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider; import com.google.devtools.build.lib.analysis.WorkspaceStatusAction; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.exec.OutputService; -import com.google.devtools.build.lib.packages.MakeEnvironment; import com.google.devtools.build.lib.packages.NoSuchThingException; import com.google.devtools.build.lib.packages.PackageFactory; import com.google.devtools.build.lib.packages.PackageFactory.PackageArgument; @@ -352,9 +351,7 @@ public abstract class BlazeModule { public PackageFactory.EnvironmentExtension getPackageEnvironmentExtension() { return new PackageFactory.EnvironmentExtension() { @Override - public void update( - Environment environment, MakeEnvironment.Builder pkgMakeEnv, Label buildFileLabel) { - } + public void update(Environment environment, Label buildFileLabel) {} @Override public Iterable<PackageArgument<?>> getPackageArguments() { |