aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe
diff options
context:
space:
mode:
authorGravatar mjhalupka <mjhalupka@google.com>2018-01-24 12:13:24 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-24 12:16:55 -0800
commitc619e7881559f774d16f84261ab39906a3ac8c60 (patch)
tree9d36566be8579e5d0dc1de40e3f85c635d10b31d /src/main/java/com/google/devtools/build/lib/skyframe
parentbe757ae8142808bae8f189421e38fc8c8cd060ae (diff)
Remove some references to configuredTarget.getTarget() by getting the target from package.
PiperOrigin-RevId: 183121812
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java
index 3ae57a524e..27d9a3dd1f 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java
@@ -29,9 +29,12 @@ import com.google.devtools.build.lib.analysis.config.InvalidConfigurationExcepti
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.BuildType;
+import com.google.devtools.build.lib.packages.NoSuchTargetException;
+import com.google.devtools.build.lib.packages.Package;
import com.google.devtools.build.lib.packages.RawAttributeMapper;
import com.google.devtools.build.lib.packages.Rule;
import com.google.devtools.build.lib.packages.RuleClassProvider;
+import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.ConflictException;
import com.google.devtools.build.lib.syntax.EvalException;
import com.google.devtools.build.lib.util.OrderedSetMultimap;
@@ -87,8 +90,18 @@ public class PostConfiguredTargetFunction implements SkyFunction {
}
ConfiguredTarget ct = ctValue.getConfiguredTarget();
- TargetAndConfiguration ctgValue =
- new TargetAndConfiguration(ct.getTarget(), ct.getConfiguration());
+
+ Package targetPkg =
+ ((PackageValue) env.getValue(PackageValue.key(ct.getLabel().getPackageIdentifier())))
+ .getPackage();
+ Target target = null;
+ try {
+ target = targetPkg.getTarget(ct.getLabel().getName());
+ } catch (NoSuchTargetException e) {
+ throw new IllegalStateException("Name already verified", e);
+ }
+
+ TargetAndConfiguration ctgValue = new TargetAndConfiguration(target, ct.getConfiguration());
ImmutableMap<Label, ConfigMatchingProvider> configConditions =
getConfigurableAttributeConditions(ctgValue, env);