aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
diff options
context:
space:
mode:
authorGravatar gregce <gregce@google.com>2017-08-17 20:50:22 +0200
committerGravatar Irina Iancu <elenairina@google.com>2017-08-18 09:01:36 +0200
commit8b4f9f51f664c722f76d224a4d19c41d10cd20b7 (patch)
treee26ccae968920fefeae375b19f1e27be85dea844 /src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
parente4bdbe7fd4c5be7ff6bf44468d7a5c2d9e6f2299 (diff)
Remove ConfigurationCollection{Function,Value}, BuildConfigurationCollection.Transitions.
Part of the static config cleanup effort. PiperOrigin-RevId: 165607492
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java90
1 files changed, 4 insertions, 86 deletions
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 6f97280f50..c5f59d6e8e 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
@@ -29,7 +29,6 @@ import com.google.common.collect.ImmutableSortedMap;
import com.google.common.collect.Interner;
import com.google.common.collect.Interners;
import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.google.common.collect.MutableClassToInstanceMap;
@@ -41,7 +40,6 @@ import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider;
import com.google.devtools.build.lib.analysis.Dependency;
import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.analysis.actions.FileWriteAction;
-import com.google.devtools.build.lib.analysis.config.BuildConfigurationCollection.Transitions;
import com.google.devtools.build.lib.buildeventstream.BuildEvent;
import com.google.devtools.build.lib.buildeventstream.BuildEventConverters;
import com.google.devtools.build.lib.buildeventstream.BuildEventId;
@@ -1096,7 +1094,6 @@ public final class BuildConfiguration implements BuildEvent {
private final String checksum;
- private Transitions transitions;
private Set<BuildConfiguration> allReachableConfigurations;
private final ImmutableMap<Class<? extends Fragment>, Fragment> fragments;
@@ -1599,22 +1596,6 @@ public final class BuildConfiguration implements BuildEvent {
}
/**
- * Set the outgoing configuration transitions. During the lifetime of a given build configuration,
- * this must happen exactly once, shortly after the configuration is created.
- */
- public void setConfigurationTransitions(Transitions transitions) {
- // TODO(bazel-team): This method makes the object mutable - get rid of it. Dynamic
- // configurations should eventually make this obsolete.
- Preconditions.checkNotNull(transitions);
- Preconditions.checkState(this.transitions == null);
- this.transitions = transitions;
- }
-
- public Transitions getTransitions() {
- return transitions;
- }
-
- /**
* For static configurations, returns all configurations that can be reached from this one through
* any kind of configuration transition.
*
@@ -1642,39 +1623,11 @@ public final class BuildConfiguration implements BuildEvent {
if (!result.add(config)) {
continue;
}
- config.getTransitions().addDirectlyReachableConfigurations(queue);
}
return result;
}
/**
- * Returns the new configuration after traversing a dependency edge with a given configuration
- * transition.
- *
- * @param transition the configuration transition
- * @return the new configuration
- * @throws IllegalArgumentException if the transition is a {@link SplitTransition}
- *
- * TODO(bazel-team): remove this as part of the static -> dynamic configuration migration
- */
- public BuildConfiguration getConfiguration(Transition transition) {
- Preconditions.checkArgument(!(transition instanceof SplitTransition));
- // The below call precondition-checks we're indeed using static configurations.
- return transitions.getStaticConfiguration(transition);
- }
-
- /**
- * Returns the new configurations after traversing a dependency edge with a given split
- * transition.
- *
- * @param transition the split configuration transition
- * @return the new configurations
- */
- public List<BuildConfiguration> getSplitConfigurations(SplitTransition<?> transition) {
- return transitions.getSplitConfigurations(transition);
- }
-
- /**
* A common interface for static vs. dynamic configuration implementations that allows
* common configuration and transition-selection logic to seamlessly work with either.
*
@@ -1707,8 +1660,7 @@ public final class BuildConfiguration implements BuildEvent {
void applyAttributeConfigurator(Configurator<BuildOptions> configurator);
/**
- * Calls {@link Transitions#configurationHook} on the current configuration(s) represent by
- * this instance.
+ * Applies a custom configuration hook for the given rule.
*/
void applyConfigurationHook(Rule fromRule, Attribute attribute, Target toTarget);
@@ -1739,23 +1691,12 @@ public final class BuildConfiguration implements BuildEvent {
@Override
public void applyTransition(Transition transition) {
- if (transition == Attribute.ConfigurationTransition.NULL) {
- toConfigurations = Lists.<BuildConfiguration>asList(null, new BuildConfiguration[0]);
- } else {
- ImmutableList.Builder<BuildConfiguration> newConfigs = ImmutableList.builder();
- for (BuildConfiguration currentConfig : toConfigurations) {
- newConfigs.add(currentConfig.getTransitions().getStaticConfiguration(transition));
- }
- toConfigurations = newConfigs.build();
- }
+ throw new UnsupportedOperationException("dead static config code being removed");
}
@Override
public void split(SplitTransition<BuildOptions> splitTransition) {
- // Split transitions can't be nested, so if we're splitting we must be doing it over
- // a single config.
- toConfigurations =
- Iterables.getOnlyElement(toConfigurations).getSplitConfigurations(splitTransition);
+ throw new UnsupportedOperationException("dead static config code being removed");
}
@Override
@@ -1775,18 +1716,7 @@ public final class BuildConfiguration implements BuildEvent {
@Override
public void applyConfigurationHook(Rule fromRule, Attribute attribute, Target toTarget) {
- ImmutableList.Builder<BuildConfiguration> toConfigs = ImmutableList.builder();
- for (BuildConfiguration currentConfig : toConfigurations) {
- // BuildConfigurationCollection.configurationHook can apply further transitions. We want
- // those transitions to only affect currentConfig (not everything in toConfigurations), so
- // we use a delegate bound to only that config.
- StaticTransitionApplier delegate = new StaticTransitionApplier(currentConfig);
- currentConfig.getTransitions().configurationHook(fromRule, attribute, toTarget, delegate);
- currentConfig = Iterables.getOnlyElement(delegate.toConfigurations);
-
- toConfigs.add(currentConfig);
- }
- toConfigurations = toConfigs.build();
+ throw new UnsupportedOperationException("dead static config code being removed");
}
@Override
@@ -2583,8 +2513,6 @@ public final class BuildConfiguration implements BuildEvent {
/**
* Returns the transition that produces the "artifact owner" for this configuration, or null
* if this configuration is its own owner.
- *
- * <p>This is the dynamic configuration version of {@link #getArtifactOwnerConfiguration}.
*/
@Nullable
public PatchTransition getArtifactOwnerTransition() {
@@ -2606,16 +2534,6 @@ public final class BuildConfiguration implements BuildEvent {
}
/**
- * See {@code BuildConfigurationCollection.Transitions.getArtifactOwnerConfiguration()}.
- *
- * <p>This is the static configuration version of {@link #getArtifactOwnerTransition}.
- */
- public BuildConfiguration getArtifactOwnerConfiguration() {
- Preconditions.checkState(!useDynamicConfigurations());
- return transitions.getArtifactOwnerConfiguration();
- }
-
- /**
* @return the list of default features used for all packages.
*/
public List<String> getDefaultFeatures() {