aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/packages/RuleClassProvider.java
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2015-06-15 07:12:46 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-06-15 10:52:01 +0000
commite753ecf58281ad33dcf827462fce4f16596666e7 (patch)
tree49ab951ae9abcd92efc7df4dea0aadb98164ba0b /src/main/java/com/google/devtools/build/lib/packages/RuleClassProvider.java
parent833acc8a1a41511d80651767af02736c61b8a81b (diff)
Get jdk.WORKSPACE into the default WORKSPACE file by reading it as a Java resource, then passing it to the parser as a string instead of putting it into embedded_binaries then passing a Path to it to the parser.
This makes the upcoming default WORKSPACE rules for Android much more palatable. In particular, Android rules won't need to be special cased when building the Bazel binary because the contents are self-contained in BazelRuleClassProvider (and the jdk.WORKSPACE file, which is a simple Java resource) Even better would be not to use a string, but some kind of structured data, but that's probably more effort than it's worth. -- MOS_MIGRATED_REVID=95983199
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages/RuleClassProvider.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/RuleClassProvider.java11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/packages/RuleClassProvider.java
index 1f9f25c106..6781d56e54 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RuleClassProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RuleClassProvider.java
@@ -17,9 +17,7 @@ package com.google.devtools.build.lib.packages;
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.syntax.SkylarkEnvironment;
import com.google.devtools.build.lib.syntax.ValidationEnvironment;
-import com.google.devtools.build.lib.vfs.PathFragment;
-import java.util.List;
import java.util.Map;
/**
@@ -45,9 +43,10 @@ public interface RuleClassProvider {
ValidationEnvironment getSkylarkValidationEnvironment();
/**
- * Returns paths to the WORKSPACE files needed to provide external dependencies for built-in
- * rules. The PathFragments are relative to Bazel's install directory. Returns an empty list if
- * there are none defined.
+ * Returns the default content of the WORKSPACE file.
+ *
+ * <p>Used to provide external dependencies for built-in rules. Rules defined here can be
+ * overwritten in the WORKSPACE file in the actual workspace.
*/
- List<PathFragment> getWorkspaceFiles();
+ String getDefaultWorkspaceFile();
}