diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build')
4 files changed, 5 insertions, 110 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/PlatformConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/PlatformConfiguration.java index 021c673010..97c7f4fc29 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/PlatformConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/PlatformConfiguration.java @@ -15,7 +15,6 @@ package com.google.devtools.build.lib.analysis; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.concurrent.ThreadSafety; @@ -42,7 +41,6 @@ public class PlatformConfiguration extends BuildConfiguration.Fragment { private final ImmutableList<Label> extraExecutionPlatforms; private final ImmutableList<Label> targetPlatforms; private final ImmutableList<Label> extraToolchains; - private final ImmutableMap<Label, Label> toolchainResolutionOverrides; private final ImmutableList<Label> enabledToolchainTypes; @AutoCodec.Instantiator @@ -51,13 +49,11 @@ public class PlatformConfiguration extends BuildConfiguration.Fragment { ImmutableList<Label> extraExecutionPlatforms, ImmutableList<Label> targetPlatforms, ImmutableList<Label> extraToolchains, - ImmutableMap<Label, Label> toolchainResolutionOverrides, ImmutableList<Label> enabledToolchainTypes) { this.executionPlatform = executionPlatform; this.extraExecutionPlatforms = extraExecutionPlatforms; this.targetPlatforms = targetPlatforms; this.extraToolchains = extraToolchains; - this.toolchainResolutionOverrides = toolchainResolutionOverrides; this.enabledToolchainTypes = enabledToolchainTypes; } @@ -85,16 +81,6 @@ public class PlatformConfiguration extends BuildConfiguration.Fragment { return extraToolchains; } - /** Returns {@code true} if the given toolchain type has a manual override set. */ - public boolean hasToolchainOverride(Label toolchainType) { - return toolchainResolutionOverrides.containsKey(toolchainType); - } - - /** Returns the {@link Label} of the toolchain to use for the given toolchain type. */ - public Label getToolchainOverride(Label toolchainType) { - return toolchainResolutionOverrides.get(toolchainType); - } - @SkylarkCallable( name = "enabled_toolchain_types", structField = true, diff --git a/src/main/java/com/google/devtools/build/lib/analysis/PlatformConfigurationLoader.java b/src/main/java/com/google/devtools/build/lib/analysis/PlatformConfigurationLoader.java index c4f9c8b61d..cdc4893850 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/PlatformConfigurationLoader.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/PlatformConfigurationLoader.java @@ -15,9 +15,7 @@ package com.google.devtools.build.lib.analysis; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; -import com.google.devtools.build.lib.analysis.PlatformOptions.ToolchainResolutionOverride; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.analysis.config.BuildOptions; import com.google.devtools.build.lib.analysis.config.ConfigurationEnvironment; @@ -25,7 +23,6 @@ import com.google.devtools.build.lib.analysis.config.ConfigurationFragmentFactor import com.google.devtools.build.lib.analysis.config.FragmentOptions; import com.google.devtools.build.lib.analysis.config.InvalidConfigurationException; import com.google.devtools.build.lib.cmdline.Label; -import java.util.List; /** A loader that creates {@link PlatformConfiguration} instances based on command-line options. */ public class PlatformConfigurationLoader implements ConfigurationFragmentFactory { @@ -55,16 +52,6 @@ public class PlatformConfigurationLoader implements ConfigurationFragmentFactory ImmutableList.copyOf(options.extraExecutionPlatforms), ImmutableList.copyOf(options.platforms), ImmutableList.copyOf(options.extraToolchains), - convertOverrides(options.toolchainResolutionOverrides), ImmutableList.copyOf(options.enabledToolchainTypes)); } - - private static ImmutableMap<Label, Label> convertOverrides( - List<ToolchainResolutionOverride> overrides) { - ImmutableMap.Builder<Label, Label> builder = new ImmutableMap.Builder<>(); - for (ToolchainResolutionOverride override : overrides) { - builder.put(override.toolchainType(), override.toolchainLabel()); - } - return builder.build(); - } } diff --git a/src/main/java/com/google/devtools/build/lib/analysis/PlatformOptions.java b/src/main/java/com/google/devtools/build/lib/analysis/PlatformOptions.java index bfd84ee776..51bfd8a15d 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/PlatformOptions.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/PlatformOptions.java @@ -14,25 +14,16 @@ package com.google.devtools.build.lib.analysis; -import static com.google.devtools.build.lib.analysis.config.BuildConfiguration.convertOptionsLabel; - -import com.google.auto.value.AutoValue; import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.analysis.config.BuildConfiguration.LabelListConverter; import com.google.devtools.build.lib.analysis.config.FragmentOptions; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec; -import com.google.devtools.build.lib.skyframe.serialization.SerializationException; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; -import com.google.devtools.common.options.Converter; import com.google.devtools.common.options.Option; import com.google.devtools.common.options.OptionDocumentationCategory; import com.google.devtools.common.options.OptionEffectTag; -import com.google.devtools.common.options.OptionsParsingException; -import com.google.protobuf.CodedInputStream; -import com.google.protobuf.CodedOutputStream; -import java.io.IOException; import java.util.List; /** Command-line options for platform-related configuration. */ @@ -116,21 +107,23 @@ public class PlatformOptions extends FragmentOptions { @Option( name = "toolchain_resolution_override", - converter = ToolchainResolutionOverrideConverter.class, allowMultiple = true, defaultValue = "", - documentationCategory = OptionDocumentationCategory.TOOLCHAIN, + documentationCategory = OptionDocumentationCategory.UNDOCUMENTED, effectTags = { OptionEffectTag.AFFECTS_OUTPUTS, OptionEffectTag.CHANGES_INPUTS, OptionEffectTag.LOADING_AND_ANALYSIS }, + deprecationWarning = + "toolchain_resolution_override is now a no-op and will be removed in" + + " an upcoming release", help = "Override toolchain resolution for a toolchain type with a specific toolchain. " + "Example: --toolchain_resolution_override=@io_bazel_rules_go//:toolchain=" + "@io_bazel_rules_go//:linux-arm64-toolchain" ) - public List<ToolchainResolutionOverride> toolchainResolutionOverrides; + public List<String> toolchainResolutionOverrides; @Option( name = "toolchain_resolution_debug", @@ -168,69 +161,4 @@ public class PlatformOptions extends FragmentOptions { host.toolchainResolutionOverrides = this.toolchainResolutionOverrides; return host; } - - /** Data about which toolchain instance should be used for a given toolchain type. */ - @AutoValue - public abstract static class ToolchainResolutionOverride { - public static final ObjectCodec<ToolchainResolutionOverride> CODEC = - new ToolchainResolutionOverrideCodec(); - - public abstract Label toolchainType(); - - public abstract Label toolchainLabel(); - - private static ToolchainResolutionOverride create(Label toolchainType, Label toolchainLabel) { - return new AutoValue_PlatformOptions_ToolchainResolutionOverride( - toolchainType, toolchainLabel); - } - - private static class ToolchainResolutionOverrideCodec - implements ObjectCodec<ToolchainResolutionOverride> { - @Override - public Class<ToolchainResolutionOverride> getEncodedClass() { - return ToolchainResolutionOverride.class; - } - - @Override - public void serialize(ToolchainResolutionOverride obj, CodedOutputStream codedOut) - throws SerializationException, IOException { - Label.CODEC.serialize(obj.toolchainType(), codedOut); - Label.CODEC.serialize(obj.toolchainLabel(), codedOut); - } - - @Override - public ToolchainResolutionOverride deserialize(CodedInputStream codedIn) - throws SerializationException, IOException { - return ToolchainResolutionOverride.create( - Label.CODEC.deserialize(codedIn), Label.CODEC.deserialize(codedIn)); - } - } - } - - /** - * {@link Converter} implementation to create {@link ToolchainResolutionOverride} instances from - * the value set in the flag. - */ - public static class ToolchainResolutionOverrideConverter - implements Converter<ToolchainResolutionOverride> { - - @Override - public ToolchainResolutionOverride convert(String input) throws OptionsParsingException { - int index = input.indexOf('='); - if (index == -1) { - throw new OptionsParsingException( - "Toolchain resolution override not in the type=toolchain format"); - } - Label toolchainType = convertOptionsLabel(input.substring(0, index)); - Label toolchain = convertOptionsLabel(input.substring(index + 1)); - - return ToolchainResolutionOverride.create(toolchainType, toolchain); - } - - @Override - public String getTypeDescription() { - return "a hard-coded override for toolchain resolution, " - + "in the format toolchainTypeLabel=toolchainLabel"; - } - } } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java index f222b3855a..0711230f24 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java @@ -49,12 +49,6 @@ public class ToolchainResolutionFunction implements SkyFunction { PlatformConfiguration platformConfiguration = configuration.getFragment(PlatformConfiguration.class); - if (platformConfiguration.hasToolchainOverride(key.toolchainType())) { - // Short circuit everything and just return the override. - return ToolchainResolutionValue.create( - platformConfiguration.getToolchainOverride(key.toolchainType())); - } - // Get all toolchains. RegisteredToolchainsValue toolchains; try { |