aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-03-27 10:26:36 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-27 10:27:58 -0700
commit60554e40665c44e0f0423eb43183db3ea7c69514 (patch)
tree4a30f8ddb04d3ec7940595c2034094eeb22e2341 /src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java
parente666d3b88efb59f2a8f10b18882c9f13801508d9 (diff)
Get rid of a few more #getConfiguration() calls. We're now passing a ConfiguredTargetAndData into TargetCompleteEvent, which seems reasonable.
PiperOrigin-RevId: 190634162
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java27
1 files changed, 11 insertions, 16 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 2a35b9f186..6464b45a76 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
@@ -31,12 +31,9 @@ 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;
@@ -95,18 +92,14 @@ public class PostConfiguredTargetFunction implements SkyFunction {
}
ConfiguredTarget ct = ctValue.getConfiguredTarget();
-
- 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);
+ ConfiguredTargetAndData configuredTargetAndData =
+ ConfiguredTargetAndData.fromConfiguredTargetInSkyframe(ct, env);
+ if (configuredTargetAndData == null) {
+ return null;
}
-
- TargetAndConfiguration ctgValue = new TargetAndConfiguration(target, ct.getConfiguration());
+ TargetAndConfiguration ctgValue =
+ new TargetAndConfiguration(
+ configuredTargetAndData.getTarget(), configuredTargetAndData.getConfiguration());
ImmutableMap<Label, ConfigMatchingProvider> configConditions =
getConfigurableAttributeConditions(ctgValue, env);
@@ -117,7 +110,9 @@ public class PostConfiguredTargetFunction implements SkyFunction {
OrderedSetMultimap<Attribute, Dependency> deps;
try {
BuildConfiguration hostConfiguration =
- buildViewProvider.getSkyframeBuildView().getHostConfiguration(ct.getConfiguration());
+ buildViewProvider
+ .getSkyframeBuildView()
+ .getHostConfiguration(configuredTargetAndData.getConfiguration());
SkyframeDependencyResolver resolver =
buildViewProvider.getSkyframeBuildView().createDependencyResolver(env);
// We don't track root causes here - this function is only invoked for successfully analyzed
@@ -131,7 +126,7 @@ public class PostConfiguredTargetFunction implements SkyFunction {
configConditions,
/*toolchainLabels*/ ImmutableSet.of(),
defaultBuildOptions);
- if (ct.getConfiguration() != null) {
+ if (configuredTargetAndData.getConfiguration() != null) {
deps =
ConfigurationResolver.resolveConfigurations(
env, ctgValue, deps, hostConfiguration, ruleClassProvider, defaultBuildOptions);