Skip to content

Commit 9fe2ada

Browse files
committed
Add experimental Kotlin incremental compilation
1 parent 3c9ac00 commit 9fe2ada

File tree

22 files changed

+1569
-58
lines changed

22 files changed

+1569
-58
lines changed

MODULE.bazel

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ bazel_dep(name = "rules_cc", version = "0.0.16")
1212
bazel_dep(name = "platforms", version = "0.0.11")
1313
bazel_dep(name = "bazel_skylib", version = "1.7.1")
1414
bazel_dep(name = "rules_java", version = "8.9.0")
15-
bazel_dep(name = "rules_python", version = "0.23.1")
15+
bazel_dep(name = "rules_python", version = "0.37.2")
1616
bazel_dep(name = "rules_android", version = "0.6.1")
1717
bazel_dep(name = "bazel_features", version = "1.25.0")
1818

@@ -63,9 +63,9 @@ maven.install(
6363
"com.google.auto.service:auto-service-annotations:1.1.1",
6464
"com.google.auto.value:auto-value:1.10.1",
6565
"com.google.auto.value:auto-value-annotations:1.10.1",
66-
"com.google.dagger:dagger:2.53.1",
67-
"com.google.dagger:dagger-compiler:2.53.1",
68-
"com.google.dagger:dagger-producers:2.53.1",
66+
"com.google.dagger:dagger:2.56.2",
67+
"com.google.dagger:dagger-compiler:2.56.2",
68+
"com.google.dagger:dagger-producers:2.56.2",
6969
"javax.annotation:javax.annotation-api:1.3.2",
7070
"javax.inject:javax.inject:1",
7171
"org.apache.commons:commons-compress:1.26.2",
@@ -74,6 +74,7 @@ maven.install(
7474
"com.squareup.moshi:moshi:1.15.1",
7575
"com.squareup.moshi:moshi-kotlin:1.15.1",
7676
"com.squareup.moshi:moshi-kotlin-codegen:1.15.1",
77+
"org.jetbrains.kotlin:kotlin-build-tools-impl:2.1.20",
7778
],
7879
fail_if_repin_required = True,
7980
fetch_sources = True,

kotlin/internal/jvm/compile.bzl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -490,6 +490,8 @@ def _run_kt_builder_action(
490490
args.add("--strict_kotlin_deps", toolchains.kt.experimental_strict_kotlin_deps)
491491
args.add_all("--classpath", compile_deps.compile_jars)
492492
args.add("--reduced_classpath_mode", toolchains.kt.experimental_reduce_classpath_mode)
493+
args.add("--build_tools_api", toolchains.kt.experimental_build_tools_api)
494+
args.add("--incremental_compilation", toolchains.kt.experimental_incremental_compilation)
493495
args.add_all("--sources", srcs.all_srcs, omit_if_empty = True)
494496
args.add_all("--source_jars", srcs.src_jars + generated_src_jars, omit_if_empty = True)
495497
args.add_all("--deps_artifacts", deps_artifacts, omit_if_empty = True)

kotlin/internal/toolchains.bzl

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,8 @@ def _kotlin_toolchain_impl(ctx):
9191
experimental_strict_kotlin_deps = ctx.attr.experimental_strict_kotlin_deps,
9292
experimental_report_unused_deps = ctx.attr.experimental_report_unused_deps,
9393
experimental_reduce_classpath_mode = ctx.attr.experimental_reduce_classpath_mode,
94+
experimental_build_tools_api = ctx.attr.experimental_build_tools_api,
95+
experimental_incremental_compilation = ctx.attr.experimental_incremental_compilation,
9496
javac_options = ctx.attr.javac_options[JavacOptions] if ctx.attr.javac_options else None,
9597
kotlinc_options = ctx.attr.kotlinc_options[KotlincOptions] if ctx.attr.kotlinc_options else None,
9698
empty_jar = ctx.file._empty_jar,
@@ -247,6 +249,14 @@ _kt_toolchain = rule(
247249
"KOTLINBUILDER_REDUCED",
248250
],
249251
),
252+
"experimental_build_tools_api": attr.bool(
253+
doc = "TODO",
254+
default = False,
255+
),
256+
"experimental_incremental_compilation": attr.bool(
257+
doc = "TODO",
258+
default = False,
259+
),
250260
"javac_options": attr.label(
251261
doc = "Compiler options for javac",
252262
providers = [JavacOptions],
@@ -321,6 +331,8 @@ def define_kt_toolchain(
321331
experimental_report_unused_deps = None,
322332
experimental_reduce_classpath_mode = None,
323333
experimental_multiplex_workers = None,
334+
experimental_build_tools_api = None,
335+
experimental_incremental_compilation = None,
324336
javac_options = Label("//kotlin/internal:default_javac_options"),
325337
kotlinc_options = Label("//kotlin/internal:default_kotlinc_options"),
326338
jvm_stdlibs = None,
@@ -349,6 +361,8 @@ def define_kt_toolchain(
349361
experimental_strict_kotlin_deps = experimental_strict_kotlin_deps,
350362
experimental_report_unused_deps = experimental_report_unused_deps,
351363
experimental_reduce_classpath_mode = experimental_reduce_classpath_mode,
364+
experimental_build_tools_api = experimental_build_tools_api,
365+
experimental_incremental_compilation = experimental_incremental_compilation,
352366
javac_options = javac_options,
353367
kotlinc_options = kotlinc_options,
354368
visibility = ["//visibility:public"],

kotlin/settings/BUILD.bazel

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,15 @@ bool_flag(
4242
build_setting_default = False,
4343
visibility = ["//visibility:public"],
4444
)
45+
46+
bool_flag(
47+
name = "experimental_build_tools_api",
48+
build_setting_default = False,
49+
visibility = ["//visibility:public"],
50+
)
51+
52+
bool_flag(
53+
name = "experimental_incremental_compilation",
54+
build_setting_default = False,
55+
visibility = ["//visibility:public"],
56+
)

0 commit comments

Comments
 (0)