Remove references to experimental feature. Closes #11750 RELNOTES: None. PiperOrigin-RevId: 338309283
diff --git a/site/docs/skylark/config.md b/site/docs/skylark/config.md index 9771feb..30ecbac 100644 --- a/site/docs/skylark/config.md +++ b/site/docs/skylark/config.md
@@ -262,9 +262,6 @@ on the command line. Aliases function similarly to native flags and also make use of the double-dash option syntax. -Note: This feature is currently experimental. To enable it, set -`--experimental_enable_flag_alias` to true. - Set an alias by adding `--flag_alias=ALIAS_NAME=TARGET_PATH` to your `.bazelrc` . For example, to set an alias to `coffee`:
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/CoreOptions.java b/src/main/java/com/google/devtools/build/lib/analysis/config/CoreOptions.java index 8e292e3..c016d6c 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/CoreOptions.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/CoreOptions.java
@@ -833,17 +833,6 @@ help = "Whether to enable the use of AggregatingMiddleman in rules.") public boolean enableAggregatingMiddleman; - // TODO(b/132346407): Remove when all usages are gone. - @Option( - name = "experimental_enable_flag_alias", - defaultValue = "true", - documentationCategory = OptionDocumentationCategory.INPUT_STRICTNESS, - effectTags = {OptionEffectTag.CHANGES_INPUTS}, - metadataTags = {OptionMetadataTag.EXPERIMENTAL}, - help = "When enabled, alternate names can be assigned to Starlark-defined flags.") - public boolean enableFlagAlias; - - // TODO(b/132346407): Update docs when the feature is fully implemented @Option( name = "flag_alias", converter = Converters.FlagAliasConverter.class, @@ -853,8 +842,7 @@ effectTags = {OptionEffectTag.CHANGES_INPUTS}, help = "Sets a shorthand name for a Starlark flag. It takes a single key-value pair in the form" - + " \"<key>=<value>\" as an argument. This is an experimental feature and will be" - + " ignored unless --experimental_enable_flag_alias is set to true.") + + " \"<key>=<value>\" as an argument.") public List<Map.Entry<String, String>> commandLineFlagAliases; @Option(
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeOptionHandler.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeOptionHandler.java index 6f56907..9d144ca 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeOptionHandler.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeOptionHandler.java
@@ -20,7 +20,6 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.ListMultimap; import com.google.common.flogger.GoogleLogger; -import com.google.devtools.build.lib.analysis.config.CoreOptions; import com.google.devtools.build.lib.events.Event; import com.google.devtools.build.lib.events.EventHandler; import com.google.devtools.build.lib.events.ExtendedEventHandler; @@ -42,7 +41,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.function.Function; @@ -243,9 +241,6 @@ optionsParser.parseWithSourceFunction( PriorityCategory.COMMAND_LINE, commandOptionSourceFunction, remainingCmdLine.build()); - // TODO(b/132346407) : Remove when shorthand aliasing is fully implemented - validateFlagAliasUsage(optionsParser); - if (commandAnnotation.builds()) { // splits project files from targets in the traditional sense ProjectFileSupport.handleProjectFiles( @@ -521,41 +516,4 @@ } } } - - private static void validateFlagAliasUsage(OptionsParser optionsParser) - throws OptionsParsingException { - - CoreOptions coreOptions = optionsParser.getOptions(CoreOptions.class); - - // --flag_alias would've thrown an error before reaching this if it was used, but CoreOptions - // may not necessarily be present - if (coreOptions == null) { - return; - } - - List<Map.Entry<String, String>> collectedAliases = coreOptions.commandLineFlagAliases; - if (collectedAliases.isEmpty()) { - return; - } - - if (coreOptions.enableFlagAlias) { - return; - } - - String detectedAliases = - "Detected aliases: --flag_alias=" - + collectedAliases.get(0).getKey() - + "=" - + collectedAliases.get(0).getValue(); - for (int i = 1; i < collectedAliases.size(); i++) { - Map.Entry<String, String> entry = collectedAliases.get(i); - String aliasString = ", --flag_alias=" + entry.getKey() + "=" + entry.getValue(); - detectedAliases += aliasString; - } - - throw new OptionsParsingException( - "--flag_alias is experimental. Set --experimental_enable_flag_alias to true to make use of" - + " it. " - + detectedAliases); - } }
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/FlagAliasTest.java b/src/test/java/com/google/devtools/build/lib/runtime/FlagAliasTest.java index b59262b..11f024c 100644 --- a/src/test/java/com/google/devtools/build/lib/runtime/FlagAliasTest.java +++ b/src/test/java/com/google/devtools/build/lib/runtime/FlagAliasTest.java
@@ -55,75 +55,9 @@ } @Test - public void useAliasWithSetDisabledFeature() { - ImmutableList<String> args = - ImmutableList.of( - "c0", - "--rc_source=/somewhere/.blazerc", - "--noexperimental_enable_flag_alias", - "--flag_alias=foo=//bar"); - optionHandler.parseOptions(args, eventHandler); - assertThat(eventHandler.getEvents()) - .contains( - Event.error( - "--flag_alias is experimental. Set --experimental_enable_flag_alias to true to" - + " make use of it. Detected aliases: --flag_alias=foo=//bar")); - } - - @Test - public void useAliasWithSetDisabledFeatureRcFile() { - ImmutableList<String> args = - ImmutableList.of( - "c0", - "--default_override=0:c0=--noexperimental_enable_flag_alias", - "--rc_source=/somewhere/.blazerc", - "--flag_alias=foo=//bar"); - optionHandler.parseOptions(args, eventHandler); - assertThat(eventHandler.getEvents()) - .contains( - Event.error( - "--flag_alias is experimental. Set --experimental_enable_flag_alias to true to" - + " make use of it. Detected aliases: --flag_alias=foo=//bar")); - } - - @Test - public void useAliasWithSetEnabledFeature() { - ImmutableList<String> args = - ImmutableList.of( - "c0", - "--rc_source=/somewhere/.blazerc", - "--experimental_enable_flag_alias", - "--flag_alias=foo=//bar"); - optionHandler.parseOptions(args, eventHandler); - assertThat(eventHandler.hasErrors()).isFalse(); - } - - @Test - public void multipleAliasesLoggedInError() { - ImmutableList<String> args = - ImmutableList.of( - "c0", - "--rc_source=/somewhere/.blazerc", - "--noexperimental_enable_flag_alias", - "--flag_alias=foo=//bar", - "--flag_alias=baz=//baz2"); - optionHandler.parseOptions(args, eventHandler); - assertThat(eventHandler.getEvents()) - .contains( - Event.error( - "--flag_alias is experimental. Set --experimental_enable_flag_alias to true to" - + " make use of it. Detected aliases: --flag_alias=foo=//bar," - + " --flag_alias=baz=//baz2")); - } - - @Test public void useAliasWithNonStarlarkFlag() { ImmutableList<String> args = - ImmutableList.of( - "c0", - "--rc_source=/somewhere/.blazerc", - "--experimental_enable_flag_alias", - "--flag_alias=foo=bar"); + ImmutableList.of("c0", "--rc_source=/somewhere/.blazerc", "--flag_alias=foo=bar"); optionHandler.parseOptions(args, eventHandler); assertThat(eventHandler.getEvents()) .contains( @@ -135,11 +69,7 @@ @Test public void useAliasWithValueAssignment() { ImmutableList<String> args = - ImmutableList.of( - "c0", - "--rc_source=/somewhere/.blazerc", - "--experimental_enable_flag_alias", - "--flag_alias=foo=//bar=7"); + ImmutableList.of("c0", "--rc_source=/somewhere/.blazerc", "--flag_alias=foo=//bar=7"); optionHandler.parseOptions(args, eventHandler); assertThat(eventHandler.getEvents()) .contains( @@ -151,11 +81,7 @@ @Test public void useAliasWithInvalidName() { ImmutableList<String> args = - ImmutableList.of( - "c0", - "--rc_source=/somewhere/.blazerc", - "--experimental_enable_flag_alias", - "--flag_alias=bad$foo=//bar"); + ImmutableList.of("c0", "--rc_source=/somewhere/.blazerc", "--flag_alias=bad$foo=//bar"); optionHandler.parseOptions(args, eventHandler); assertThat(eventHandler.getEvents()) .contains( @@ -167,11 +93,7 @@ @Test public void useAliasWithoutEqualsInValue() { ImmutableList<String> args = - ImmutableList.of( - "c0", - "--rc_source=/somewhere/.blazerc", - "--experimental_enable_flag_alias", - "--flag_alias=foo"); + ImmutableList.of("c0", "--rc_source=/somewhere/.blazerc", "--flag_alias=foo"); optionHandler.parseOptions(args, eventHandler); assertThat(eventHandler.getEvents()) .contains( @@ -183,12 +105,7 @@ @Test public void useAliasWithoutEqualsInArg() { ImmutableList<String> args = - ImmutableList.of( - "c0", - "--rc_source=/somewhere/.blazerc", - "--experimental_enable_flag_alias", - "--flag_alias", - "foo=//bar"); + ImmutableList.of("c0", "--rc_source=/somewhere/.blazerc", "--flag_alias", "foo=//bar"); optionHandler.parseOptions(args, eventHandler); assertThat(eventHandler.hasErrors()).isFalse(); } @@ -197,11 +114,7 @@ public void useAliasWithBooleanSyntax() { ImmutableList<String> args = ImmutableList.of( - "c0", - "--rc_source=/somewhere/.blazerc", - "--experimental_enable_flag_alias", - "--flag_alias=foo=//bar", - "--foo"); + "c0", "--rc_source=/somewhere/.blazerc", "--flag_alias=foo=//bar", "--foo"); optionHandler.parseOptions(args, eventHandler); assertThat(parser.getResidue()).contains("--//bar"); } @@ -212,7 +125,6 @@ ImmutableList.of( "c0", "--rc_source=/somewhere/.blazerc", - "--experimental_enable_flag_alias", "--flag_alias=foo=//bar", "--nofoo"); optionHandler.parseOptions(args, eventHandler); @@ -226,7 +138,6 @@ ImmutableList.of( "c0", "--rc_source=/somewhere/.blazerc", - "--experimental_enable_flag_alias", "--flag_alias=foo=//bar", "--foo", "--flag_alias=foo=//baz", @@ -241,7 +152,6 @@ ImmutableList<String> args = ImmutableList.of( "c0", - "--default_override=0:c0=--experimental_enable_flag_alias", "--default_override=0:c0=--flag_alias=foo=//bar", "--default_override=0:c0=--foo", "--rc_source=/somewhere/.blazerc"); @@ -255,7 +165,6 @@ ImmutableList<String> args = ImmutableList.of( "c0", - "--default_override=0:c0=--experimental_enable_flag_alias", "--default_override=0:c0=--flag_alias=foo=//bar", "--rc_source=/somewhere/.blazerc", "--foo"); @@ -268,11 +177,7 @@ public void setAliasOnCommandLine_useOnCommandLine() { ImmutableList<String> args = ImmutableList.of( - "c0", - "--rc_source=/somewhere/.blazerc", - "--experimental_enable_flag_alias", - "--flag_alias=foo=//bar", - "--foo=7"); + "c0", "--rc_source=/somewhere/.blazerc", "--flag_alias=foo=//bar", "--foo=7"); ImmutableList<String> expectedResidue = ImmutableList.of("--//bar=7"); optionHandler.parseOptions(args, eventHandler); assertThat(parser.getResidue()).isEqualTo(expectedResidue); @@ -285,7 +190,6 @@ "c0", "--default_override=0:c0=--foo=7", "--rc_source=/somewhere/.blazerc", - "--experimental_enable_flag_alias", "--flag_alias=foo=//bar"); optionHandler.parseOptions(args, eventHandler); assertThat(eventHandler.getEvents()) @@ -296,11 +200,7 @@ public void useAliasBeforeSettingOnCommandLine() { ImmutableList<String> args = ImmutableList.of( - "c0", - "--rc_source=/somewhere/.blazerc", - "--experimental_enable_flag_alias", - "--foo=7", - "--flag_alias=foo=//bar"); + "c0", "--rc_source=/somewhere/.blazerc", "--foo=7", "--flag_alias=foo=//bar"); optionHandler.parseOptions(args, eventHandler); assertThat(eventHandler.getEvents()) .contains(Event.error("--foo=7 :: Unrecognized option: --foo=7").withTag(BAD_OPTION_TAG));