aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar laurentlb <laurentlb@google.com>2018-02-26 05:55:21 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-26 05:56:50 -0800
commitd6443d24a4bed112f258b3d6c0cef6e7845bc703 (patch)
treeff9e1ced55401b7c24b2c425aa54460d3cb11953 /src/main/java
parentdbf748c1a0bc7f5e3f2d6b67286d99ec88795f36 (diff)
native.package_name() stops relying on "dynamic" environment variables.
Dynamic environment variables are going away. This also fixes a crashing bug. Fixes #3983 RELNOTES: None. PiperOrigin-RevId: 187008011
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeModule.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeModule.java b/src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeModule.java
index a400782c05..4f152d7fde 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeModule.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeModule.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.packages;
+import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.skylarkinterface.Param;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
@@ -217,7 +218,9 @@ public class SkylarkNativeModule {
public String invoke(FuncallExpression ast, Environment env)
throws EvalException, ConversionException {
env.checkLoadingPhase("native.package_name", ast.getLocation());
- return (String) env.lookup("PACKAGE_NAME");
+ PackageIdentifier packageId =
+ PackageFactory.getContext(env, ast).getBuilder().getPackageIdentifier();
+ return packageId.getPackageFragment().getPathString();
}
};
@@ -241,7 +244,9 @@ public class SkylarkNativeModule {
public String invoke(FuncallExpression ast, Environment env)
throws EvalException, ConversionException {
env.checkLoadingPhase("native.repository_name", ast.getLocation());
- return (String) env.lookup("REPOSITORY_NAME");
+ PackageIdentifier packageId =
+ PackageFactory.getContext(env, ast).getBuilder().getPackageIdentifier();
+ return packageId.getRepository().toString();
}
};