aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2016-05-19 14:22:04 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2016-05-19 18:02:22 +0000
commit584259f8955399b8132a0385fe7aa7d188dc074c (patch)
treeeb8a2934411e198938a8b14a72d3bd7461f241ab /src/main/java/com/google/devtools/build/lib/analysis
parent4cf6b6ca54ca36d03ce53a565c44dc6c0ebfa150 (diff)
Take aliases into consideration when creating a LabelAndConfiguration from a ConfiguredTarget.
-- MOS_MIGRATED_REVID=122729392
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/LabelAndConfiguration.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/LabelAndConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/LabelAndConfiguration.java
index 4eb2cd4c3d..0329060090 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/LabelAndConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/LabelAndConfiguration.java
@@ -17,6 +17,7 @@ package com.google.devtools.build.lib.analysis;
import com.google.common.base.MoreObjects;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.cmdline.Label;
+import com.google.devtools.build.lib.rules.AliasProvider;
import com.google.devtools.build.lib.util.Preconditions;
import java.util.Objects;
@@ -36,10 +37,6 @@ public final class LabelAndConfiguration {
this.configuration = configuration;
}
- public LabelAndConfiguration(ConfiguredTarget rule) {
- this(rule.getTarget().getLabel(), rule.getConfiguration());
- }
-
public Label getLabel() {
return label;
}
@@ -75,6 +72,15 @@ public final class LabelAndConfiguration {
return new LabelAndConfiguration(label, configuration);
}
+ public static LabelAndConfiguration of(ConfiguredTarget configuredTarget) {
+ AliasProvider aliasProvider = configuredTarget.getProvider(AliasProvider.class);
+ Label label = aliasProvider != null
+ ? aliasProvider.getAliasChain().get(0)
+ : configuredTarget.getLabel();
+
+ return new LabelAndConfiguration(label, configuredTarget.getConfiguration());
+ }
+
@Override
public String toString() {
return MoreObjects.toStringHelper(this)