Enable label-based Skylark loading. In particular, such labels may reference files in external repositories.
In addition:
- Cleaned up and refactored some tests to reflect the new loading behavior.
Deferred to future CLs:
- Updating Bazel Skylark documentation to reflect the new load form.
- Enabling command-line loading of Aspects via labels.
RELNOTES: Skylark load statements may now reference .bzl files via build labels, in addition to paths. In particular, such labels can be used to reference Skylark files in external repositories; e.g., load("@my_external_repo//some_pkg:some_file.bzl", ...). Path-based loads are now deprecated and may be disabled in the future. Caveats: Skylark files currently do not respect package visibility; i.e., all Skylark files are effectively public. Also, loads may not reference the special //external package.
--
MOS_MIGRATED_REVID=110786452
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
index d061dea..ab0a534 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
@@ -45,7 +45,6 @@
import com.google.devtools.build.lib.syntax.Environment.Extension;
import com.google.devtools.build.lib.syntax.Mutability;
import com.google.devtools.build.lib.syntax.SkylarkType;
-import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.common.options.OptionsClassProvider;
import java.lang.reflect.Constructor;
@@ -484,7 +483,7 @@
Environment.Frame globals,
EventHandler eventHandler,
String astFileContentHashCode,
- Map<PathFragment, Extension> importMap) {
+ Map<String, Extension> importMap) {
Environment env = Environment.builder(mutability)
.setSkylark()
.setGlobals(globals)
@@ -501,7 +500,7 @@
Mutability mutability,
EventHandler eventHandler,
String astFileContentHashCode,
- Map<PathFragment, Extension> importMap) {
+ Map<String, Extension> importMap) {
return createSkylarkRuleClassEnvironment(
mutability, globals, eventHandler, astFileContentHashCode, importMap);
}