Make DeployArchiveBuilder fetch the C++ toolchain identifier through CcToolchainProvider instead of BuildConfiguration. This is a step towards removing BuildConfiguration#getPlatformName(). RELNOTES: None. PiperOrigin-RevId: 188862029
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 4fdbc1a..a939bdc 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
@@ -1513,7 +1513,12 @@ /** * The platform string, suitable for use as a key into a MakeEnvironment. + * + * <p>Is only there for platform-dependent vardefs. Use + * {@link com.google.devtools.build.lib.rules.cpp.CcToolchainProvider#getToolchainIdentifier() + * instead. */ + @Deprecated public String getPlatformName() { return platformName; }
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java index af351fe..561ce8e 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java
@@ -35,7 +35,6 @@ import com.google.devtools.build.lib.analysis.actions.TemplateExpansionAction.ComputedSubstitution; import com.google.devtools.build.lib.analysis.actions.TemplateExpansionAction.Substitution; import com.google.devtools.build.lib.analysis.actions.TemplateExpansionAction.Template; -import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.analysis.configuredtargets.RuleConfiguredTarget.Mode; import com.google.devtools.build.lib.analysis.test.TestConfiguration; import com.google.devtools.build.lib.bazel.rules.BazelConfiguration; @@ -755,7 +754,7 @@ @Override public CustomCommandLine buildSingleJarCommandLine( - BuildConfiguration configuration, + String toolchainIdentifier, Artifact output, String mainClass, ImmutableList<String> manifestLines,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java index 1b6ae1a..13c9166 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java
@@ -13,7 +13,6 @@ // limitations under the License. package com.google.devtools.build.lib.rules.cpp; -import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Function; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; @@ -265,10 +264,9 @@ return builtInIncludeDirectories; } - /** Returns the {@link CToolchain} for this toolchain. */ - @VisibleForTesting - public CToolchain getToolchain() { - return toolchainInfo.getToolchain(); + /** Returns the identifier of the toolchain as specified in the {@code CToolchain} proto. */ + public String getToolchainIdentifier() { + return toolchainInfo.getToolchainIdentifier(); } /**
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/DeployArchiveBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/java/DeployArchiveBuilder.java index b0eaff9..ffac9f8 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/DeployArchiveBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/DeployArchiveBuilder.java
@@ -32,6 +32,7 @@ import com.google.devtools.build.lib.collect.IterablesChain; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; +import com.google.devtools.build.lib.rules.cpp.CppHelper; import com.google.devtools.build.lib.rules.java.JavaConfiguration.OneVersionEnforcementLevel; import java.util.HashSet; import java.util.List; @@ -352,7 +353,8 @@ CommandLine commandLine = semantics.buildSingleJarCommandLine( - ruleContext.getConfiguration(), + CppHelper.getToolchainUsingDefaultCcToolchainAttribute(ruleContext) + .getToolchainIdentifier(), outputJar, javaStartClass, deployManifestLines,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java index aac466b..a7799e4 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java
@@ -33,7 +33,6 @@ import com.google.devtools.build.lib.analysis.TransitiveInfoCollection; import com.google.devtools.build.lib.analysis.actions.CustomCommandLine; import com.google.devtools.build.lib.analysis.actions.TemplateExpansionAction.ComputedSubstitution; -import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; @@ -282,7 +281,7 @@ * (java code) and {@code resources} into {@code output}. */ CustomCommandLine buildSingleJarCommandLine( - BuildConfiguration configuration, + String toolchainIdentifier, Artifact output, String mainClass, ImmutableList<String> manifestLines,
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSelectionTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSelectionTest.java index 94ff70e..ff807fa 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSelectionTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSelectionTest.java
@@ -143,7 +143,7 @@ CcToolchainProvider toolchain = (CcToolchainProvider) providers.getForToolchainType(Label.parseAbsolute(CPP_TOOLCHAIN_TYPE)); - assertThat(toolchain.getToolchain().getTargetCpu()).isEqualTo("piii"); + assertThat(toolchain.getToolchainIdentifier()).endsWith("piii"); } @Test