Pass class jars to the provider
diff --git a/kotlin/internal/jvm/compile.bzl b/kotlin/internal/jvm/compile.bzl
index 3f1aa7e..6a5bf33 100644
--- a/kotlin/internal/jvm/compile.bzl
+++ b/kotlin/internal/jvm/compile.bzl
@@ -682,6 +682,10 @@
java_toolchain = toolchains.java,
) if generated_src_jars else None
+ generated_class_jar = None
+ if annotation_processing:
+ generated_class_jar = annotation_processing.class_jar
+
java_info = JavaInfo(
output_jar = output_jar,
compile_jar = compile_jar,
@@ -692,6 +696,7 @@
exports = compile_deps.exports,
neverlink = getattr(ctx.attr, "neverlink", False),
generated_source_jar = generated_source_jar,
+ generated_class_jar = generated_class_jar,
)
instrumented_files = coverage_common.instrumented_files_info(
@@ -779,6 +784,7 @@
)
# Run KSP
+ ksp_generated_class_jar = None
if has_kt_sources and ksp_annotation_processors:
ksp_outputs = _run_ksp_builder_actions(
ctx,
@@ -791,7 +797,8 @@
transitive_runtime_jars = transitive_runtime_jars,
plugins = plugins,
)
- generated_ksp_src_jars.append(ksp_outputs.ksp_generated_class_jar)
+ ksp_generated_class_jar = ksp_outputs.ksp_generated_class_jar
+ generated_ksp_src_jars.append(ksp_generated_class_jar)
java_infos = []
@@ -912,12 +919,15 @@
)
annotation_processing = None
- if annotation_processors:
+ if annotation_processors or ksp_annotation_processors:
+ is_ksp = (ksp_annotation_processors != None)
+ processor = ksp_annotation_processors if is_ksp else annotation_processors
+ gen_jar = ksp_generated_class_jar if is_ksp else ap_generated_src_jar
outputs_list = [java_info.outputs for java_info in java_infos]
annotation_processing = _create_annotation_processing(
- annotation_processors = annotation_processors,
+ annotation_processors = processor,
ap_class_jar = [jars.class_jar for outputs in outputs_list for jars in outputs.jars][0],
- ap_source_jar = ap_generated_src_jar,
+ ap_source_jar = gen_jar,
)
return struct(