From e753ecf58281ad33dcf827462fce4f16596666e7 Mon Sep 17 00:00:00 2001 From: Lukacs Berki Date: Mon, 15 Jun 2015 07:12:46 +0000 Subject: 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 --- .../google/devtools/build/lib/packages/RuleClassProvider.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/packages/RuleClassProvider.java') 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. + * + *

Used to provide external dependencies for built-in rules. Rules defined here can be + * overwritten in the WORKSPACE file in the actual workspace. */ - List getWorkspaceFiles(); + String getDefaultWorkspaceFile(); } -- cgit v1.2.3