Skip to content

Commit afff5ac

Browse files
authored
Avoid running java_common#compile against KSP generated outputs (#990)
1 parent 23a20dd commit afff5ac

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

kotlin/internal/jvm/compile.bzl

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -537,7 +537,8 @@ def kt_jvm_produce_jar_actions(ctx, rule_kind):
537537
rule_kind = rule_kind,
538538
toolchains = toolchains,
539539
srcs = srcs,
540-
generated_src_jars = [],
540+
generated_kapt_src_jars = [],
541+
generated_ksp_src_jars = [],
541542
associates = associates,
542543
compile_deps = compile_deps,
543544
deps_artifacts = deps_artifacts,
@@ -626,7 +627,8 @@ def _run_kt_java_builder_actions(
626627
rule_kind,
627628
toolchains,
628629
srcs,
629-
generated_src_jars,
630+
generated_kapt_src_jars,
631+
generated_ksp_src_jars,
630632
associates,
631633
compile_deps,
632634
deps_artifacts,
@@ -660,7 +662,7 @@ def _run_kt_java_builder_actions(
660662
transitive_runtime_jars = transitive_runtime_jars,
661663
plugins = plugins,
662664
)
663-
generated_src_jars.append(kapt_outputs.ap_generated_src_jar)
665+
generated_kapt_src_jars.append(kapt_outputs.ap_generated_src_jar)
664666
output_jars.append(kapt_outputs.kapt_generated_class_jar)
665667
kt_stubs_for_java.append(
666668
JavaInfo(
@@ -684,7 +686,7 @@ def _run_kt_java_builder_actions(
684686
transitive_runtime_jars = transitive_runtime_jars,
685687
plugins = plugins,
686688
)
687-
generated_src_jars.append(ksp_outputs.ksp_generated_class_jar)
689+
generated_ksp_src_jars.append(ksp_outputs.ksp_generated_class_jar)
688690

689691
java_infos = []
690692

@@ -713,7 +715,7 @@ def _run_kt_java_builder_actions(
713715
rule_kind = rule_kind,
714716
toolchains = toolchains,
715717
srcs = srcs,
716-
generated_src_jars = generated_src_jars,
718+
generated_src_jars = generated_kapt_src_jars + generated_ksp_src_jars,
717719
associates = associates,
718720
compile_deps = compile_deps,
719721
deps_artifacts = deps_artifacts,
@@ -744,7 +746,7 @@ def _run_kt_java_builder_actions(
744746
# Build Java
745747
# If there is Java source or KAPT generated Java source compile that Java and fold it into
746748
# the final ABI jar. Otherwise just use the KT ABI jar as final ABI jar.
747-
if srcs.java or generated_src_jars or srcs.src_jars:
749+
if srcs.java or generated_kapt_src_jars or srcs.src_jars:
748750
javac_opts = javac_options_to_flags(toolchains.kt.javac_options)
749751

750752
# Kotlin takes care of annotation processing. Note that JavaBuilder "discovers"
@@ -754,7 +756,7 @@ def _run_kt_java_builder_actions(
754756
java_info = java_common.compile(
755757
ctx,
756758
source_files = srcs.java,
757-
source_jars = generated_src_jars + srcs.src_jars,
759+
source_jars = generated_kapt_src_jars + srcs.src_jars,
758760
output = ctx.actions.declare_file(ctx.label.name + "-java.jar"),
759761
deps = compile_deps.deps + kt_stubs_for_java,
760762
java_toolchain = toolchains.java,
@@ -815,7 +817,7 @@ def _run_kt_java_builder_actions(
815817

816818
return struct(
817819
output_jars = output_jars,
818-
generated_src_jars = generated_src_jars,
820+
generated_src_jars = generated_kapt_src_jars + generated_ksp_src_jars,
819821
annotation_processing = annotation_processing,
820822
)
821823

0 commit comments

Comments
 (0)