aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryBaseRule.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java41
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/ProguardLibraryRule.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/IosApplicationRule.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/IosTestRule.java14
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcBinaryRule.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryRule.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java35
9 files changed, 48 insertions, 64 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java
index 18616cd61f..fc297e5224 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryOnlyRule.java
@@ -87,8 +87,7 @@ public final class AndroidBinaryOnlyRule implements RuleDefinition {
.add(attr("$android_manifest_merge_tool", LABEL)
.cfg(HOST)
.exec()
- .value(env.getLabel(env.getToolsRepository()
- + AndroidRuleClasses.MANIFEST_MERGE_TOOL_LABEL)))
+ .value(env.getToolsLabel(AndroidRuleClasses.MANIFEST_MERGE_TOOL_LABEL)))
/* <!-- #BLAZE_RULE(android_binary).ATTRIBUTE(multidex) -->
Whether to split code into multiple dex files.
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryBaseRule.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryBaseRule.java
index e385c3c39f..f1877165ee 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryBaseRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibraryBaseRule.java
@@ -125,8 +125,8 @@ public final class AndroidLibraryBaseRule implements RuleDefinition {
<!-- #END_BLAZE_RULE.ATTRIBUTE --> */
.add(attr("idl_parcelables", LABEL_LIST).direct_compile_time_input()
.allowedFileTypes(AndroidRuleClasses.ANDROID_IDL))
- .add(attr("$android_manifest_merge_tool", LABEL).cfg(HOST).exec().value(env.getLabel(
- env.getToolsRepository() + AndroidRuleClasses.MANIFEST_MERGE_TOOL_LABEL)))
+ .add(attr("$android_manifest_merge_tool", LABEL).cfg(HOST).exec().value(
+ env.getToolsLabel(AndroidRuleClasses.MANIFEST_MERGE_TOOL_LABEL)))
.advertiseProvider(JavaCompilationArgsProvider.class)
.build();
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
index ef3a4b35b8..d4ca2ad1c2 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java
@@ -317,8 +317,7 @@ public final class AndroidRuleClasses {
.allowedFileTypes(ANY_FILE)
// TODO(bazel-team): Remove defaults and make mandatory when android_sdk targets
// have been updated to include manually specified Jack attributes.
- .value(environment.getLabel(
- environment.getToolsRepository() + "//tools/android/jack:android_jack")))
+ .value(environment.getToolsLabel("//tools/android/jack:android_jack")))
.add(attr("annotations_jar", LABEL).mandatory().cfg(HOST).allowedFileTypes(ANY_FILE))
.add(attr("main_dex_classes", LABEL).mandatory().cfg(HOST).allowedFileTypes(ANY_FILE))
.add(attr("apkbuilder", LABEL).mandatory().cfg(HOST).allowedFileTypes(ANY_FILE).exec())
@@ -328,22 +327,19 @@ public final class AndroidRuleClasses {
.cfg(HOST)
.allowedFileTypes(ANY_FILE)
.exec()
- .value(environment.getLabel(
- environment.getToolsRepository() + "//tools/android/jack:jack")))
+ .value(environment.getToolsLabel("//tools/android/jack:jack")))
.add(
attr("jill", LABEL)
.cfg(HOST)
.allowedFileTypes(ANY_FILE)
.exec()
- .value(environment.getLabel(
- environment.getToolsRepository() + "//tools/android/jack:jill")))
+ .value(environment.getToolsLabel("//tools/android/jack:jill")))
.add(
attr("resource_extractor", LABEL)
.cfg(HOST)
.allowedFileTypes(ANY_FILE)
.exec()
- .value(environment.getLabel(environment.getToolsRepository()
- + "//tools/android/jack:resource_extractor")))
+ .value(environment.getToolsLabel("//tools/android/jack:resource_extractor")))
.build();
}
@@ -365,9 +361,9 @@ public final class AndroidRuleClasses {
public RuleClass build(RuleClass.Builder builder, RuleDefinitionEnvironment env) {
return builder
.add(attr("$android_resources_processor", LABEL).cfg(HOST).exec().value(
- env.getLabel(env.getToolsRepository() + DEFAULT_RESOURCES_PROCESSOR)))
+ env.getToolsLabel(DEFAULT_RESOURCES_PROCESSOR)))
.add(attr("$android_aar_generator", LABEL).cfg(HOST).exec().value(
- env.getLabel(env.getToolsRepository() + DEFAULT_AAR_GENERATOR)))
+ env.getToolsLabel(DEFAULT_AAR_GENERATOR)))
.build();
}
@@ -488,10 +484,9 @@ public final class AndroidRuleClasses {
// TODO(ahumesky): It would be better to put this dependency in //tools/android somehow
// like all the rest of android tools.
.add(attr("$jarjar_bin", LABEL).cfg(HOST).exec()
- .value(env.getLabel(
- env.getToolsRepository() + "//third_party/java/jarjar:jarjar_bin")))
+ .value(env.getToolsLabel("//third_party/java/jarjar:jarjar_bin")))
.add(attr("$idlclass", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + "//tools/android:IdlClass")))
+ .value(env.getToolsLabel("//tools/android:IdlClass")))
.build();
}
@@ -545,25 +540,23 @@ public final class AndroidRuleClasses {
.aspect(JackAspect.class))
// Proguard rule specifying master list of classes to keep during legacy multidexing.
.add(attr("$build_incremental_dexmanifest", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + BUILD_INCREMENTAL_DEXMANIFEST_LABEL)))
+ .value(env.getToolsLabel(BUILD_INCREMENTAL_DEXMANIFEST_LABEL)))
.add(attr("$stubify_manifest", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + STUBIFY_MANIFEST_LABEL)))
+ .value(env.getToolsLabel(STUBIFY_MANIFEST_LABEL)))
.add(attr("$shuffle_jars", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + "//tools/android:shuffle_jars")))
+ .value(env.getToolsLabel("//tools/android:shuffle_jars")))
.add(attr("$merge_dexzips", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + "//tools/android:merge_dexzips")))
+ .value(env.getToolsLabel("//tools/android:merge_dexzips")))
.add(attr("$incremental_install", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + INCREMENTAL_INSTALL_LABEL)))
+ .value(env.getToolsLabel(INCREMENTAL_INSTALL_LABEL)))
.add(attr("$build_split_manifest", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + BUILD_SPLIT_MANIFEST_LABEL)))
+ .value(env.getToolsLabel(BUILD_SPLIT_MANIFEST_LABEL)))
.add(attr("$strip_resources", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + STRIP_RESOURCES_LABEL)))
+ .value(env.getToolsLabel(STRIP_RESOURCES_LABEL)))
.add(attr("$incremental_stub_application", LABEL)
- .value(env.getLabel(env.getToolsRepository()
- + DEFAULT_INCREMENTAL_STUB_APPLICATION)))
+ .value(env.getToolsLabel(DEFAULT_INCREMENTAL_STUB_APPLICATION)))
.add(attr("$incremental_split_stub_application", LABEL)
- .value(env.getLabel(env.getToolsRepository()
- + DEFAULT_INCREMENTAL_SPLIT_STUB_APPLICATION)))
+ .value(env.getToolsLabel(DEFAULT_INCREMENTAL_SPLIT_STUB_APPLICATION)))
/* <!-- #BLAZE_RULE($android_binary_base).ATTRIBUTE(dexopts) -->
Additional command-line flags for the dx tool when generating classes.dex.
Subject to <a href="make-variables.html">"Make variable"</a> substitution and
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/ProguardLibraryRule.java b/src/main/java/com/google/devtools/build/lib/rules/java/ProguardLibraryRule.java
index 5a7958b905..8147cb8557 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/ProguardLibraryRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/ProguardLibraryRule.java
@@ -50,8 +50,7 @@ public final class ProguardLibraryRule implements RuleDefinition {
@Override
public Object getDefault(AttributeMap rule) {
return rule.isAttributeValueExplicitlySpecified("proguard_specs")
- ? environment.getLabel(
- environment.getToolsRepository() + "//tools/jdk:proguard_whitelister")
+ ? environment.getToolsLabel("//tools/jdk:proguard_whitelister")
: null;
}
}))
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IosApplicationRule.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IosApplicationRule.java
index bc0183d84b..9438dd5b01 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/IosApplicationRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IosApplicationRule.java
@@ -64,8 +64,7 @@ public class IosApplicationRule implements RuleDefinition {
.allowedFileTypes()
.direct_compile_time_input())
.add(attr("$runner_script_template", LABEL).cfg(HOST)
- .value(env.getLabel(
- env.getToolsRepository() + "//tools/objc:ios_runner.sh.mac_template")))
+ .value(env.getToolsLabel("//tools/objc:ios_runner.sh.mac_template")))
.add(attr("$is_executable", BOOLEAN).value(true)
.nonconfigurable("Called from RunCommand.isExecutable, which takes a Target"))
.build();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IosTestRule.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IosTestRule.java
index d7b29f4204..84a9d43009 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/IosTestRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IosTestRule.java
@@ -48,7 +48,7 @@ public class IosTestRule implements RuleDefinition {
@Override
public RuleClass build(RuleClass.Builder builder, final RuleDefinitionEnvironment env) {
final ImmutableList<Label> gcov =
- ImmutableList.of(env.getLabel(env.getToolsRepository() + "//tools/objc:gcov"));
+ ImmutableList.of(env.getToolsLabel("//tools/objc:gcov"));
return builder
.requiresConfigurationFragments(
ObjcConfiguration.class, J2ObjcConfiguration.class, AppleConfiguration.class)
@@ -70,7 +70,7 @@ public class IosTestRule implements RuleDefinition {
.allowedFileTypes()
.allowedRuleClasses("ios_device")
.value(
- env.getLabel(env.getToolsRepository() + "//tools/objc/sim_devices:default")))
+ env.getToolsLabel("//tools/objc/sim_devices:default")))
/* <!-- #BLAZE_RULE(ios_test ).ATTRIBUTE(xctest) -->
Whether this target contains tests using the XCTest testing framework.
<!-- #END_BLAZE_RULE.ATTRIBUTE -->*/
@@ -132,18 +132,16 @@ public class IosTestRule implements RuleDefinition {
.add(attr("plugins", LABEL_LIST).allowedFileTypes(FileType.of("_deploy.jar")))
.add(
attr("$test_template", LABEL)
- .value(
- env.getLabel(
- env.getToolsRepository() + "//tools/objc:ios_test.sh.bazel_template")))
+ .value(env.getToolsLabel("//tools/objc:ios_test.sh.bazel_template")))
.add(
attr("$test_runner", LABEL)
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc:testrunner")))
+ .value(env.getToolsLabel("//tools/objc:testrunner")))
.add(
attr(IosTest.MEMLEAKS_DEP, LABEL)
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc/memleaks:memleaks")))
+ .value(env.getToolsLabel("//tools/objc/memleaks:memleaks")))
.add(
attr(IosTest.MEMLEAKS_PLUGIN, LABEL)
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc:memleaks_plugin")))
+ .value(env.getToolsLabel("//tools/objc:memleaks_plugin")))
.override(
attr(":gcov", LABEL_LIST)
.cfg(HOST)
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcBinaryRule.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcBinaryRule.java
index 34b5b8e817..9549ad1b21 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcBinaryRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcBinaryRule.java
@@ -50,8 +50,7 @@ public class ObjcBinaryRule implements RuleDefinition {
ImplicitOutputsFunction.fromFunctions(ReleaseBundlingSupport.IPA, XcodeSupport.PBXPROJ))
// TODO(bazel-team): Remove these when this rule no longer produces a bundle.
.add(attr("$runner_script_template", LABEL).cfg(HOST)
- .value(env.getLabel(
- env.getToolsRepository() + "//tools/objc:ios_runner.sh.mac_template")))
+ .value(env.getToolsLabel("//tools/objc:ios_runner.sh.mac_template")))
.add(attr("$is_executable", BOOLEAN).value(true)
.nonconfigurable("Called from RunCommand.isExecutable, which takes a Target"))
.build();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryRule.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryRule.java
index 598edcf575..fc5a9e6e7b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryRule.java
@@ -76,11 +76,11 @@ public class ObjcProtoLibraryRule implements RuleDefinition {
.allowedFileTypes(FileType.of(".py"))
.cfg(HOST)
.singleArtifact()
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc:compile_protos")))
+ .value(env.getToolsLabel("//tools/objc:compile_protos")))
.add(attr(PROTO_SUPPORT_ATTR, LABEL)
.legacyAllowAnyFileType()
.cfg(HOST)
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc:proto_support")))
+ .value(env.getToolsLabel("//tools/objc:proto_support")))
.add(attr(USE_OBJC_HEADER_NAMES_ATTR, BOOLEAN).value(false))
.add(attr(LIBPROTOBUF_ATTR, LABEL).allowedRuleClasses("objc_library")
.value(new ComputedDefault(OUTPUT_CPP_ATTR) {
@@ -92,7 +92,7 @@ public class ObjcProtoLibraryRule implements RuleDefinition {
}
}))
.add(attr("$xcodegen", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc:xcodegen")))
+ .value(env.getToolsLabel("//tools/objc:xcodegen")))
.build();
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java
index c8bbb652e0..5dca7d87fb 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java
@@ -489,11 +489,11 @@ public class ObjcRuleClasses {
public RuleClass build(Builder builder, RuleDefinitionEnvironment env) {
return builder
.add(attr("$plmerge", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc:plmerge")))
+ .value(env.getToolsLabel("//tools/objc:plmerge")))
.add(attr("$actoolwrapper", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc:actoolwrapper")))
+ .value(env.getToolsLabel("//tools/objc:actoolwrapper")))
.add(attr("$ibtoolwrapper", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc:ibtoolwrapper")))
+ .value(env.getToolsLabel("//tools/objc:ibtoolwrapper")))
.build();
}
@Override
@@ -513,9 +513,9 @@ public class ObjcRuleClasses {
public RuleClass build(Builder builder, RuleDefinitionEnvironment env) {
return builder
.add(attr("$xcodegen", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc:xcodegen")))
+ .value(env.getToolsLabel("//tools/objc:xcodegen")))
.add(attr("$dummy_source", LABEL)
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc:dummy.c")))
+ .value(env.getToolsLabel("//tools/objc:dummy.c")))
.build();
}
@Override
@@ -732,16 +732,15 @@ public class ObjcRuleClasses {
.add(attr("$dumpsyms", LABEL)
.cfg(HOST)
.singleArtifact()
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc:dump_syms")))
+ .value(env.getToolsLabel("//tools/objc:dump_syms")))
.add(attr("$j2objc_dead_code_pruner", LABEL)
.allowedFileTypes(FileType.of(".py"))
.cfg(HOST)
.exec()
.singleArtifact()
- .value(env.getLabel(
- env.getToolsRepository() + "//tools/objc:j2objc_dead_code_pruner")))
+ .value(env.getToolsLabel("//tools/objc:j2objc_dead_code_pruner")))
.add(attr("$dummy_lib", LABEL)
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc:dummy_lib")))
+ .value(env.getToolsLabel("//tools/objc:dummy_lib")))
.build();
}
@Override
@@ -807,14 +806,12 @@ public class ObjcRuleClasses {
attr("$momcwrapper", LABEL)
.cfg(HOST)
.exec()
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc:momcwrapper")))
+ .value(env.getToolsLabel("//tools/objc:momcwrapper")))
.add(
attr("$swiftstdlibtoolwrapper", LABEL)
.cfg(HOST)
.exec()
- .value(
- env.getLabel(
- env.getToolsRepository() + "//tools/objc:swiftstdlibtoolwrapper")))
+ .value(env.getToolsLabel("//tools/objc:swiftstdlibtoolwrapper")))
.build();
}
@@ -952,13 +949,12 @@ public class ObjcRuleClasses {
attr("$bundlemerge", LABEL)
.cfg(HOST)
.exec()
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc:bundlemerge")))
+ .value(env.getToolsLabel("//tools/objc:bundlemerge")))
.add(
attr("$environment_plist", LABEL)
.cfg(HOST)
.exec()
- .value(env.getLabel(
- env.getToolsRepository() + "//tools/objc:environment_plist")))
+ .value(env.getToolsLabel("//tools/objc:environment_plist")))
.build();
}
@Override
@@ -980,9 +976,9 @@ public class ObjcRuleClasses {
return builder
// Needed to run the binary in the simulator.
.add(attr("$iossim", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + "//third_party/iossim:iossim")))
+ .value(env.getToolsLabel("//third_party/iossim:iossim")))
.add(attr("$std_redirect_dylib", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc:StdRedirect.dylib")))
+ .value(env.getToolsLabel("//tools/objc:StdRedirect.dylib")))
.build();
}
@Override
@@ -1002,7 +998,7 @@ public class ObjcRuleClasses {
public RuleClass build(Builder builder, RuleDefinitionEnvironment env) {
return builder
.add(attr("$xcrunwrapper", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + "//tools/objc:xcrunwrapper")))
+ .value(env.getToolsLabel("//tools/objc:xcrunwrapper")))
.build();
}
@Override
@@ -1015,3 +1011,4 @@ public class ObjcRuleClasses {
}
}
}
+