Skip to content

Commit aa7b820

Browse files
authored
Pass class jars to the provider (#1304)
1 parent 9a0fe8d commit aa7b820

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

kotlin/internal/jvm/compile.bzl

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -682,6 +682,10 @@ def kt_jvm_produce_jar_actions(ctx, rule_kind):
682682
java_toolchain = toolchains.java,
683683
) if generated_src_jars else None
684684

685+
generated_class_jar = None
686+
if annotation_processing:
687+
generated_class_jar = annotation_processing.class_jar
688+
685689
java_info = JavaInfo(
686690
output_jar = output_jar,
687691
compile_jar = compile_jar,
@@ -692,6 +696,7 @@ def kt_jvm_produce_jar_actions(ctx, rule_kind):
692696
exports = compile_deps.exports,
693697
neverlink = getattr(ctx.attr, "neverlink", False),
694698
generated_source_jar = generated_source_jar,
699+
generated_class_jar = generated_class_jar,
695700
)
696701

697702
instrumented_files = coverage_common.instrumented_files_info(
@@ -779,6 +784,7 @@ def _run_kt_java_builder_actions(
779784
)
780785

781786
# Run KSP
787+
ksp_generated_class_jar = None
782788
if has_kt_sources and ksp_annotation_processors:
783789
ksp_outputs = _run_ksp_builder_actions(
784790
ctx,
@@ -791,7 +797,8 @@ def _run_kt_java_builder_actions(
791797
transitive_runtime_jars = transitive_runtime_jars,
792798
plugins = plugins,
793799
)
794-
generated_ksp_src_jars.append(ksp_outputs.ksp_generated_class_jar)
800+
ksp_generated_class_jar = ksp_outputs.ksp_generated_class_jar
801+
generated_ksp_src_jars.append(ksp_generated_class_jar)
795802

796803
java_infos = []
797804

@@ -912,12 +919,15 @@ def _run_kt_java_builder_actions(
912919
)
913920

914921
annotation_processing = None
915-
if annotation_processors:
922+
if annotation_processors or ksp_annotation_processors:
923+
is_ksp = (ksp_annotation_processors != None)
924+
processor = ksp_annotation_processors if is_ksp else annotation_processors
925+
gen_jar = ksp_generated_class_jar if is_ksp else ap_generated_src_jar
916926
outputs_list = [java_info.outputs for java_info in java_infos]
917927
annotation_processing = _create_annotation_processing(
918-
annotation_processors = annotation_processors,
928+
annotation_processors = processor,
919929
ap_class_jar = [jars.class_jar for outputs in outputs_list for jars in outputs.jars][0],
920-
ap_source_jar = ap_generated_src_jar,
930+
ap_source_jar = gen_jar,
921931
)
922932

923933
return struct(

0 commit comments

Comments
 (0)