diff options
Diffstat (limited to 'src')
25 files changed, 4 insertions, 186 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java b/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java index 28ee44deac..f5829ed2e9 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java @@ -785,11 +785,6 @@ public abstract class DependencyResolver { public BuildOptions apply(BuildOptions options) { return toOptions; } - - @Override - public boolean defaultsToSelf() { - return false; - } } private void visitTargetVisibility( diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/ComposingPatchTransition.java b/src/main/java/com/google/devtools/build/lib/analysis/config/ComposingPatchTransition.java index fb4c7e5d6c..83fcf6dbb9 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/ComposingPatchTransition.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/ComposingPatchTransition.java @@ -29,12 +29,6 @@ public class ComposingPatchTransition implements PatchTransition { } @Override - public boolean defaultsToSelf() { - throw new UnsupportedOperationException( - "dynamic configurations don't use global transition tables"); - } - - @Override public BuildOptions apply(BuildOptions options) { return Iterables.getOnlyElement(delegate.split(options)); } diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/ComposingSplitTransition.java b/src/main/java/com/google/devtools/build/lib/analysis/config/ComposingSplitTransition.java index f6eed9f0eb..3241edccff 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/ComposingSplitTransition.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/ComposingSplitTransition.java @@ -15,7 +15,6 @@ package com.google.devtools.build.lib.analysis.config; import com.google.common.base.Preconditions; -import com.google.common.base.Verify; import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.packages.Attribute.ConfigurationTransition; import com.google.devtools.build.lib.packages.Attribute.SplitTransition; @@ -81,7 +80,6 @@ public class ComposingSplitTransition implements SplitTransition<BuildOptions> { SplitTransition split = (SplitTransition<BuildOptions>) transition; List<BuildOptions> splitOptions = split.split(fromOptions); if (splitOptions.isEmpty()) { - Verify.verify(split.defaultsToSelf()); return ImmutableList.<BuildOptions>of(fromOptions); } else { return splitOptions; @@ -92,10 +90,5 @@ public class ComposingSplitTransition implements SplitTransition<BuildOptions> { transition.getClass().getName())); } } - - @Override - public boolean defaultsToSelf() { - return true; - } } diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/ConfigurationResolver.java b/src/main/java/com/google/devtools/build/lib/analysis/config/ConfigurationResolver.java index 5432b7cbab..3f6e710430 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/ConfigurationResolver.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/ConfigurationResolver.java @@ -218,11 +218,6 @@ public final class ConfigurationResolver { return Iterables.getOnlyElement( ComposingSplitTransition.apply(options, configurator.apply(options))); } - - @Override - public boolean defaultsToSelf() { - return false; - } } /** diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/DynamicTransitionMapper.java b/src/main/java/com/google/devtools/build/lib/analysis/config/DynamicTransitionMapper.java index 66d0cf90af..5166cb677c 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/DynamicTransitionMapper.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/DynamicTransitionMapper.java @@ -47,10 +47,7 @@ public final class DynamicTransitionMapper { /** * Use this to declare a no-op transition that keeps the input configuration. */ - public static final Transition SELF = () -> { - throw new UnsupportedOperationException("This is just an alias for \"keep the input " - + "configuration\". It shouldn't actually apply a real transition"); - }; + public static final Transition SELF = new Transition() {}; private final ImmutableMap<Transition, Transition> map; diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/HostTransition.java b/src/main/java/com/google/devtools/build/lib/analysis/config/HostTransition.java index 61f3e26810..e593cd7621 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/HostTransition.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/HostTransition.java @@ -43,9 +43,4 @@ public final class HostTransition implements PatchTransition { return options.createHostOptions(); } } - - @Override - public boolean defaultsToSelf() { - return false; - } } diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/PatchTransition.java b/src/main/java/com/google/devtools/build/lib/analysis/config/PatchTransition.java index 8a78817b3d..33362b1dac 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/PatchTransition.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/PatchTransition.java @@ -58,18 +58,4 @@ public interface PatchTransition extends Attribute.Transition { * @return the options representing the desired post-transition configuration */ BuildOptions apply(BuildOptions options); - - /** - * This method is only needed for static configurations, and will go away with their removal. We - * don't want to litter the dynamic configurations API with it, so we define this default to save - * transition implementers from having to consider it. - * - * <p>If you're implementing a dynamic transition, ignore this concept completely. It has no - * effect on anything you're doing, and will be removed from the API as soon as it's safe to - * retire static configurations. - */ - @Override - default boolean defaultsToSelf() { - return false; - } } 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 bd3605627f..85a0f25b99 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 @@ -151,14 +151,6 @@ public final class Attribute implements Comparable<Attribute> { * A configuration transition. */ public interface Transition { - /** - * Usually, a non-existent entry in the configuration transition table indicates an error. - * Unfortunately, that means that we need to always build the full table. This method allows a - * transition to indicate that a non-existent entry indicates a self transition, i.e., that the - * resulting configuration is the same as the current configuration. This can simplify the code - * needed to set up the transition table. - */ - boolean defaultsToSelf(); } /** @@ -199,22 +191,7 @@ public final class Attribute implements Comparable<Attribute> { * Transition to one or more configurations. To obtain the actual child configurations, * invoke {@link Attribute#getSplitTransition(Rule)}. See {@link SplitTransition}. **/ - SPLIT(true); - - private final boolean defaultsToSelf; - - ConfigurationTransition() { - this(false); - } - - ConfigurationTransition(boolean defaultsToSelf) { - this.defaultsToSelf = defaultsToSelf; - } - - @Override - public boolean defaultsToSelf() { - return defaultsToSelf; - } + SPLIT } private enum PropertyFlag { diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java index ed17b9725f..2842572fd5 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java @@ -209,12 +209,6 @@ public final class AndroidRuleClasses { private static final class AndroidSplitTransition implements SplitTransition<BuildOptions>, SkylarkValue { - - @Override - public boolean defaultsToSelf() { - return true; - } - private static void setCrosstoolToAndroid(BuildOptions output, BuildOptions input) { AndroidConfiguration.Options inputAndroidOptions = input.get(AndroidConfiguration.Options.class); diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/ResourceFilter.java b/src/main/java/com/google/devtools/build/lib/rules/android/ResourceFilter.java index 0b73b0f511..5470f1f4ae 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/ResourceFilter.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/ResourceFilter.java @@ -868,11 +868,6 @@ public class ResourceFilter { private abstract static class BaseDynamicallyConfiguredResourceFilteringTransition implements PatchTransition { @Override - public boolean defaultsToSelf() { - return false; - } - - @Override public BuildOptions apply(BuildOptions options) { BuildOptions newOptions = options.clone(); diff --git a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagTransitionFactory.java b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagTransitionFactory.java index ea4f875dd3..d33296a329 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagTransitionFactory.java +++ b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagTransitionFactory.java @@ -54,11 +54,6 @@ public class ConfigFeatureFlagTransitionFactory implements RuleTransitionFactory } @Override - public boolean defaultsToSelf() { - throw new UnsupportedOperationException("supported in dynamic mode only"); - } - - @Override public boolean equals(Object other) { return other instanceof ConfigFeatureFlagValuesTransition && this.flagValues.equals(((ConfigFeatureFlagValuesTransition) other).flagValues); diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java index b099854b14..663312d433 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java @@ -85,11 +85,6 @@ public class CppRuleClasses { * Transition used for switching back to the LIPO-optimized configuration. */ TARGET_CONFIG_FOR_LIPO; - - @Override - public boolean defaultsToSelf() { - return true; - } } /** diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/transitions/ContextCollectorOwnerTransition.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/transitions/ContextCollectorOwnerTransition.java index 16b318c392..f353a1dec9 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/transitions/ContextCollectorOwnerTransition.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/transitions/ContextCollectorOwnerTransition.java @@ -50,9 +50,4 @@ public class ContextCollectorOwnerTransition implements PatchTransition { ownerOptions.get(CppOptions.class).lipoConfigurationState = LipoConfigurationState.APPLY_LIPO; return ownerOptions; } - - @Override - public boolean defaultsToSelf() { - return false; - } } diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/transitions/DisableLipoTransition.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/transitions/DisableLipoTransition.java index c6314971c2..f905d17054 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/transitions/DisableLipoTransition.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/transitions/DisableLipoTransition.java @@ -48,9 +48,4 @@ public final class DisableLipoTransition implements PatchTransition { CppOptions.LipoConfigurationState.IGNORE_LIPO; return lipoDisabledOptions; } - - @Override - public boolean defaultsToSelf() { - return false; - } } diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/transitions/EnableLipoTransition.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/transitions/EnableLipoTransition.java index d61b73fd65..c0b9e5cef7 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/transitions/EnableLipoTransition.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/transitions/EnableLipoTransition.java @@ -20,7 +20,6 @@ import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.rules.cpp.CppOptions; import com.google.devtools.build.lib.rules.cpp.CppOptions.LipoConfigurationState; - import java.util.Objects; /** @@ -55,11 +54,6 @@ public class EnableLipoTransition implements PatchTransition { } @Override - public boolean defaultsToSelf() { - return false; - } - - @Override public boolean equals(Object other) { if (this == other) { return true; diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/transitions/LipoContextCollectorTransition.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/transitions/LipoContextCollectorTransition.java index 1259c7534c..f80d81d8a0 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/transitions/LipoContextCollectorTransition.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/transitions/LipoContextCollectorTransition.java @@ -47,9 +47,4 @@ public class LipoContextCollectorTransition implements PatchTransition { CppOptions.LipoConfigurationState.LIPO_CONTEXT_COLLECTOR; return collectorOptions; } - - @Override - public boolean defaultsToSelf() { - return false; - } } diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleCrosstoolTransition.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleCrosstoolTransition.java index dcd78dee90..b8c796e5ca 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleCrosstoolTransition.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleCrosstoolTransition.java @@ -35,11 +35,6 @@ public class AppleCrosstoolTransition implements PatchTransition { * A singleton instance of AppleCrosstoolTransition. */ public static final PatchTransition APPLE_CROSSTOOL_TRANSITION = new AppleCrosstoolTransition(); - - @Override - public boolean defaultsToSelf() { - return true; - } @Override public BuildOptions apply(BuildOptions buildOptions) { diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchSplitTransitionProvider.java b/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchSplitTransitionProvider.java index 6a6d19b3d4..a80f350fe2 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchSplitTransitionProvider.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchSplitTransitionProvider.java @@ -258,10 +258,5 @@ public class MultiArchSplitTransitionProvider implements SplitTransitionProvider } return splitBuildOptions.build(); } - - @Override - public boolean defaultsToSelf() { - return true; - } } } diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java index fba1b24ba5..d33cb964e7 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java @@ -1352,11 +1352,6 @@ public final class ReleaseBundlingSupport { } } - @Override - public boolean defaultsToSelf() { - return true; - } - /** Returns the configuration distinguisher for this transition instance. */ protected ConfigurationDistinguisher getConfigurationDistinguisher() { return ConfigurationDistinguisher.IOS_APPLICATION; 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 9832487cfc..2b18dc8b01 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 @@ -788,8 +788,7 @@ public final class ConfiguredTargetFunction implements SkyFunction { ((Attribute.SplitTransition<BuildOptions>) transition).split(fromOptions); if (toOptions.isEmpty()) { // When the split returns an empty list, it's signaling it doesn't apply to this instance. - // Check that it's safe to skip the transition and return the original options. - Verify.verify(transition.defaultsToSelf()); + // So return the original options. result = ImmutableList.<BuildOptions>of(fromOptions); } else { result = toOptions; diff --git a/src/test/java/com/google/devtools/build/lib/analysis/ConfigurationsForLateBoundTargetsTest.java b/src/test/java/com/google/devtools/build/lib/analysis/ConfigurationsForLateBoundTargetsTest.java index 3fc5127667..7112ba6dfa 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/ConfigurationsForLateBoundTargetsTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/ConfigurationsForLateBoundTargetsTest.java @@ -57,11 +57,6 @@ public class ConfigurationsForLateBoundTargetsTest extends AnalysisTestCase { toOptions.get(LateBoundSplitUtil.TestOptions.class).fooFlag = "PATCHED!"; return toOptions; } - - @Override - public boolean defaultsToSelf() { - return false; - } }; /** diff --git a/src/test/java/com/google/devtools/build/lib/analysis/LateBoundSplitUtil.java b/src/test/java/com/google/devtools/build/lib/analysis/LateBoundSplitUtil.java index edc480354c..36df7a21d5 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/LateBoundSplitUtil.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/LateBoundSplitUtil.java @@ -67,11 +67,6 @@ public class LateBoundSplitUtil { split2.get(TestOptions.class).fooFlag = "two"; return ImmutableList.<BuildOptions>of(split1, split2); } - - @Override - public boolean defaultsToSelf() { - return false; - } }; /** @@ -155,4 +150,4 @@ public class LateBoundSplitUtil { static TestOptions getOptions(BuildConfiguration config) { return config.getOptions().get(TestOptions.class); } -}
\ No newline at end of file +} diff --git a/src/test/java/com/google/devtools/build/lib/analysis/TestConfigFragments.java b/src/test/java/com/google/devtools/build/lib/analysis/TestConfigFragments.java index 1abd0d8683..83920038a6 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/TestConfigFragments.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/TestConfigFragments.java @@ -41,12 +41,6 @@ public class TestConfigFragments { } @Override - public boolean defaultsToSelf() { - throw new UnsupportedOperationException( - "dynamic configurations don't use global transition tables"); - } - - @Override public BuildOptions apply(BuildOptions options) { BuildOptions toOptions = options.clone(); BuildConfiguration.Options coreOptions = diff --git a/src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java b/src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java index b5d74d7852..70ffa8f573 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java +++ b/src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java @@ -294,11 +294,6 @@ public class AttributeTest { private static class TestSplitTransition implements SplitTransition<BuildOptions> { @Override - public boolean defaultsToSelf() { - return true; - } - - @Override public List<BuildOptions> split(BuildOptions buildOptions) { return ImmutableList.of(buildOptions.clone(), buildOptions.clone()); } diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsWithDynamicConfigurationsTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsWithDynamicConfigurationsTest.java index 04180a87f8..ed71e45dbb 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsWithDynamicConfigurationsTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsWithDynamicConfigurationsTest.java @@ -76,11 +76,6 @@ public class ConfigurationsForTargetsWithDynamicConfigurationsTest public List<BuildOptions> split(BuildOptions buildOptions) { return ImmutableList.of(); } - - @Override - public boolean defaultsToSelf() { - return true; - } } private static class SetsHostCpuSplitTransition implements SplitTransition<BuildOptions> { @@ -90,11 +85,6 @@ public class ConfigurationsForTargetsWithDynamicConfigurationsTest result.get(BuildConfiguration.Options.class).hostCpu = "SET BY SPLIT"; return ImmutableList.of(result); } - - @Override - public boolean defaultsToSelf() { - return true; - } } private static class SetsCpuSplitTransition implements SplitTransition<BuildOptions> { @@ -105,11 +95,6 @@ public class ConfigurationsForTargetsWithDynamicConfigurationsTest result.get(BuildConfiguration.Options.class).cpu = "SET BY SPLIT"; return ImmutableList.of(result); } - - @Override - public boolean defaultsToSelf() { - return true; - } } private static class SetsCpuPatchTransition implements PatchTransition { @@ -120,11 +105,6 @@ public class ConfigurationsForTargetsWithDynamicConfigurationsTest result.get(BuildConfiguration.Options.class).cpu = "SET BY PATCH"; return result; } - - @Override - public boolean defaultsToSelf() { - return true; - } } /** Base rule that depends on the test configuration fragment. */ @@ -224,11 +204,6 @@ public class ConfigurationsForTargetsWithDynamicConfigurationsTest result.get(TestConfiguration.TestOptions.class).testFilter = "SET BY PATCH FACTORY: " + value; return result; } - - @Override - public boolean defaultsToSelf() { - return true; - } } private static class SetsTestFilterFromAttributeTransitionFactory @@ -475,11 +450,6 @@ public class ConfigurationsForTargetsWithDynamicConfigurationsTest baseOptions.testFilter = (nullToEmpty(baseOptions.testFilter)) + value; return toOptions; } - - @Override - public boolean defaultsToSelf() { - return false; - } }; } @@ -503,11 +473,6 @@ public class ConfigurationsForTargetsWithDynamicConfigurationsTest } return result.build(); } - - @Override - public boolean defaultsToSelf() { - return false; - } }; } |