diff options
Diffstat (limited to 'src/main/java/com')
4 files changed, 14 insertions, 44 deletions
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 0ea36aa52a..4b32382a40 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 @@ -20,9 +20,6 @@ import static com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClass import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; -import com.google.common.cache.CacheBuilder; -import com.google.common.cache.CacheLoader; -import com.google.common.cache.LoadingCache; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; @@ -542,13 +539,8 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider { } @Override - public Label getLabel(String labelValue) { - return LABELS.getUnchecked(labelValue); - } - - @Override public Label getToolsLabel(String labelValue) { - return getLabel(toolsRepository + labelValue); + return Label.parseAbsoluteUnchecked(toolsRepository + labelValue); } @Override @@ -566,22 +558,6 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider { } /** - * Used to make the label instances unique, so that we don't create a new - * instance for every rule. - */ - private static final LoadingCache<String, Label> LABELS = CacheBuilder.newBuilder().build( - new CacheLoader<String, Label>() { - @Override - public Label load(String from) { - try { - return Label.parseAbsolute(from); - } catch (LabelSyntaxException e) { - throw new IllegalArgumentException(from, e); - } - } - }); - - /** * Default content that should be added at the beginning of the WORKSPACE file. */ private final String defaultWorkspaceFilePrefix; 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 bd76287fd1..6c4705b749 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 @@ -23,14 +23,8 @@ import javax.annotation.Nullable; */ public interface RuleDefinitionEnvironment { /** - * Parses the given string as a label and returns the label, by calling {@link - * Label#parseAbsolute}. Throws a {@link IllegalArgumentException} if the parsing fails. - */ - Label getLabel(String labelValue); - - /** - * Prepends the tools repository path to the given string and parses the result - * using {@link RuleDefinitionEnvironment#getLabel} + * Prepends the tools repository path to the given string and parses the result using {@link + * Label#parseAbsoluteUnchecked}. */ Label getToolsLabel(String labelValue); 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 2f025439bb..a026a0a1b3 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 @@ -280,7 +280,7 @@ public class BazelCppRuleClasses { // thus a dependency of def_parser. || label.startsWith(toolsRepository + "//tools/cpp") ? null - : env.getLabel(defParserLabel); + : Label.parseAbsoluteUnchecked(defParserLabel); } })); } diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaTestRule.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaTestRule.java index dbda63a19f..776a7806c0 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaTestRule.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaTestRule.java @@ -26,6 +26,7 @@ import com.google.devtools.build.lib.analysis.RuleDefinition; import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment; import com.google.devtools.build.lib.analysis.config.HostTransition; import com.google.devtools.build.lib.bazel.rules.java.BazelJavaRuleClasses.BaseJavaBinaryRule; +import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.packages.RuleClass; import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType; import com.google.devtools.build.lib.packages.TriState; @@ -55,10 +56,11 @@ public final class BazelJavaTestRule implements RuleDefinition { .setImplicitOutputsFunction(BazelJavaRuleClasses.JAVA_BINARY_IMPLICIT_OUTPUTS) // Proguard can be run over java_test targets using the --java_optimization_mode flag. // Primarily this is intended to help test changes to Proguard. - .add(attr(":proguard", LABEL) - .cfg(HostTransition.INSTANCE) - .value(JavaSemantics.PROGUARD) - .exec()) + .add( + attr(":proguard", LABEL) + .cfg(HostTransition.INSTANCE) + .value(JavaSemantics.PROGUARD) + .exec()) .add(attr(":extra_proguard_specs", LABEL_LIST).value(JavaSemantics.EXTRA_PROGUARD_SPECS)) .override(attr("stamp", TRISTATE).value(TriState.NO)) .override(attr("use_testrunner", BOOLEAN).value(true)) @@ -66,14 +68,12 @@ public final class BazelJavaTestRule implements RuleDefinition { // Input files for test actions collecting code coverage .add( attr("$lcov_merger", LABEL) - .value(env.getLabel( - "@bazel_tools//tools/test/LcovMerger/java/com/google/devtools/lcovmerger:Main" - ))) + .value( + Label.parseAbsoluteUnchecked( + "@bazel_tools//tools/test/LcovMerger/java/com/google/devtools/lcovmerger:Main"))) .add( attr("$jacocorunner", LABEL) - .value( - env.getLabel( - "@bazel_tools//tools/jdk:JacocoCoverage"))) + .value(Label.parseAbsoluteUnchecked("@bazel_tools//tools/jdk:JacocoCoverage"))) /* <!-- #BLAZE_RULE(java_test).ATTRIBUTE(test_class) --> The Java class to be loaded by the test runner.<br/> <p> |