Cleanup, remove differences between Build and Skylark environments.
The only visible difference for users is that a few more functions are
available in BUILD files. That's fine, this difference was not even
documented.
RELNOTES:
A few functions are added to BUILD files for consistency (hash, dir,
hasattr, getattr) with .bzl files, although they are not very useful.
--
MOS_MIGRATED_REVID=136151633
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Environment.java b/src/main/java/com/google/devtools/build/lib/syntax/Environment.java
index d03aa27..fe9b209 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Environment.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Environment.java
@@ -875,11 +875,11 @@
/** A read-only Environment.Frame with global constants in it only */
static final Frame CONSTANTS_ONLY = createConstantsGlobals();
- /** A read-only Environment.Frame with initial globals for the BUILD language */
- public static final Frame BUILD = createBuildGlobals();
+ /** A read-only Environment.Frame with initial globals */
+ public static final Frame DEFAULT_GLOBALS = createDefaultGlobals();
- /** A read-only Environment.Frame with initial globals for Skylark */
- public static final Frame SKYLARK = createSkylarkGlobals();
+ /** To be removed when all call-sites are updated. */
+ public static final Frame SKYLARK = DEFAULT_GLOBALS;
private static Environment.Frame createConstantsGlobals() {
try (Mutability mutability = Mutability.create("CONSTANTS")) {
@@ -889,20 +889,11 @@
}
}
- private static Environment.Frame createBuildGlobals() {
+ private static Environment.Frame createDefaultGlobals() {
try (Mutability mutability = Mutability.create("BUILD")) {
Environment env = Environment.builder(mutability).build();
Runtime.setupConstants(env);
- Runtime.setupMethodEnvironment(env, MethodLibrary.buildGlobalFunctions);
- return env.getGlobals();
- }
- }
-
- private static Environment.Frame createSkylarkGlobals() {
- try (Mutability mutability = Mutability.create("SKYLARK")) {
- Environment env = Environment.builder(mutability).setSkylark().build();
- Runtime.setupConstants(env);
- Runtime.setupMethodEnvironment(env, MethodLibrary.skylarkGlobalFunctions);
+ Runtime.setupMethodEnvironment(env, MethodLibrary.defaultGlobalFunctions);
return env.getGlobals();
}
}