aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/packages/Package.java
diff options
context:
space:
mode:
authorGravatar Damien Martin-Guillerez <dmarting@google.com>2015-11-27 16:22:59 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2015-11-30 18:30:08 +0000
commit8ca065c2ae941309b53f95313a68e585ecc70560 (patch)
tree02c56b462dfd0edd66d9a139b58a3ba3c3106043 /src/main/java/com/google/devtools/build/lib/packages/Package.java
parent31a9149d4a347d3a3d4b6407b18e256ad061ab3a (diff)
Enable load() statement in the WORKSPACE file.
RELNOTES[NEW]: Skylark macros are now enabled in WORKSPACE file. Design document at https://docs.google.com/document/d/1jKbNXOVp2T1zJD_iRnVr8k5D0xZKgO8blMVDlXOksJg/preview Fixes #337 -- MOS_MIGRATED_REVID=108860301
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages/Package.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/Package.java19
1 files changed, 17 insertions, 2 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 579e0604d8..a9ad155b11 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
@@ -688,6 +688,16 @@ public class Package {
}
/**
+ * Derive a LegacyBuilder from a normal Builder.
+ */
+ LegacyBuilder(Builder builder) {
+ super(builder.pkg);
+ if (builder.getFilename() != null) {
+ setFilename(builder.getFilename());
+ }
+ }
+
+ /**
* Sets the globber used for this package's glob expansions.
*/
LegacyBuilder setGlobber(Globber globber) {
@@ -717,8 +727,8 @@ public class Package {
}
}
- public static Builder newExternalPackageBuilder(Path workspacePath, String runfilesPrefix) {
- Builder b = new Builder(new Package(EXTERNAL_PACKAGE_IDENTIFIER, runfilesPrefix));
+ public static LegacyBuilder newExternalPackageBuilder(Path workspacePath, String runfilesPrefix) {
+ LegacyBuilder b = new LegacyBuilder(EXTERNAL_PACKAGE_IDENTIFIER, runfilesPrefix);
b.setFilename(workspacePath);
b.setMakeEnv(new MakeEnvironment.Builder());
return b;
@@ -799,6 +809,11 @@ public class Package {
return pkg.getPackageIdentifier();
}
+ /** Determine if we are in the WORKSPACE file or not */
+ public boolean isWorkspace() {
+ return pkg.getPackageIdentifier().equals(EXTERNAL_PACKAGE_IDENTIFIER);
+ }
+
/**
* Sets the name of this package's BUILD file.
*/