aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2015-10-21 12:36:56 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-10-21 14:39:24 +0000
commit5d9b8a0dcf89190edc190f439c383d7bdbae658f (patch)
tree05f4b3c0457ea2c4c0f12ca5861f6baa15d7e908 /src/main
parent59a5c99832a5ddca6b854e1bcd461fd4219147eb (diff)
Remove the repository name from PACKAGE_NAME and move it to the new REPOSITORY_NAME symbol.
-- MOS_MIGRATED_REVID=105954652
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ASTFileLookupFunction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/Runtime.java8
3 files changed, 12 insertions, 2 deletions
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 0ce234dcee..3b20a1327e 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
@@ -1336,7 +1336,8 @@ public final class PackageFactory {
PackageContext context = new PackageContext(pkgBuilder, globber, eventHandler);
buildPkgEnv(pkgEnv, context, ruleFactory);
pkgEnv.setupDynamic(PKG_CONTEXT, context);
- pkgEnv.setupDynamic(Runtime.PKG_NAME, packageId.toString());
+ pkgEnv.setupDynamic(Runtime.PKG_NAME, packageId.getPackageFragment().getPathString());
+ pkgEnv.setupDynamic(Runtime.REPOSITORY_NAME, packageId.getRepository().toString());
if (containsError) {
pkgBuilder.setContainsErrors();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ASTFileLookupFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ASTFileLookupFunction.java
index ab2b99ea71..e5e4771d9f 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ASTFileLookupFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ASTFileLookupFunction.java
@@ -146,7 +146,8 @@ public class ASTFileLookupFunction implements SkyFunction {
// the two below don't matter for extracting the ValidationEnvironment:
/*astFileContentHashCode=*/null,
/*importMap=*/null)
- .setupDynamic(Runtime.PKG_NAME, Runtime.NONE)));
+ .setupDynamic(Runtime.PKG_NAME, Runtime.NONE)
+ .setupDynamic(Runtime.REPOSITORY_NAME, Runtime.NONE)));
}
} else {
ast = BuildFileAST.parseBuildFile(path, fileSize, env.getListener(), false);
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Runtime.java b/src/main/java/com/google/devtools/build/lib/syntax/Runtime.java
index ef008c37d7..754d9049e5 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Runtime.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Runtime.java
@@ -82,6 +82,14 @@ public final class Runtime {
+ "function is loaded), but not as a top level function call in the extension module.")
public static final String PKG_NAME = "PACKAGE_NAME";
+ @SkylarkSignature(name = "REPOSITORY_NAME", returnType = String.class,
+ doc = "The name of the repository the rule or build extension is called from. "
+ + "For example, in packages that are called into existence by the WORKSPACE stanza "
+ + "<code>local_repository(name='local', path=...)</code> it will be set to "
+ + "<code>@local</code>. In packages in the main repository, it will be empty. "
+ + "It can only be accessed in functions (transitively) called from BUILD files.")
+ public static final String REPOSITORY_NAME = "REPOSITORY_NAME";
+
/**
* Set up a given environment for supported class methods.
*/