aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Luis Fernando Pino Duque <lpino@google.com>2016-02-08 14:55:28 +0000
committerGravatar Dmitry Lomov <dslomov@google.com>2016-02-09 12:16:47 +0000
commit18d1322aa35625f87573e241153acd33509028a7 (patch)
tree1ae635fda346fab30d906b119f7236c315694e3c /src
parent552e3e40658e689881d44d69ed8ffcd6c45ae995 (diff)
Replace getToolsRepository() with getToolsLabel(String labelValue) which prepends the tools repository path to the given string and parses the result as a label.
This is a cleaner way to access the tools repository label. -- MOS_MIGRATED_REVID=114105929
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java12
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/RuleDefinitionEnvironment.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidBinaryRule.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppRuleClasses.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/BazelGenRuleRule.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaRuleClasses.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPyRuleClasses.java2
-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
17 files changed, 65 insertions, 82 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java b/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
index 9f592faf62..2c340bf6cc 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
@@ -164,7 +164,7 @@ public class BaseRuleClasses {
.add(attr("args", STRING_LIST)
.nonconfigurable("policy decision: should be consistent across configurations"))
.add(attr("$test_runtime", LABEL_LIST).cfg(HOST).value(ImmutableList.of(
- env.getLabel(env.getToolsRepository() + "//tools/test:runtime"))))
+ env.getToolsLabel("//tools/test:runtime"))))
// TODO(bazel-team): TestActions may need to be run with coverage, so all tests
// implicitly depend on crosstool, which provides gcov. We could add gcov to
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 746eb9e6d7..62ab8a61c5 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
@@ -130,7 +130,7 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider {
this.runfilesPrefix = runfilesPrefix;
return this;
}
-
+
public Builder setToolsRepository(String toolsRepository) {
this.toolsRepository = toolsRepository;
return this;
@@ -271,10 +271,10 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider {
public Label getLabel(String labelValue) {
return LABELS.getUnchecked(labelValue);
}
-
+
@Override
- public String getToolsRepository() {
- return toolsRepository;
+ public Label getToolsLabel(String labelValue) {
+ return getLabel(toolsRepository + labelValue);
}
}
@@ -309,7 +309,7 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider {
* The default runfiles prefix.
*/
private final String runfilesPrefix;
-
+
/**
* The path to the tools repository.
*/
@@ -405,7 +405,7 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider {
public String getRunfilesPrefix() {
return runfilesPrefix;
}
-
+
@Override
public String getToolsRepository() {
return toolsRepository;
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleDefinitionEnvironment.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleDefinitionEnvironment.java
index 2eab411747..45200fb8a5 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleDefinitionEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleDefinitionEnvironment.java
@@ -28,7 +28,8 @@ public interface RuleDefinitionEnvironment {
Label getLabel(String labelValue);
/**
- * Returns the path to the tools repository. It is different for blaze and bazel.
+ * Prepends the tools repository path to the given string and parses the result
+ * using {@link RuleDefinitionEnvironment#getLabel}
*/
- String getToolsRepository();
+ Label getToolsLabel(String labelValue);
}
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidBinaryRule.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidBinaryRule.java
index dc35d690c5..820e3d2c37 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidBinaryRule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidBinaryRule.java
@@ -42,8 +42,7 @@ public class BazelAndroidBinaryRule implements RuleDefinition {
.add(attr("$debug_keystore", BuildType.LABEL)
.cfg(HOST)
.singleArtifact()
- .value(environment.getLabel(
- environment.getToolsRepository() + "//tools/android:debug_keystore")))
+ .value(environment.getToolsLabel("//tools/android:debug_keystore")))
.add(attr(":cc_toolchain_split", BuildType.LABEL)
.cfg(AndroidRuleClasses.ANDROID_SPLIT_TRANSITION)
.value(BazelCppRuleClasses.CC_TOOLCHAIN))
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppRuleClasses.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppRuleClasses.java
index c94b48160b..8b5171c2a6 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppRuleClasses.java
@@ -262,7 +262,7 @@ public class BazelCppRuleClasses {
.add(attr("copts", STRING_LIST))
.add(
attr("$stl_default", LABEL)
- .value(env.getLabel(env.getToolsRepository() + "//tools/cpp:stl")))
+ .value(env.getToolsLabel("//tools/cpp:stl")))
.add(attr(":stl", LABEL).value(STL))
.build();
}
@@ -541,7 +541,7 @@ public class BazelCppRuleClasses {
// sure that the correct headers are used for inclusion.
// The only exception is STL itself,
// to avoid cycles in the dependency graph.
- Label stl = env.getLabel(env.getToolsRepository() + "//tools/cpp:stl");
+ Label stl = env.getToolsLabel("//tools/cpp:stl");
return rule.getLabel().equals(stl) ? null : stl;
}
}))
@@ -575,7 +575,7 @@ public class BazelCppRuleClasses {
</p>
<!-- #END_BLAZE_RULE.ATTRIBUTE -->*/
.add(attr("malloc", LABEL)
- .value(env.getLabel(env.getToolsRepository() + "//tools/cpp:malloc"))
+ .value(env.getToolsLabel("//tools/cpp:malloc"))
.allowedFileTypes()
.allowedRuleClasses("cc_library"))
.add(attr(":default_malloc", LABEL).value(DEFAULT_MALLOC))
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/BazelGenRuleRule.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/BazelGenRuleRule.java
index 4667e67f30..572e3aea04 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/BazelGenRuleRule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/BazelGenRuleRule.java
@@ -81,8 +81,7 @@ public final class BazelGenRuleRule implements RuleDefinition {
</p>
<!-- #END_BLAZE_RULE.ATTRIBUTE --> */
.add(attr("tools", LABEL_LIST).cfg(HOST).legacyAllowAnyFileType())
- .add(attr("$genrule_setup", LABEL).cfg(HOST).value(
- env.getLabel(env.getToolsRepository() + GENRULE_SETUP_LABEL)))
+ .add(attr("$genrule_setup", LABEL).cfg(HOST).value(env.getToolsLabel(GENRULE_SETUP_LABEL)))
/* <!-- #BLAZE_RULE(genrule).ATTRIBUTE(outs) -->
A list of files generated by this rule.
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaRuleClasses.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaRuleClasses.java
index f343844f17..96cb41cc3f 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaRuleClasses.java
@@ -339,7 +339,7 @@ public class BazelJavaRuleClasses {
@Override
public Object getDefault(AttributeMap rule) {
return rule.get("use_testrunner", Type.BOOLEAN)
- ? env.getLabel(env.getToolsRepository() + JUNIT_TESTRUNNER)
+ ? env.getToolsLabel(JUNIT_TESTRUNNER)
: null;
}
}))
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPyRuleClasses.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPyRuleClasses.java
index c73a22e297..36d3a1ff1a 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPyRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPyRuleClasses.java
@@ -83,7 +83,7 @@ public final class BazelPyRuleClasses {
// do not depend on lib2to3:2to3 rule, because it creates circular dependencies
// 2to3 is itself written in Python and depends on many libraries.
.add(attr("$python2to3", LABEL).cfg(HOST).exec()
- .value(env.getLabel(env.getToolsRepository() + "//tools/python:2to3")))
+ .value(env.getToolsLabel("//tools/python:2to3")))
.setPreferredDependencyPredicate(PyRuleClasses.PYTHON_SOURCE)
.build();
}
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 {
}
}
}
+