From 3f9553bbb89898b93d4e8724e679b6936e38ec98 Mon Sep 17 00:00:00 2001 From: Jonathan Gerrish Date: Mon, 16 Nov 2020 05:20:35 -0800 Subject: [PATCH] Add `kt_abi_plugin_incompatible` tag to opt-out incompatible targets from ABI strategy falling back to building just runtime jars. --- kotlin/internal/jvm/compile.bzl | 2 +- kotlin/internal/toolchains.bzl | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/kotlin/internal/jvm/compile.bzl b/kotlin/internal/jvm/compile.bzl index 3746e06c2..4ba4eaf1a 100644 --- a/kotlin/internal/jvm/compile.bzl +++ b/kotlin/internal/jvm/compile.bzl @@ -630,7 +630,7 @@ def _run_kt_java_builder_actions(ctx, rule_kind, toolchains, srcs, generated_src # Build Kotlin if srcs.kt or srcs.src_jars: kt_runtime_jar = ctx.actions.declare_file(ctx.label.name + "-kt.jar") - if toolchains.kt.experimental_use_abi_jars: + if toolchains.kt.experimental_use_abi_jars and not "kt_abi_plugin_incompatible" in ctx.attr.tags: kt_compile_jar = ctx.actions.declare_file(ctx.label.name + "-kt.abi.jar") outputs = { "output": kt_runtime_jar, diff --git a/kotlin/internal/toolchains.bzl b/kotlin/internal/toolchains.bzl index e8e4fc653..09d03afe2 100644 --- a/kotlin/internal/toolchains.bzl +++ b/kotlin/internal/toolchains.bzl @@ -171,11 +171,8 @@ _kt_toolchain = rule( providers = [_KtJsInfo], ), "experimental_use_abi_jars": attr.bool( - doc = "Compile using abi jars, requires experimental_use_java_builder", - default = False, - ), - "experimental_use_java_builder" : attr.bool( - doc="Use Bazel JavaBuilder for Java source", + doc = """Compile using abi jars, requires experimental_use_java_builder. Can be disabled + for an individual target using the tag `kt_abi_plugin_incompatible`""", default = False, ), "experimental_use_java_builder" : attr.bool(