aboutsummaryrefslogtreecommitdiff
path: root/kotlin
diff options
context:
space:
mode:
authorDonald Duo Zhao <deltazulu@google.com>2023-01-31 18:36:34 -0800
committerCopybara-Service <copybara-worker@google.com>2023-01-31 18:37:02 -0800
commitd4152447033c5a5d1b52092b753814cce46723ef (patch)
tree0c4e89e07dc9deab43652fca8d19b3ce296e87e8 /kotlin
parent75ad32977c3e7bedccba78ca312482cf613a55c5 (diff)
downloadbazelbuild-kotlin-rules-d4152447033c5a5d1b52092b753814cce46723ef.tar.gz
NONE
PiperOrigin-RevId: 506173856
Diffstat (limited to 'kotlin')
-rw-r--r--kotlin/common.bzl10
-rw-r--r--kotlin/jvm_compile.bzl13
2 files changed, 12 insertions, 11 deletions
diff --git a/kotlin/common.bzl b/kotlin/common.bzl
index b3be72b..0908261 100644
--- a/kotlin/common.bzl
+++ b/kotlin/common.bzl
@@ -809,12 +809,14 @@ def _kt_jvm_library(
output = None,
output_srcjar = None, # Will derive default filename if not set.
deps = [],
- codegen_output_java_infos = [], # JavaInfo sequence from kt_codegen_plugin.
exports = [], # passthrough for JavaInfo constructor
runtime_deps = [], # passthrough for JavaInfo constructor
native_libraries = [], # passthrough of CcInfo for JavaInfo constructor
plugins = _kt_plugins_map(),
- pre_processed_processors = sets.make([]),
+ kt_codegen_processing_env = dict(
+ pre_processed_processors = depset(),
+ codegen_output_java_infos = [],
+ ),
exported_plugins = [],
android_lint_plugins = [],
android_lint_rules_jars = depset(), # Depset with standalone Android Lint rules Jars
@@ -835,6 +837,8 @@ def _kt_jvm_library(
fail("Missing or invalid java_toolchain")
if not kt_toolchain:
fail("Missing or invalid kt_toolchain")
+ pre_processed_processors = kt_codegen_processing_env["pre_processed_processors"]
+ codegen_output_java_infos = kt_codegen_processing_env["codegen_output_java_infos"]
file_factory = FileFactory(ctx, output)
deps = list(deps) # Defensive copy
@@ -874,7 +878,7 @@ def _kt_jvm_library(
cls
for p in java_plugin_datas
for cls in p.processor_classes.to_list()
- if not sets.contains(pre_processed_processors, cls)
+ if cls not in pre_processed_processors.to_list()
]
plugin_classpaths = depset(transitive = [p.processor_jars for p in java_plugin_datas])
diff --git a/kotlin/jvm_compile.bzl b/kotlin/jvm_compile.bzl
index 76a4262..220fea0 100644
--- a/kotlin/jvm_compile.bzl
+++ b/kotlin/jvm_compile.bzl
@@ -17,7 +17,6 @@
load(":common.bzl", "common")
load(":compiler_plugin.bzl", "KtCompilerPluginInfo")
load(":traverse_exports.bzl", "kt_traverse_exports")
-load("@bazel_skylib//lib:sets.bzl", "sets")
_RULE_FAMILY = common.RULE_FAMILY
@@ -132,8 +131,10 @@ def kt_jvm_compile(
"'*_resources.jar'.")
r_java_infos.append(r_java)
- pre_processed_java_plugin_processors = sets.make([])
- pre_processed_kt_codegen_plugin_processors = sets.make([])
+ kt_codegen_processing_env = dict(
+ pre_processed_processors = depset(),
+ codegen_output_java_infos = [],
+ )
# Skip deps validation check for any android_library target with no kotlin sources: b/239721906
has_kt_srcs = any([common.is_kt_src(src) for src in srcs])
@@ -157,7 +158,6 @@ def kt_jvm_compile(
common_srcs = common_srcs,
coverage_srcs = coverage_srcs,
deps = r_java_infos + java_infos,
- codegen_output_java_infos = codegen_output_java_infos,
disable_lint_checks = disable_lint_checks,
exported_plugins = [e[JavaPluginInfo] for e in exported_plugins if (JavaPluginInfo in e)],
# Not all exported targets contain a JavaInfo (e.g. some only have CcInfo)
@@ -183,10 +183,7 @@ def kt_jvm_compile(
if (KtCompilerPluginInfo in plugin)
],
),
- pre_processed_processors = sets.union(
- pre_processed_java_plugin_processors,
- pre_processed_kt_codegen_plugin_processors,
- ),
+ kt_codegen_processing_env = kt_codegen_processing_env,
resource_files = resource_files,
runtime_deps = [d[JavaInfo] for d in runtime_deps if JavaInfo in d],
srcs = srcs,