From f2c1e8331faf39406a889429de1cbdd9e03e1e3b Mon Sep 17 00:00:00 2001 From: gregce Date: Tue, 12 Sep 2017 23:10:38 +0200 Subject: Remove outdated Attribute.Configurator interface. With dynamic configurations we no longer need a special class to apply transitions: a simple patch transition bound to an attribute works just as well. PiperOrigin-RevId: 168442602 --- .../devtools/build/lib/packages/Attribute.java | 44 +--------------------- 1 file changed, 1 insertion(+), 43 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/packages/Attribute.java') diff --git a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java index 85a0f25b99..5a020be02f 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java +++ b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java @@ -310,22 +310,6 @@ public final class Attribute implements Comparable { } }; - /** - * Using this callback function, rules can change the configuration of their dependencies during - * the analysis phase. - * - *

If dynamic configurations are enabled, the returned transition must be a - * {@link com.google.devtools.build.lib.analysis.config.PatchTransition}. - * - * @deprecated this is only needed for statically configured builds. Dynamically configured builds - * should just use {@link Attribute.Builder#cfg(Transition)}} with a directly provided - * {@link com.google.devtools.build.lib.analysis.config.PatchTransition}. - */ - @Deprecated - public interface Configurator { - Transition apply(TBuildOptions fromOptions); - } - /** * Provides a {@link SplitTransition} given the originating target {@link Rule}. The split * transition may be constant for all instances of the originating rule, or it may differ @@ -424,7 +408,6 @@ public final class Attribute implements Comparable { private Transition configTransition = ConfigurationTransition.NONE; private Predicate allowedRuleClassesForLabels = Predicates.alwaysTrue(); private Predicate allowedRuleClassesForLabelsWarning = Predicates.alwaysFalse(); - private Configurator configurator; private SplitTransitionProvider splitTransitionProvider; private FileTypeSet allowedFileTypesForLabels; private ValidityPredicate validityPredicate = ANY_EDGE; @@ -575,17 +558,6 @@ public final class Attribute implements Comparable { } } - /** - * @deprecated Use {@link #cfg(Transition)}} with a - * {@link com.google.devtools.build.lib.analysis.config.PatchTransition} instead. This method - * only provides legacy support for statically configured builds. - */ - @Deprecated - public Builder cfg(Configurator configurator) { - this.configurator = configurator; - return this; - } - /** * Requires the attribute target to be executable; only for label or label * list attributes. Defaults to {@code false}. @@ -1143,7 +1115,6 @@ public final class Attribute implements Comparable { Sets.immutableEnumSet(propertyFlags), valueSet ? value : type.getDefaultValue(), configTransition, - configurator, splitTransitionProvider, allowedRuleClassesForLabels, allowedRuleClassesForLabelsWarning, @@ -1731,7 +1702,6 @@ public final class Attribute implements Comparable { private final Transition configTransition; - private final Configurator configurator; private final SplitTransitionProvider splitTransitionProvider; /** @@ -1786,7 +1756,6 @@ public final class Attribute implements Comparable { Set propertyFlags, Object defaultValue, Transition configTransition, - Configurator configurator, SplitTransitionProvider splitTransitionProvider, Predicate allowedRuleClassesForLabels, Predicate allowedRuleClassesForLabelsWarning, @@ -1798,7 +1767,7 @@ public final class Attribute implements Comparable { ImmutableList> aspects) { Preconditions.checkNotNull(configTransition); Preconditions.checkArgument( - (configTransition == ConfigurationTransition.NONE && configurator == null) + (configTransition == ConfigurationTransition.NONE) || type.getLabelClass() == LabelClass.DEPENDENCY || type.getLabelClass() == LabelClass.NONDEP_REFERENCE, "Configuration transitions can only be specified for label or label list attributes"); @@ -1808,8 +1777,6 @@ public final class Attribute implements Comparable { name); if (isLateBound(name)) { LateBoundDefault lateBoundDefault = (LateBoundDefault) defaultValue; - Preconditions.checkArgument((configurator == null), - "a late bound attribute cannot specify a configurator"); Preconditions.checkArgument(!lateBoundDefault.useHostConfiguration() || (configTransition == ConfigurationTransition.HOST), "a late bound default value using the host configuration must use the host transition"); @@ -1820,7 +1787,6 @@ public final class Attribute implements Comparable { this.propertyFlags = propertyFlags; this.defaultValue = defaultValue; this.configTransition = configTransition; - this.configurator = configurator; this.splitTransitionProvider = splitTransitionProvider; this.allowedRuleClassesForLabels = allowedRuleClassesForLabels; this.allowedRuleClassesForLabelsWarning = allowedRuleClassesForLabelsWarning; @@ -1919,14 +1885,6 @@ public final class Attribute implements Comparable { return configTransition; } - /** - * Returns the configurator instance for this attribute for label or label list attributes. - * For other attributes it will always return {@code null}. - */ - public Configurator getConfigurator() { - return configurator; - } - /** * Returns the split configuration transition for this attribute. * -- cgit v1.2.3