diff options
author | 2018-03-27 10:26:36 -0700 | |
---|---|---|
committer | 2018-03-27 10:27:58 -0700 | |
commit | 60554e40665c44e0f0423eb43183db3ea7c69514 (patch) | |
tree | 4a30f8ddb04d3ec7940595c2034094eeb22e2341 /src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java | |
parent | e666d3b88efb59f2a8f10b18882c9f13801508d9 (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.java | 27 |
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); |