Fix java_common.target_kind() to work with aspects
PiperOrigin-RevId: 422607606
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/MergedConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/MergedConfiguredTarget.java
index 3166048..0557510 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/MergedConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/MergedConfiguredTarget.java
@@ -13,7 +13,6 @@
// limitations under the License.
package com.google.devtools.build.lib.analysis.configuredtargets;
-import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.ActionAnalysisMetadata;
import com.google.devtools.build.lib.analysis.AnalysisUtils;
@@ -272,8 +271,7 @@
return ConfiguredTargetsUtil.getProvidersDict(this, nonBaseProviders);
}
- @VisibleForTesting
- public ConfiguredTarget getBaseConfiguredTargetForTesting() {
+ public ConfiguredTarget getBaseConfiguredTarget() {
return base;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaStarlarkCommon.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaStarlarkCommon.java
index 4ca7a26..1af02db 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaStarlarkCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaStarlarkCommon.java
@@ -19,6 +19,7 @@
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.configuredtargets.AbstractConfiguredTarget;
+import com.google.devtools.build.lib.analysis.configuredtargets.MergedConfiguredTarget;
import com.google.devtools.build.lib.analysis.platform.ConstraintValueInfo;
import com.google.devtools.build.lib.analysis.starlark.StarlarkActionFactory;
import com.google.devtools.build.lib.analysis.starlark.StarlarkRuleContext;
@@ -297,6 +298,9 @@
@Override
public String getTargetKind(Object target, StarlarkThread thread) throws EvalException {
checkPrivateAccess(thread);
+ if (target instanceof MergedConfiguredTarget) {
+ target = ((MergedConfiguredTarget) target).getBaseConfiguredTarget();
+ }
if (target instanceof AbstractConfiguredTarget) {
return ((AbstractConfiguredTarget) target).getRuleClassString();
}