diff options
author | Damien Martin-Guillerez <dmarting@google.com> | 2015-11-27 16:22:59 +0000 |
---|---|---|
committer | Kristina Chodorow <kchodorow@google.com> | 2015-11-30 18:30:08 +0000 |
commit | 8ca065c2ae941309b53f95313a68e585ecc70560 (patch) | |
tree | 02c56b462dfd0edd66d9a139b58a3ba3c3106043 /src/main/java/com/google/devtools/build/lib/packages/Package.java | |
parent | 31a9149d4a347d3a3d4b6407b18e256ad061ab3a (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.java | 19 |
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. */ |