aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar gregce <gregce@google.com>2018-06-15 13:23:34 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-15 13:25:41 -0700
commitd56e958a16a59d313dc935f3df673215beaaf41c (patch)
tree0a110f97ae205b2700a8afb8f2d05e45d02baf9c /src
parent8f93d05941ccb5f0ce203af45919715131d247fd (diff)
Remove "artifactOwnerConfiguration" now that LIPO is gone
PiperOrigin-RevId: 200763653
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java49
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java38
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java9
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,