diff options
author | 2018-06-15 13:23:34 -0700 | |
---|---|---|
committer | 2018-06-15 13:25:41 -0700 | |
commit | d56e958a16a59d313dc935f3df673215beaaf41c (patch) | |
tree | 0a110f97ae205b2700a8afb8f2d05e45d02baf9c /src | |
parent | 8f93d05941ccb5f0ce203af45919715131d247fd (diff) |
Remove "artifactOwnerConfiguration" now that LIPO is gone
PiperOrigin-RevId: 200763653
Diffstat (limited to 'src')
3 files changed, 3 insertions, 93 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java index bd55ea99a9..456c6a10b9 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java @@ -29,8 +29,6 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.analysis.config.BuildConfiguration.Fragment; import com.google.devtools.build.lib.analysis.config.BuildOptions; import com.google.devtools.build.lib.analysis.config.ConfigMatchingProvider; -import com.google.devtools.build.lib.analysis.config.InvalidConfigurationException; -import com.google.devtools.build.lib.analysis.config.transitions.PatchTransition; import com.google.devtools.build.lib.analysis.configuredtargets.EnvironmentGroupConfiguredTarget; import com.google.devtools.build.lib.analysis.configuredtargets.FilesetOutputConfiguredTarget; import com.google.devtools.build.lib.analysis.configuredtargets.InputFileConfiguredTarget; @@ -66,12 +64,10 @@ import com.google.devtools.build.lib.packages.RuleVisibility; import com.google.devtools.build.lib.packages.SkylarkProviderIdentifier; import com.google.devtools.build.lib.packages.Target; import com.google.devtools.build.lib.profiler.memory.CurrentRuleTracker; -import com.google.devtools.build.lib.skyframe.BuildConfigurationValue; import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndData; import com.google.devtools.build.lib.skyframe.ConfiguredTargetKey; import com.google.devtools.build.lib.util.OrderedSetMultimap; import com.google.devtools.build.lib.vfs.PathFragment; -import com.google.devtools.build.skyframe.SkyFunction; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.LinkedHashSet; @@ -167,21 +163,13 @@ public final class ConfiguredTargetFactory { * Returns the output artifact for the given file, or null if Skyframe deps are missing. */ private Artifact getOutputArtifact(AnalysisEnvironment analysisEnvironment, OutputFile outputFile, - BuildConfiguration configuration, boolean isFileset, ArtifactFactory artifactFactory) - throws InterruptedException { + BuildConfiguration configuration, boolean isFileset, ArtifactFactory artifactFactory) { Rule rule = outputFile.getAssociatedRule(); ArtifactRoot root = rule.hasBinaryOutput() ? configuration.getBinDirectory(rule.getRepository()) : configuration.getGenfilesDirectory(rule.getRepository()); - ArtifactOwner owner = - ConfiguredTargetKey.of( - rule.getLabel(), - getArtifactOwnerConfiguration( - analysisEnvironment.getSkyframeEnv(), configuration, defaultBuildOptions)); - if (analysisEnvironment.getSkyframeEnv().valuesMissing()) { - return null; - } + ArtifactOwner owner = ConfiguredTargetKey.of(rule.getLabel(), configuration); PathFragment rootRelativePath = outputFile.getLabel().getPackageIdentifier().getSourceRoot().getRelative( outputFile.getLabel().getName()); @@ -194,39 +182,6 @@ public final class ConfiguredTargetFactory { } /** - * Returns the configuration's artifact owner (which may be null). Also returns null if the owning - * configuration isn't yet available from Skyframe. - */ - public static BuildConfiguration getArtifactOwnerConfiguration( - SkyFunction.Environment env, BuildConfiguration fromConfig, BuildOptions defaultBuildOptions) - throws InterruptedException { - if (fromConfig == null) { - return null; - } - PatchTransition ownerTransition = fromConfig.getArtifactOwnerTransition(); - if (ownerTransition == null) { - return fromConfig; - } - try { - BuildConfigurationValue ownerConfig = - (BuildConfigurationValue) - env.getValueOrThrow( - BuildConfigurationValue.key( - fromConfig.fragmentClasses(), - BuildOptions.diffForReconstruction( - defaultBuildOptions, ownerTransition.patch(fromConfig.getOptions()))), - InvalidConfigurationException.class); - return ownerConfig == null ? null : ownerConfig.getConfiguration(); - } catch (InvalidConfigurationException e) { - // We don't expect to have to handle an invalid configuration because in practice the owning - // configuration should already exist. For example, the main user of this feature, the LIPO - // context collector, expects the owning configuration to be the top-level target config. - throw new IllegalStateException( - "this method should only return a pre-existing valid configuration"); - } - } - - /** * Invokes the appropriate constructor to create a {@link ConfiguredTarget} instance. * * <p>For use in {@code ConfiguredTargetFunction}. diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java index 9a0a54d270..a3d59837fa 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java @@ -18,7 +18,6 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Joiner; import com.google.common.base.Splitter; import com.google.common.base.Suppliers; -import com.google.common.base.Verify; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ClassToInstanceMap; import com.google.common.collect.ImmutableCollection; @@ -165,21 +164,6 @@ public class BuildConfiguration implements BuildConfigurationApi { } /** - * Returns the transition that produces the "artifact owner" for this configuration, or null - * if this configuration is its own owner. - * - * <p>If multiple fragments return the same transition, that transition is only applied - * once. Multiple fragments may not return different non-null transitions. - * - * <p>Deprecated. The only known use of this is LIPO, which is on its deathbed. - */ - @Nullable - @Deprecated - public PatchTransition getArtifactOwnerTransition() { - return null; - } - - /** * Returns an extra transition that should apply to top-level targets in this * configuration. Returns null if no transition is needed. * @@ -1840,28 +1824,6 @@ public class BuildConfiguration implements BuildConfigurationApi { } /** - * Returns the transition that produces the "artifact owner" for this configuration, or null - * if this configuration is its own owner. - */ - @Nullable - public PatchTransition getArtifactOwnerTransition() { - PatchTransition ownerTransition = null; - for (Fragment fragment : fragments.values()) { - PatchTransition fragmentTransition = fragment.getArtifactOwnerTransition(); - if (fragmentTransition != null) { - if (ownerTransition != null) { - Verify.verify(ownerTransition == fragmentTransition, - String.format( - "cannot determine owner transition: fragments returning both %s and %s", - ownerTransition.toString(), fragmentTransition.toString())); - } - ownerTransition = fragmentTransition; - } - } - return ownerTransition; - } - - /** * @return the list of default features used for all packages. */ public List<String> getDefaultFeatures() { diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java index f1df1166bc..6949b6e613 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java @@ -28,7 +28,6 @@ import com.google.devtools.build.lib.analysis.CachingAnalysisEnvironment; import com.google.devtools.build.lib.analysis.ConfiguredAspect; import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider; import com.google.devtools.build.lib.analysis.ConfiguredTarget; -import com.google.devtools.build.lib.analysis.ConfiguredTargetFactory; import com.google.devtools.build.lib.analysis.Dependency; import com.google.devtools.build.lib.analysis.DependencyResolver.InconsistentAspectOrderException; import com.google.devtools.build.lib.analysis.PlatformSemantics; @@ -749,15 +748,9 @@ public final class ConfiguredTargetFunction implements SkyFunction { @Nullable NestedSetBuilder<Package> transitivePackagesForPackageRootResolution) throws ConfiguredTargetFunctionException, InterruptedException { StoredEventHandler events = new StoredEventHandler(); - BuildConfiguration ownerConfig = - ConfiguredTargetFactory.getArtifactOwnerConfiguration( - env, configuration, defaultBuildOptions); - if (env.valuesMissing()) { - return null; - } CachingAnalysisEnvironment analysisEnvironment = view.createAnalysisEnvironment( - ConfiguredTargetKey.of(target.getLabel(), ownerConfig), + ConfiguredTargetKey.of(target.getLabel(), configuration), false, events, env, |