From 8376a70c9490b88231b83683d01281408d9802cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20G=C5=82uszak?= Date: Mon, 9 Feb 2026 15:22:34 +0100 Subject: [PATCH 1/8] build: upgrade Bazel 9 root deps and protobuf wiring Bump the repository baseline to Bazel 9 and update root module deps.\n\n- bump .bazelversion to 9.0.0\n- enable Bazel 9 incompatible flags and prebuilt protoc toolchain flags\n- bump rules_jvm_external to 6.10 and update repository versions metadata\n- align protobuf module wiring and refresh kotlin_rules_maven_install.json --- .bazelrc | 11 +- .bazelversion | 2 +- MODULE.bazel | 28 ++- MODULE.release.bazel | 30 ++- kotlin_rules_maven_install.json | 192 ++++++++++++++++-- .../starlark/core/repositories/versions.bzl | 4 +- 6 files changed, 232 insertions(+), 35 deletions(-) diff --git a/.bazelrc b/.bazelrc index 9c2825b2f..f52af1dbd 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,13 +1,12 @@ common --enable_bzlmod=true common --incompatible_use_plus_in_repo_names common --incompatible_disallow_empty_glob=false +common --incompatible_disable_native_repo_rules=true +common --incompatible_autoload_externally= + common --java_runtime_version=remotejdk_17 common --tool_java_runtime_version=remotejdk_17 -# TODO[https://github.com/bazelbuild/rules_kotlin/issues/1395]: Uncomment when all rules support not using native repo rules. -# common --incompatible_disable_native_repo_rules=true -# common --incompatible_autoload_externally= - build --strategy=KotlinCompile=worker build --test_output=all build --verbose_failures @@ -21,5 +20,9 @@ common --enable_runfiles build --deleted_packages=examples/android,examples/android/app,examples/android/bzl,examples/android/libAndroid,examples/android/libJava,examples/android/libKtAndroid,examples/android/libKtAndroid/src/test/java/examples/android/lib,examples/android/third_party,examples/anvil,examples/anvil/app,examples/anvil/app/src/androidTest/java/com/squareup/anvil/sample,examples/anvil/app/src/main/java/com/squareup/anvil/sample,examples/anvil/app/src/test/java/com/squareup/anvil/sample,examples/anvil/library,examples/anvil/library/src/main/java/com/squareup/anvil/sample,examples/anvil/repro/src/main/java/com/repro/lib,examples/anvil/scopes,examples/anvil/scopes/src/main/java/com/squareup/scopes,examples/anvil/third_party,examples/associates,examples/associates/projects/core/api,examples/associates/projects/core/api/src/test/kotlin/core/api,examples/associates/projects/core/impl,examples/associates/projects/core/impl/src/test/kotlin/core/impl,examples/dagger,examples/dagger/third_party,examples/deps,examples/deps/bzl,examples/deps/libAndroid1,examples/deps/libAndroid2,examples/deps/libAndroid3,examples/deps/libAndroid4,examples/deps/libJava1,examples/deps/libJava2,examples/deps/libJava3,examples/deps/libJava4,examples/deps/libKt1,examples/deps/libKt2,examples/deps/libKt3,examples/deps/libKt4,examples/deps/libKtAndroid1,examples/deps/libKtAndroid2,examples/deps/libKtAndroid3,examples/deps/libKtAndroid4,examples/jetpack_compose,examples/jetpack_compose/app,examples/jetpack_compose/compose-ui,examples/ksp,examples/ksp/third_party,examples/multiplex,examples/multiplex/src,examples/nested_module_resources,examples/nested_module_resources/nested,examples/plugin,examples/plugin/src/allopen,examples/plugin/src/allopennoarg,examples/plugin/src/noarg,examples/plugin/src/parcelize,examples/plugin/src/sam_with_receiver,examples/plugin/src/serialization,examples/trivial,examples/trivial/app,src/main/starlark/release_archive query --deleted_packages=examples/android,examples/android/app,examples/android/bzl,examples/android/libAndroid,examples/android/libJava,examples/android/libKtAndroid,examples/android/libKtAndroid/src/test/java/examples/android/lib,examples/android/third_party,examples/anvil,examples/anvil/app,examples/anvil/app/src/androidTest/java/com/squareup/anvil/sample,examples/anvil/app/src/main/java/com/squareup/anvil/sample,examples/anvil/app/src/test/java/com/squareup/anvil/sample,examples/anvil/library,examples/anvil/library/src/main/java/com/squareup/anvil/sample,examples/anvil/repro/src/main/java/com/repro/lib,examples/anvil/scopes,examples/anvil/scopes/src/main/java/com/squareup/scopes,examples/anvil/third_party,examples/associates,examples/associates/projects/core/api,examples/associates/projects/core/api/src/test/kotlin/core/api,examples/associates/projects/core/impl,examples/associates/projects/core/impl/src/test/kotlin/core/impl,examples/dagger,examples/dagger/third_party,examples/deps,examples/deps/bzl,examples/deps/libAndroid1,examples/deps/libAndroid2,examples/deps/libAndroid3,examples/deps/libAndroid4,examples/deps/libJava1,examples/deps/libJava2,examples/deps/libJava3,examples/deps/libJava4,examples/deps/libKt1,examples/deps/libKt2,examples/deps/libKt3,examples/deps/libKt4,examples/deps/libKtAndroid1,examples/deps/libKtAndroid2,examples/deps/libKtAndroid3,examples/deps/libKtAndroid4,examples/jetpack_compose,examples/jetpack_compose/app,examples/jetpack_compose/compose-ui,examples/ksp,examples/ksp/third_party,examples/multiplex,examples/multiplex/src,examples/nested_module_resources,examples/nested_module_resources/nested,examples/plugin,examples/plugin/src/allopen,examples/plugin/src/allopennoarg,examples/plugin/src/noarg,examples/plugin/src/parcelize,examples/plugin/src/sam_with_receiver,examples/plugin/src/serialization,examples/trivial,examples/trivial/app,src/main/starlark/release_archive +# Use precompiled protoc +common --incompatible_enable_proto_toolchain_resolution +common --@com_google_protobuf//bazel/toolchains:prefer_prebuilt_protoc=true + # User-specific .bazelrc try-import %workspace%/user.bazelrc diff --git a/.bazelversion b/.bazelversion index 7857a9473..f7ee06693 100644 --- a/.bazelversion +++ b/.bazelversion @@ -1 +1 @@ -8.4.2 \ No newline at end of file +9.0.0 diff --git a/MODULE.bazel b/MODULE.bazel index cd1f7abc7..ae8e15f25 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -5,21 +5,19 @@ module( repo_name = "rules_kotlin", ) -proto_version = "4.33.1" +proto_version = "4.33.4" proto_version_parts = proto_version.split(".") proto_module_version = ".".join(proto_version_parts[-2:]) # Last 2 parts bazel_dep(name = "protobuf", version = proto_module_version, repo_name = "com_google_protobuf") -bazel_dep(name = "rules_proto", version = "6.0.2", repo_name = "rules_proto") -bazel_dep(name = "abseil-py", version = "2.1.0", repo_name = "py_absl") bazel_dep(name = "rules_cc", version = "0.0.16") bazel_dep(name = "platforms", version = "0.0.11") bazel_dep(name = "bazel_skylib", version = "1.8.2") bazel_dep(name = "rules_java", version = "8.9.0") bazel_dep(name = "rules_python", version = "0.23.1") -bazel_dep(name = "rules_android", version = "0.7.0") +bazel_dep(name = "rules_android", version = "0.7.1") remote_android_extensions = use_extension( "@rules_android//bzlmod_extensions:android_extensions.bzl", @@ -34,8 +32,8 @@ register_toolchains("@androidsdk//:all") bazel_dep(name = "bazel_features", version = "1.30.0") bazel_dep(name = "rules_shell", version = "0.4.1") -bazel_dep(name = "bazel_worker_api", version = "0.0.8") -bazel_dep(name = "bazel_worker_java", version = "0.0.8") +bazel_dep(name = "bazel_worker_api", version = "0.0.10") +bazel_dep(name = "bazel_worker_java", version = "0.0.10") # TODO[https://github.com/bazelbuild/rules_kotlin/issues/1395]: Update when fixed version is available. bazel_dep(name = "buildifier_prebuilt", version = "8.2.1", dev_dependency = True) @@ -65,7 +63,7 @@ register_toolchains("//kotlin/internal:default_toolchain") # TODO(bencodes) A bunch of these dependencies need to be marked as dev_dependencies but before we can do that # we need to sort out a few cases around how these rules are consumed in various ways. -bazel_dep(name = "rules_jvm_external", version = "6.6") +bazel_dep(name = "rules_jvm_external", version = "6.10") bazel_dep(name = "bazel_ci_rules", version = "1.0.0") rbe_preconfig = use_repo_rule("@bazel_ci_rules//:rbe_repo.bzl", "rbe_preconfig") @@ -130,6 +128,16 @@ maven.override( coordinates = "org.jetbrains.kotlin.kotlin:kotlin-stdlib-jdk8", target = "@rules_kotlin//kotlin/compiler:kotlin-stdlib-jdk8", ) +maven.override( + name = "override_target_in_deps_protobuf_java", + coordinates = "com.google.protobuf:protobuf-java", + target = "@com_google_protobuf//:protobuf_java", +) +maven.override( + name = "override_target_in_deps_protobuf_java_util", + coordinates = "com.google.protobuf:protobuf-java-util", + target = "@com_google_protobuf//:protobuf_java_util", +) use_repo(maven, "kotlin_rules_maven", "unpinned_kotlin_rules_maven") bazel_dep(name = "rules_pkg", version = "1.0.1") @@ -137,13 +145,17 @@ bazel_dep(name = "rules_pkg", version = "1.0.1") bazel_dep(name = "stardoc", version = "0.8.0", dev_dependency = True, repo_name = "io_bazel_stardoc") bazel_dep(name = "aspect_bazel_lib", version = "2.22.0", dev_dependency = True) bazel_dep(name = "rules_testing", version = "0.9.0", dev_dependency = True) -bazel_dep(name = "rules_bazel_integration_test", version = "0.34.0", dev_dependency = True) +bazel_dep(name = "rules_bazel_integration_test", version = "0.37.1", dev_dependency = True) bazel_binaries = use_extension("@rules_bazel_integration_test//:extensions.bzl", "bazel_binaries", dev_dependency = True) +bazel_binaries.download(version = "7.x") +bazel_binaries.download(version = "8.x") bazel_binaries.download(version_file = "//:.bazelversion") use_repo( bazel_binaries, "bazel_binaries", "bazel_binaries_bazelisk", "build_bazel_bazel_.bazelversion", + "build_bazel_bazel_7_x", + "build_bazel_bazel_8_x", ) diff --git a/MODULE.release.bazel b/MODULE.release.bazel index f55d45fa6..9d07cd2cf 100644 --- a/MODULE.release.bazel +++ b/MODULE.release.bazel @@ -5,17 +5,35 @@ module( repo_name = "rules_kotlin", ) +proto_version = "4.33.4" + +proto_version_parts = proto_version.split(".") + +proto_module_version = ".".join(proto_version_parts[-2:]) # Last 2 parts + bazel_dep(name = "platforms", version = "0.0.11") bazel_dep(name = "bazel_skylib", version = "1.7.1") bazel_dep(name = "rules_java", version = "8.9.0") -bazel_dep(name = "rules_android", version = "0.7.0") +bazel_dep(name = "rules_android", version = "0.7.1") bazel_dep(name = "bazel_features", version = "1.30.0") -bazel_dep(name = "protobuf", version = "29.0", repo_name = "com_google_protobuf") -bazel_dep(name = "rules_proto", version = "6.0.2", repo_name = "rules_proto") -bazel_dep(name = "abseil-py", version = "2.1.0", repo_name = "py_absl") +bazel_dep(name = "protobuf", version = proto_module_version, repo_name = "com_google_protobuf") bazel_dep(name = "rules_cc", version = "0.0.16") -bazel_dep(name = "bazel_worker_api", version = "0.0.8") -bazel_dep(name = "bazel_worker_java", version = "0.0.8") +bazel_dep(name = "bazel_worker_api", version = "0.0.10") +bazel_dep(name = "bazel_worker_java", version = "0.0.10") +bazel_dep(name = "rules_jvm_external", version = "6.10") # >= 6.10 needed for Bazel 9 compat + +maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") + +maven.override( + name = "override_target_in_deps_protobuf_java", + coordinates = "com.google.protobuf:protobuf-java", + target = "@com_google_protobuf//:protobuf_java", +) +maven.override( + name = "override_target_in_deps_protobuf_java_util", + coordinates = "com.google.protobuf:protobuf-java-util", + target = "@com_google_protobuf//:protobuf_java_util", +) rules_java_toolchains = use_extension("@rules_java//java:extensions.bzl", "toolchains") use_repo(rules_java_toolchains, "remote_java_tools") diff --git a/kotlin_rules_maven_install.json b/kotlin_rules_maven_install.json index cdd527f44..8f8dda699 100755 --- a/kotlin_rules_maven_install.json +++ b/kotlin_rules_maven_install.json @@ -1,7 +1,175 @@ { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": 1433358606, - "__RESOLVED_ARTIFACTS_HASH": 1634294553, + "__INPUT_ARTIFACTS_HASH": { + "com.google.auto.service:auto-service": -1729498094, + "com.google.auto.service:auto-service-annotations": -843120535, + "com.google.auto.value:auto-value": 1146221104, + "com.google.auto.value:auto-value-annotations": -1101276935, + "com.google.code.findbugs:jsr305": 495355163, + "com.google.code.gson:gson": -1146526807, + "com.google.dagger:dagger": 1304516772, + "com.google.dagger:dagger-compiler": 1028126946, + "com.google.dagger:dagger-producers": -860209456, + "com.google.errorprone:error_prone_annotations": -571311395, + "com.google.guava:guava": -704445974, + "com.google.protobuf:protobuf-java": 1906581597, + "com.google.protobuf:protobuf-java-util": -1626074784, + "com.google.truth:truth": -157380267, + "com.squareup.moshi:moshi": 623265116, + "com.squareup.moshi:moshi-kotlin": -1806344484, + "com.squareup.moshi:moshi-kotlin-codegen": 2002404690, + "dev.zacsweers.autoservice:auto-service-ksp": 34153974, + "javax.annotation:javax.annotation-api": 1286517389, + "javax.inject:javax.inject": -297932879, + "junit:junit": 373369075, + "org.apache.commons:commons-compress": -1310119682, + "org.codehaus.plexus:plexus-utils": 1634344571, + "org.jetbrains.kotlin:kotlin-metadata-jvm": -1921212285, + "org.jetbrains.kotlinx:kotlinx-coroutines-core": 1254427323, + "org.pantsbuild:jarjar": -58806822, + "repositories": 582576641 + }, + "__RESOLVED_ARTIFACTS_HASH": { + "com.google.auto.service:auto-service": -1487611887, + "com.google.auto.service:auto-service-annotations": 262983930, + "com.google.auto.service:auto-service-annotations:jar:sources": -1392999316, + "com.google.auto.service:auto-service:jar:sources": -1296332334, + "com.google.auto.value:auto-value": 1110951021, + "com.google.auto.value:auto-value-annotations": 641018093, + "com.google.auto.value:auto-value-annotations:jar:sources": -315473772, + "com.google.auto.value:auto-value:jar:sources": 1982175049, + "com.google.auto:auto-common": -1425245725, + "com.google.auto:auto-common:jar:sources": -542679945, + "com.google.code.findbugs:jsr305": 870839855, + "com.google.code.findbugs:jsr305:jar:sources": -935881202, + "com.google.code.gson:gson": 50257904, + "com.google.code.gson:gson:jar:sources": 275910111, + "com.google.dagger:dagger": 875179613, + "com.google.dagger:dagger-compiler": -865949693, + "com.google.dagger:dagger-compiler:jar:sources": 671838778, + "com.google.dagger:dagger-producers": 56284338, + "com.google.dagger:dagger-producers:jar:sources": 118085986, + "com.google.dagger:dagger-spi": -1839729292, + "com.google.dagger:dagger-spi:jar:sources": 799959681, + "com.google.dagger:dagger:jar:sources": 758099566, + "com.google.devtools.ksp:symbol-processing-api": -807099907, + "com.google.devtools.ksp:symbol-processing-api:jar:sources": 858565805, + "com.google.errorprone:error_prone_annotations": -140447182, + "com.google.errorprone:error_prone_annotations:jar:sources": 1162312431, + "com.google.errorprone:javac-shaded": 1621944613, + "com.google.errorprone:javac-shaded:jar:sources": 1578813588, + "com.google.googlejavaformat:google-java-format": 395640802, + "com.google.googlejavaformat:google-java-format:jar:sources": 409931302, + "com.google.guava:failureaccess": -718864417, + "com.google.guava:failureaccess:jar:sources": -527872939, + "com.google.guava:guava": -1228437618, + "com.google.guava:guava:jar:sources": -2127214593, + "com.google.guava:listenablefuture": 1079558157, + "com.google.j2objc:j2objc-annotations": -404209759, + "com.google.j2objc:j2objc-annotations:jar:sources": 1852793670, + "com.google.protobuf:protobuf-java": 1957269082, + "com.google.protobuf:protobuf-java-util": -2063472123, + "com.google.protobuf:protobuf-java-util:jar:sources": 1148567382, + "com.google.protobuf:protobuf-java:jar:sources": 1812626912, + "com.google.truth:truth": -905038776, + "com.google.truth:truth:jar:sources": 1518815563, + "com.googlecode.java-diff-utils:diffutils": -799723261, + "com.googlecode.java-diff-utils:diffutils:jar:sources": -1898874389, + "com.squareup.moshi:moshi": -1938457286, + "com.squareup.moshi:moshi-kotlin": 2027718215, + "com.squareup.moshi:moshi-kotlin-codegen": 1424857657, + "com.squareup.moshi:moshi-kotlin-codegen:jar:sources": 1601805489, + "com.squareup.moshi:moshi-kotlin:jar:sources": -948970528, + "com.squareup.moshi:moshi:jar:sources": 121064118, + "com.squareup.okio:okio-jvm": 249578871, + "com.squareup.okio:okio-jvm:jar:sources": -528986820, + "com.squareup:javapoet": -2135371934, + "com.squareup:javapoet:jar:sources": -54658965, + "com.squareup:kotlinpoet": -1347284545, + "com.squareup:kotlinpoet-jvm": -922668273, + "com.squareup:kotlinpoet-jvm:jar:sources": -1772502751, + "com.squareup:kotlinpoet-ksp": -1750827435, + "com.squareup:kotlinpoet-ksp:jar:sources": -1001181557, + "com.squareup:kotlinpoet:jar:sources": -826803759, + "commons-codec:commons-codec": -1161719307, + "commons-codec:commons-codec:jar:sources": 963281664, + "commons-io:commons-io": -807333807, + "commons-io:commons-io:jar:sources": -1339271077, + "dev.zacsweers.autoservice:auto-service-ksp": -456705979, + "dev.zacsweers.autoservice:auto-service-ksp:jar:sources": 537498971, + "jakarta.inject:jakarta.inject-api": 188991469, + "jakarta.inject:jakarta.inject-api:jar:sources": -1584622703, + "javax.annotation:javax.annotation-api": -1009230154, + "javax.annotation:javax.annotation-api:jar:sources": -1912277688, + "javax.annotation:jsr250-api": 847275234, + "javax.annotation:jsr250-api:jar:sources": 1496215386, + "javax.enterprise:cdi-api": 1353074472, + "javax.enterprise:cdi-api:jar:sources": -891106665, + "javax.inject:javax.inject": 698155243, + "javax.inject:javax.inject:jar:sources": 1222576539, + "junit:junit": 405704004, + "junit:junit:jar:sources": 396420606, + "net.ltgt.gradle.incap:incap": 641640589, + "net.ltgt.gradle.incap:incap:jar:sources": 280948559, + "org.apache.ant:ant": 1015338813, + "org.apache.ant:ant-launcher": -533977198, + "org.apache.ant:ant-launcher:jar:sources": 1316388564, + "org.apache.ant:ant:jar:sources": 522669096, + "org.apache.commons:commons-compress": 1858477011, + "org.apache.commons:commons-compress:jar:sources": 577133147, + "org.apache.commons:commons-lang3": 2013343748, + "org.apache.commons:commons-lang3:jar:sources": -1567774740, + "org.apache.maven:maven-artifact": 272112662, + "org.apache.maven:maven-artifact:jar:sources": 226597553, + "org.apache.maven:maven-model": 1338882210, + "org.apache.maven:maven-model:jar:sources": 1530121992, + "org.apache.maven:maven-plugin-api": 439082061, + "org.apache.maven:maven-plugin-api:jar:sources": 1586773375, + "org.checkerframework:checker-compat-qual": -1467856161, + "org.checkerframework:checker-compat-qual:jar:sources": 896082574, + "org.checkerframework:checker-qual": -778702181, + "org.checkerframework:checker-qual:jar:sources": 358883619, + "org.codehaus.plexus:plexus-classworlds": 268773746, + "org.codehaus.plexus:plexus-classworlds:jar:sources": -358488242, + "org.codehaus.plexus:plexus-component-annotations": -14420964, + "org.codehaus.plexus:plexus-component-annotations:jar:sources": 1182448118, + "org.codehaus.plexus:plexus-utils": 612567575, + "org.codehaus.plexus:plexus-utils:jar:sources": -1161470753, + "org.eclipse.sisu:org.eclipse.sisu.inject": 278909516, + "org.eclipse.sisu:org.eclipse.sisu.inject:jar:sources": -368705101, + "org.eclipse.sisu:org.eclipse.sisu.plexus": 813996311, + "org.eclipse.sisu:org.eclipse.sisu.plexus:jar:sources": 237629817, + "org.hamcrest:hamcrest-core": 649657847, + "org.hamcrest:hamcrest-core:jar:sources": -1646511374, + "org.jetbrains.kotlin:kotlin-metadata-jvm": -580565865, + "org.jetbrains.kotlin:kotlin-metadata-jvm:jar:sources": -1362013737, + "org.jetbrains.kotlin:kotlin-reflect": -1424668741, + "org.jetbrains.kotlin:kotlin-reflect:jar:sources": 681255358, + "org.jetbrains.kotlin:kotlin-stdlib": 1159154495, + "org.jetbrains.kotlin:kotlin-stdlib-common": -1695006459, + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources": 1871613908, + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": 2007761207, + "org.jetbrains.kotlin:kotlin-stdlib-jdk7:jar:sources": -1337794929, + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": 540654472, + "org.jetbrains.kotlin:kotlin-stdlib-jdk8:jar:sources": 1198294854, + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources": 1484332307, + "org.jetbrains.kotlinx:kotlinx-coroutines-core": -637506750, + "org.jetbrains.kotlinx:kotlinx-coroutines-core:jar:sources": -1493138165, + "org.jetbrains:annotations": 554168982, + "org.jetbrains:annotations:jar:sources": 1226441379, + "org.jspecify:jspecify": 117231129, + "org.jspecify:jspecify:jar:sources": -2134060298, + "org.ow2.asm:asm": 2054068535, + "org.ow2.asm:asm-analysis": 600320826, + "org.ow2.asm:asm-analysis:jar:sources": 2146793935, + "org.ow2.asm:asm-commons": 56489047, + "org.ow2.asm:asm-commons:jar:sources": -727548937, + "org.ow2.asm:asm-tree": -2131332299, + "org.ow2.asm:asm-tree:jar:sources": 652527416, + "org.ow2.asm:asm:jar:sources": 1244418831, + "org.pantsbuild:jarjar": -1373045586, + "org.pantsbuild:jarjar:jar:sources": 493670329 + }, "conflict_resolution": { "com.google.errorprone:error_prone_annotations:2.23.0": "com.google.errorprone:error_prone_annotations:2.26.1", "com.google.guava:guava:33.0.0-jre": "com.google.guava:guava:33.2.1-jre" @@ -128,8 +296,7 @@ }, "com.google.guava:listenablefuture": { "shasums": { - "jar": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99", - "sources": null + "jar": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99" }, "version": "9999.0-empty-to-avoid-conflict-with-guava" }, @@ -142,17 +309,17 @@ }, "com.google.protobuf:protobuf-java": { "shasums": { - "jar": "fd5cf3d55bc2c3ddb2a8640c9d4c69daa9a5b326fb6e05bae0e56b3f4f85e0f7", - "sources": "0674d40c616ee1059deba4740b6239db69beacb60a5e20720553c4e8a105f6d7" + "jar": "3ca892fd6ea8b37d01bb6917dbc0bf2637548b756753f65a28d4f1d4d982347f", + "sources": "ed30fe6a51c7c15a6f123448304c97185f2039f2aeca9d5e3b4f53de3a4c813c" }, - "version": "4.33.1" + "version": "4.33.4" }, "com.google.protobuf:protobuf-java-util": { "shasums": { - "jar": "f8788f87658d46f8ddb864455eaa046aa218e419c98c93326643ae465aa5c843", - "sources": "e61782c58eec9059f8f386e9da7594e19b477c980111f4bcc78582ad340807ba" + "jar": "6f02f04c5ca088e74b68dbbaf118f1ffa9d587958e637f893e0f8a1899a61342", + "sources": "4bf8ae758fdaae56220796e651cf5fbc3f7ce99bdc42b7048c2604f757592f8a" }, - "version": "4.33.1" + "version": "4.33.4" }, "com.google.truth:truth": { "shasums": { @@ -1956,8 +2123,5 @@ ] } }, - "skipped": [ - "com.google.guava:listenablefuture:jar:sources" - ], - "version": "2" + "version": "3" } diff --git a/src/main/starlark/core/repositories/versions.bzl b/src/main/starlark/core/repositories/versions.bzl index 47754c7b1..221ca8a73 100644 --- a/src/main/starlark/core/repositories/versions.bzl +++ b/src/main/starlark/core/repositories/versions.bzl @@ -43,8 +43,8 @@ versions = struct( ], ), RULES_JVM_EXTERNAL = version( - version = "6.6", - sha256 = "3afe5195069bd379373528899c03a3072f568d33bd96fe037bd43b1f590535e7", + version = "6.10", + sha256 = "e5f83b8f2678d2b26441e5eafefb1b061826608417b8d24e5e8e15e585eab1ba", strip_prefix_template = "rules_jvm_external-{version}", url_templates = [ "https://github.com/bazelbuild/rules_jvm_external/releases/download/{version}/rules_jvm_external-{version}.tar.gz", From c11f5ad95650ffa47efd162a626cac50e262f315 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20G=C5=82uszak?= Date: Mon, 9 Feb 2026 15:22:44 +0100 Subject: [PATCH 2/8] test: run integration examples in explicit bzlmod/workspace modes Teach the integration test suite to emit separate bzlmod and workspace test targets based on each example and Bazel version, and update the Kotlin test runner to select flags via WORKSPACE_ENABLED and use a longer process timeout for slow environments. --- examples/integration.bzl | 75 +++++++++++++++---- .../kotlin/test/BazelIntegrationTestRunner.kt | 46 +++++------- 2 files changed, 79 insertions(+), 42 deletions(-) diff --git a/examples/integration.bzl b/examples/integration.bzl index 86c33af33..51fb1b448 100644 --- a/examples/integration.bzl +++ b/examples/integration.bzl @@ -6,6 +6,24 @@ load( "bazel_integration_test", ) +def _version_supports_workspace(clean_version): + """Returns True if version < 9.0.0 (workspace is deprecated in Bazel 9+).""" + + # clean_version is already extracted via Label(version).name, e.g., "8.0.0" or "9.0.0rc5" or ".bazelversion" + parts = clean_version.split(".") + if len(parts) >= 1 and parts[0]: + # Handle versions like "9.0.0rc5" by splitting on common suffixes + major_str = parts[0] + for suffix in ["rc", "pre", "alpha", "beta"]: + major_str = major_str.split(suffix)[0] + if major_str: + major = int(major_str) + return major < 9 + + # For non-standard version strings (like ".bazelversion"), assume workspace is not supported + # since we're transitioning away from workspace + return False + def derive_metadata(directory): return struct( directory = directory, @@ -34,6 +52,14 @@ def derive_metadata(directory): allow_empty = True, ) ], + has_module = len(native.glob( + ["%s/MODULE.bazel" % directory, "%s/MODULE" % directory], + allow_empty = True, + )) > 0, + has_workspace = len(native.glob( + ["%s/WORKSPACE" % directory, "%s/WORKSPACE.bazel" % directory], + allow_empty = True, + )) > 0, ) def example_integration_test_suite( @@ -43,23 +69,42 @@ def example_integration_test_suite( for version in bazel_binaries.versions.all: if version in metadata.only or (not metadata.only and version not in metadata.exclude): clean_bazel_version = Label(version).name - test_name = "%s_%s_test" % (name, clean_bazel_version) - bazel_integration_test( - name = test_name, - timeout = "eternal", - additional_env_inherit = [ - "ANDROID_HOME", - "ANDROID_SDK_ROOT", - "ANDROID_NDK_HOME", - ], - bazel_version = version, - tags = tags + [clean_bazel_version, name], - test_runner = "//src/main/kotlin/io/bazel/kotlin/test:BazelIntegrationTestRunner", - workspace_files = metadata.workspace_files, - workspace_path = metadata.directory, - ) + + # Build list of modes to test + modes = [] + if metadata.has_module: + modes.append(("bzlmod", {})) + if metadata.has_workspace and _version_supports_workspace(clean_bazel_version): + modes.append(("workspace", {"WORKSPACE_ENABLED": "1"})) + + for mode, env in modes: + bazel_integration_test( + name = "%s_%s_%s_test" % (name, mode, clean_bazel_version), + timeout = "eternal", + additional_env_inherit = [ + "ANDROID_HOME", + "ANDROID_SDK_ROOT", + "ANDROID_NDK_HOME", + ], + env = env, + bazel_version = version, + tags = tags + [clean_bazel_version, name, name + "_" + mode], + test_runner = "//src/main/kotlin/io/bazel/kotlin/test:BazelIntegrationTestRunner", + workspace_files = metadata.workspace_files, + workspace_path = metadata.directory, + ) native.test_suite( name = name, tags = [name], ) + + native.test_suite( + name = name + "_bzlmod", + tags = [name + "_bzlmod"], + ) + + native.test_suite( + name = name + "_workspace", + tags = [name + "_workspace"], + ) diff --git a/src/main/kotlin/io/bazel/kotlin/test/BazelIntegrationTestRunner.kt b/src/main/kotlin/io/bazel/kotlin/test/BazelIntegrationTestRunner.kt index f4e348e50..8d6a7a20f 100644 --- a/src/main/kotlin/io/bazel/kotlin/test/BazelIntegrationTestRunner.kt +++ b/src/main/kotlin/io/bazel/kotlin/test/BazelIntegrationTestRunner.kt @@ -53,36 +53,29 @@ object BazelIntegrationTestRunner { val version = bazel.run(workspace, "--version").parseVersion() + val workspaceEnabled = System.getenv("WORKSPACE_ENABLED") != null + val workspaceFlags = FlagSets( - sequence { - if (workspace.hasModule()) { - yield( - listOf( - Flag("--enable_bzlmod=true"), - Flag("--override_module=rules_kotlin=$unpack"), - Flag("--enable_workspace=false") { v -> v >= Version.of(7, 0, 0) }, - ), + listOf( + if (workspaceEnabled) { + listOf( + Flag("--override_repository=rules_kotlin=$unpack"), + Flag("--enable_bzlmod=false"), + Flag("--enable_workspace=true") { it.isBzlmodEnabledByDefault }, ) - } - if (workspace.hasWorkspace()) { - yield( - listOf( - Flag("--override_repository=rules_kotlin=$unpack"), - Flag("--enable_bzlmod=false"), - Flag("--enable_workspace=true") { v -> v >= Version.of(7, 0, 0) }, - ), + } else { + listOf( + Flag("--enable_bzlmod=true"), + Flag("--override_module=rules_kotlin=$unpack"), + Flag("--enable_workspace=false") { it.isBzlmodEnabledByDefault }, ) - } - }.toList(), + }, + ), ) val deprecationFlags = FlagSets( listOf( listOf( - // TODO[https://github.com/bazelbuild/rules_kotlin/issues/1395]: enable when rules_android - // no longer uses local_config_platform - Flag("--incompatible_disable_native_repo_rules=true") { false }, - Flag("--incompatible_autoload_externally=") { v -> v > Version.Known(8, 0, 0) }, Flag("--incompatible_disallow_empty_glob=false"), ), ), @@ -170,15 +163,14 @@ object BazelIntegrationTestRunner { } } - fun Path.hasModule() = resolve("MODULE").exists() || resolve("MODULE.bazel").exists() - private fun Path.hasWorkspace() = - resolve("WORKSPACE").exists() || resolve("WORKSPACE.bazel").exists() - sealed class Version : Comparable { companion object { fun of(major:Int, minor:Int=0, patch:Int = 0) = Known(major, minor, patch) } + val isBzlmodEnabledByDefault: Boolean + get() = this >= of(7, 0, 0) + override fun compareTo(other: Version): Int = 1 @@ -281,7 +273,7 @@ object BazelIntegrationTestRunner { try { val stdOut = executor.submit(process.inputStream.streamTo(System.out)) val stdErr = executor.submit(process.errorStream.streamTo(System.out)) - if (process.waitFor(600, TimeUnit.SECONDS) && process.exitValue() == 0) { + if (process.waitFor(1500, TimeUnit.SECONDS) && process.exitValue() == 0) { return Result.success( ProcessResult( exit = 0, From 874f85097d380cc2f2b8fa8b455f4583b4717778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20G=C5=82uszak?= Date: Mon, 9 Feb 2026 15:22:52 +0100 Subject: [PATCH 3/8] examples(android): migrate Bazel 9 module setup and Maven locks Update Android-oriented examples to Bazel 9-compatible module wiring.\n\n- bump rules_jvm_external usage to 6.10\n- remove rules_android_ndk usage where no longer needed\n- add C++17 flags in example bazelrc files for abseil-cpp consumers\n- add/update per-example maven_install lockfiles --- examples/android/.bazelrc | 4 + examples/android/MODULE.bazel | 10 +- examples/android/maven_install.json | 2220 +++++++++++++++++++ examples/anvil/MODULE.bazel | 76 + examples/anvil/maven_install.json | 1242 +++++++++++ examples/dagger/MODULE.bazel | 29 + examples/dagger/maven_install.json | 708 ++++++ examples/deps/.bazelrc | 10 +- examples/deps/MODULE.bazel | 31 + examples/deps/maven_install.json | 65 + examples/jetpack_compose/.bazelrc | 4 + examples/jetpack_compose/MODULE.bazel | 9 +- examples/jetpack_compose/maven_install.json | 202 +- 13 files changed, 4587 insertions(+), 23 deletions(-) create mode 100644 examples/android/maven_install.json create mode 100644 examples/anvil/MODULE.bazel create mode 100644 examples/anvil/maven_install.json create mode 100644 examples/dagger/MODULE.bazel create mode 100644 examples/dagger/maven_install.json create mode 100644 examples/deps/MODULE.bazel create mode 100644 examples/deps/maven_install.json diff --git a/examples/android/.bazelrc b/examples/android/.bazelrc index 4d8d974be..9b75303e1 100644 --- a/examples/android/.bazelrc +++ b/examples/android/.bazelrc @@ -4,6 +4,10 @@ common --lockfile_mode=off test --test_output=all build --config=android_worker +# Required for abseil-cpp which requires C++17 +build --cxxopt=-std=c++17 +build --host_cxxopt=-std=c++17 + # Worker configuration build:android_worker \ --worker_max_instances=auto \ diff --git a/examples/android/MODULE.bazel b/examples/android/MODULE.bazel index f81977a06..d10a591d4 100644 --- a/examples/android/MODULE.bazel +++ b/examples/android/MODULE.bazel @@ -5,20 +5,13 @@ bazel_dep(name = "bazel_skylib", version = "1.7.1") bazel_dep(name = "rules_robolectric", version = "4.14.1.2", repo_name = "robolectric") bazel_dep(name = "rules_java", version = "8.9.0") bazel_dep(name = "rules_kotlin", version = "1.9.5") -bazel_dep(name = "rules_jvm_external", version = "6.6") +bazel_dep(name = "rules_jvm_external", version = "6.10") android_sdk_repository_extension = use_extension("@rules_android//rules/android_sdk_repository:rule.bzl", "android_sdk_repository_extension") use_repo(android_sdk_repository_extension, "androidsdk") register_toolchains("@androidsdk//:sdk-toolchain", "@androidsdk//:all") -bazel_dep(name = "rules_android_ndk", version = "0.1.2") - -android_ndk_repository_extension = use_extension("@rules_android_ndk//:extension.bzl", "android_ndk_repository_extension") -use_repo(android_ndk_repository_extension, "androidndk") - -register_toolchains("@androidndk//:all") - maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") maven.install( name = "maven_rules_kotlin_example", @@ -39,6 +32,7 @@ maven.install( "com.google.auto.value:auto-value-annotations:1.6.5", "org.robolectric:robolectric:4.10.3", ], + lock_file = "//:maven_install.json", repositories = [ "https://maven.google.com", "https://repo1.maven.org/maven2", diff --git a/examples/android/maven_install.json b/examples/android/maven_install.json new file mode 100644 index 000000000..c679e9ee8 --- /dev/null +++ b/examples/android/maven_install.json @@ -0,0 +1,2220 @@ +{ + "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", + "__INPUT_ARTIFACTS_HASH": { + "androidx.appcompat:appcompat": 636295846, + "androidx.test.espresso:espresso-core": 1456830350, + "com.google.auto.value:auto-value": -558506157, + "com.google.auto.value:auto-value-annotations": -908100758, + "com.google.dagger:dagger": -931400897, + "com.google.dagger:dagger-compiler": -1526101251, + "com.google.dagger:dagger-producers": 2056287339, + "com.squareup.moshi:moshi": 1740158105, + "com.squareup.moshi:moshi-kotlin": -689451495, + "com.squareup.moshi:moshi-kotlin-codegen": -1175669617, + "junit:junit": 1849086067, + "org.hamcrest:hamcrest-library": -1383845358, + "org.jetbrains.kotlinx:kotlinx-serialization-core": -1071267668, + "org.robolectric:robolectric": 1087492588, + "repositories": 1670674627 + }, + "__RESOLVED_ARTIFACTS_HASH": { + "androidx.annotation:annotation": 1685525900, + "androidx.annotation:annotation-experimental:aar": -693774503, + "androidx.appcompat:appcompat:aar": -1454647903, + "androidx.arch.core:core-common": -666560125, + "androidx.arch.core:core-runtime:aar": 1889293196, + "androidx.asynclayoutinflater:asynclayoutinflater:aar": -1305590848, + "androidx.collection:collection": -1237520668, + "androidx.coordinatorlayout:coordinatorlayout:aar": 2034942036, + "androidx.core:core:aar": -1957528024, + "androidx.cursoradapter:cursoradapter:aar": 2108992406, + "androidx.customview:customview:aar": -404355226, + "androidx.documentfile:documentfile:aar": 1183636912, + "androidx.drawerlayout:drawerlayout:aar": -79552732, + "androidx.fragment:fragment:aar": 337999308, + "androidx.interpolator:interpolator:aar": -288111258, + "androidx.legacy:legacy-support-core-ui:aar": -1298249351, + "androidx.legacy:legacy-support-core-utils:aar": 2121079869, + "androidx.lifecycle:lifecycle-common": -910924375, + "androidx.lifecycle:lifecycle-livedata-core:aar": -202168482, + "androidx.lifecycle:lifecycle-livedata:aar": 1230736088, + "androidx.lifecycle:lifecycle-runtime:aar": -111797988, + "androidx.lifecycle:lifecycle-viewmodel:aar": -1972912730, + "androidx.loader:loader:aar": 1100521565, + "androidx.localbroadcastmanager:localbroadcastmanager:aar": -772179300, + "androidx.print:print:aar": -2039220252, + "androidx.slidingpanelayout:slidingpanelayout:aar": -1699383955, + "androidx.swiperefreshlayout:swiperefreshlayout:aar": -2019194667, + "androidx.test.espresso:espresso-core:aar": -1891259310, + "androidx.test.espresso:espresso-idling-resource:aar": 1891669884, + "androidx.test:annotation:aar": 334363857, + "androidx.test:monitor:aar": -135787275, + "androidx.test:runner:aar": 1985131139, + "androidx.tracing:tracing:aar": 1450831642, + "androidx.vectordrawable:vectordrawable-animated:aar": -674589082, + "androidx.vectordrawable:vectordrawable:aar": -420891786, + "androidx.versionedparcelable:versionedparcelable:aar": 1608987737, + "androidx.viewpager:viewpager:aar": -1948362038, + "com.almworks.sqlite4java:sqlite4java": 1585971300, + "com.google.auto.service:auto-service-annotations": 371047295, + "com.google.auto.value:auto-value": 2044796910, + "com.google.auto.value:auto-value-annotations": 1937922987, + "com.google.code.findbugs:jsr305": 870839855, + "com.google.dagger:dagger": 256107405, + "com.google.dagger:dagger-compiler": -2086172662, + "com.google.dagger:dagger-producers": -2115145317, + "com.google.dagger:dagger-spi": -1881878953, + "com.google.devtools.ksp:symbol-processing-api": 1451867997, + "com.google.errorprone:error_prone_annotations": 833623751, + "com.google.errorprone:javac-shaded": 1621944613, + "com.google.googlejavaformat:google-java-format": -172263493, + "com.google.guava:failureaccess": -1890754729, + "com.google.guava:guava": -632054072, + "com.google.guava:listenablefuture": 1079558157, + "com.google.j2objc:j2objc-annotations": 880287147, + "com.ibm.icu:icu4j": -1949900637, + "com.squareup.moshi:moshi": 339446437, + "com.squareup.moshi:moshi-kotlin": -1295829218, + "com.squareup.moshi:moshi-kotlin-codegen": 1250491327, + "com.squareup.okio:okio": 826365495, + "com.squareup:javapoet": -2135371934, + "com.squareup:javawriter": -119987150, + "com.squareup:kotlinpoet": 846105739, + "com.squareup:kotlinpoet-ksp": 190877501, + "javax.annotation:javax.annotation-api": -1009230154, + "javax.inject:javax.inject": 698155243, + "junit:junit": -643342642, + "net.ltgt.gradle.incap:incap": 641640589, + "net.sf.kxml:kxml2": 181311874, + "org.bouncycastle:bcprov-jdk18on": 248019033, + "org.checkerframework:checker-compat-qual": -1467856161, + "org.checkerframework:checker-qual": -1034954841, + "org.conscrypt:conscrypt-openjdk-uber": 742580967, + "org.hamcrest:hamcrest-core": 649657847, + "org.hamcrest:hamcrest-integration": 1444716520, + "org.hamcrest:hamcrest-library": 1747207502, + "org.jetbrains.kotlin:kotlin-reflect": -175392379, + "org.jetbrains.kotlin:kotlin-stdlib": 1585233745, + "org.jetbrains.kotlin:kotlin-stdlib-common": 1443260454, + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": 924017758, + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": 777470604, + "org.jetbrains.kotlinx:kotlinx-metadata-jvm": -1290100313, + "org.jetbrains.kotlinx:kotlinx-serialization-core": -157201992, + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm": 1866760146, + "org.jetbrains:annotations": 554168982, + "org.ow2.asm:asm": 1609665021, + "org.ow2.asm:asm-analysis": 1728665241, + "org.ow2.asm:asm-commons": 533001076, + "org.ow2.asm:asm-tree": 1367004068, + "org.ow2.asm:asm-util": 1821532244, + "org.robolectric:annotations": -1815211734, + "org.robolectric:junit": -1764503355, + "org.robolectric:nativeruntime": -1641923881, + "org.robolectric:nativeruntime-dist-compat": -1035460595, + "org.robolectric:pluginapi": -535441970, + "org.robolectric:plugins-maven-dependency-resolver": 293680785, + "org.robolectric:resources": -1536819079, + "org.robolectric:robolectric": 367361446, + "org.robolectric:sandbox": 1849945274, + "org.robolectric:shadowapi": 1921257748, + "org.robolectric:shadows-framework": -1675615063, + "org.robolectric:utils": -2134987913, + "org.robolectric:utils-reflector": 2099835332 + }, + "conflict_resolution": { + "com.google.auto.value:auto-value-annotations:1.6.5": "com.google.auto.value:auto-value-annotations:1.10.1" + }, + "artifacts": { + "androidx.annotation:annotation": { + "shasums": { + "jar": "9029262bddce116e6d02be499e4afdba21f24c239087b76b3b57d7e98b490a36" + }, + "version": "1.2.0" + }, + "androidx.annotation:annotation-experimental:aar": { + "shasums": { + "jar": "0157de61a2064047896a058080f3fd67ba57ad9a94857b3f7a363660243e3f90" + }, + "version": "1.1.0" + }, + "androidx.appcompat:appcompat:aar": { + "shasums": { + "jar": "994254e12036cbd3326b2819a4d8bc3bef139f45022cfb0b1086dc58d36d56ce" + }, + "version": "1.0.0" + }, + "androidx.arch.core:core-common": { + "shasums": { + "jar": "4b80b337779b526e64b0ee0ca9e0df43b808344d145f8e9b1c42a134dac57ad8" + }, + "version": "2.0.0" + }, + "androidx.arch.core:core-runtime:aar": { + "shasums": { + "jar": "87e65fc767c712b437649c7cee2431ebb4bed6daef82e501d4125b3ed3f65f8e" + }, + "version": "2.0.0" + }, + "androidx.asynclayoutinflater:asynclayoutinflater:aar": { + "shasums": { + "jar": "f7eab60c57addd94bb06275832fe7600611beaaae1a1ec597c231956faf96c8b" + }, + "version": "1.0.0" + }, + "androidx.collection:collection": { + "shasums": { + "jar": "9c8d117b5c2bc120a1cdfeb857e05b495b16c36013570372a708f7827e3ac9f9" + }, + "version": "1.0.0" + }, + "androidx.coordinatorlayout:coordinatorlayout:aar": { + "shasums": { + "jar": "e508c695489493374d942bf7b4ee02abf7571d25aac4c622e57d6cd5cd29eb73" + }, + "version": "1.0.0" + }, + "androidx.core:core:aar": { + "shasums": { + "jar": "d7672358fc0d46de678968bcddfd3bdfe1618574299a753477b16116cfec74f5" + }, + "version": "1.0.0" + }, + "androidx.cursoradapter:cursoradapter:aar": { + "shasums": { + "jar": "a81c8fe78815fa47df5b749deb52727ad11f9397da58b16017f4eb2c11e28564" + }, + "version": "1.0.0" + }, + "androidx.customview:customview:aar": { + "shasums": { + "jar": "20e5b8f6526a34595a604f56718da81167c0b40a7a94a57daa355663f2594df2" + }, + "version": "1.0.0" + }, + "androidx.documentfile:documentfile:aar": { + "shasums": { + "jar": "865a061ef2fad16522f8433536b8d47208c46ff7c7745197dfa1eeb481869487" + }, + "version": "1.0.0" + }, + "androidx.drawerlayout:drawerlayout:aar": { + "shasums": { + "jar": "9402442cdc5a43cf62fb14f8cf98c63342d4d9d9b805c8033c6cf7e802749ac1" + }, + "version": "1.0.0" + }, + "androidx.fragment:fragment:aar": { + "shasums": { + "jar": "65dd32d71fe65a32e77989a6cfb1ad09307038927f82a740c7611162d0b518f8" + }, + "version": "1.0.0" + }, + "androidx.interpolator:interpolator:aar": { + "shasums": { + "jar": "33193135a64fe21fa2c35eec6688f1a76e512606c0fc83dc1b689e37add7732a" + }, + "version": "1.0.0" + }, + "androidx.legacy:legacy-support-core-ui:aar": { + "shasums": { + "jar": "0d1260c6e7e6a337f875df71b516931e703f716e90889817cd3a20fa5ac3d947" + }, + "version": "1.0.0" + }, + "androidx.legacy:legacy-support-core-utils:aar": { + "shasums": { + "jar": "a7edcf01d5b52b3034073027bc4775b78a4764bb6202bb91d61c829add8dd1c7" + }, + "version": "1.0.0" + }, + "androidx.lifecycle:lifecycle-common": { + "shasums": { + "jar": "7bad7a188804adea6fa1f35d5ef99b705f20bd93ecadde484760ff86b535fefc" + }, + "version": "2.0.0" + }, + "androidx.lifecycle:lifecycle-livedata-core:aar": { + "shasums": { + "jar": "fde334ec7e22744c0f5bfe7caf1a84c9d717327044400577bdf9bd921ec4f7bc" + }, + "version": "2.0.0" + }, + "androidx.lifecycle:lifecycle-livedata:aar": { + "shasums": { + "jar": "c82609ced8c498f0a701a30fb6771bb7480860daee84d82e0a81ee86edf7ba39" + }, + "version": "2.0.0" + }, + "androidx.lifecycle:lifecycle-runtime:aar": { + "shasums": { + "jar": "e4afc9e636183f6f3e0edf1cf46121a492ffd2c673075bb07f55c7a99dd43cfb" + }, + "version": "2.0.0" + }, + "androidx.lifecycle:lifecycle-viewmodel:aar": { + "shasums": { + "jar": "d6460aea1b6bad80ab14cf88297e9e43bfde8d87c3e5c28f2c508233ffbcc062" + }, + "version": "2.0.0" + }, + "androidx.loader:loader:aar": { + "shasums": { + "jar": "11f735cb3b55c458d470bed9e25254375b518b4b1bad6926783a7026db0f5025" + }, + "version": "1.0.0" + }, + "androidx.localbroadcastmanager:localbroadcastmanager:aar": { + "shasums": { + "jar": "e71c328ceef5c4a7d76f2d86df1b65d65fe2acf868b1a4efd84a3f34336186d8" + }, + "version": "1.0.0" + }, + "androidx.print:print:aar": { + "shasums": { + "jar": "1d5c7f3135a1bba661fc373fd72e11eb0a4adbb3396787826dd8e4190d5d9edd" + }, + "version": "1.0.0" + }, + "androidx.slidingpanelayout:slidingpanelayout:aar": { + "shasums": { + "jar": "76bffb7cefbf780794d8817002dad1562f3e27c0a9f746d62401c8edb30aeede" + }, + "version": "1.0.0" + }, + "androidx.swiperefreshlayout:swiperefreshlayout:aar": { + "shasums": { + "jar": "9761b3a809c9b093fd06a3c4bbc645756dec0e95b5c9da419bc9f2a3f3026e8d" + }, + "version": "1.0.0" + }, + "androidx.test.espresso:espresso-core:aar": { + "shasums": { + "jar": "5d5467544014b331299c7e6b21986096a43a8d88f7dde59d09171328c689e92c" + }, + "version": "3.1.1" + }, + "androidx.test.espresso:espresso-idling-resource:aar": { + "shasums": { + "jar": "84fb8e2f5eda937771bee28582f5d2cfa61b0e9438d02041ca61b81e3dac3c87" + }, + "version": "3.5.1" + }, + "androidx.test:annotation:aar": { + "shasums": { + "jar": "c0754928effe1968c3a9a7b55d1dfc7ceb1e1e7c9f3f09f98afd42431f712492" + }, + "version": "1.0.1" + }, + "androidx.test:monitor:aar": { + "shasums": { + "jar": "2985ce8556989baf7c84342e7f687713c037a39a922e614d1a3ddf1ca3777079" + }, + "version": "1.6.1" + }, + "androidx.test:runner:aar": { + "shasums": { + "jar": "b16842932ce0d59c57f6d809f84326acdf2386e1d69dbb4473f2e92bc49e185c" + }, + "version": "1.1.1" + }, + "androidx.tracing:tracing:aar": { + "shasums": { + "jar": "07b8b6139665b884a162eccf97891ca50f7f56831233bf25168ae04f7b568612" + }, + "version": "1.0.0" + }, + "androidx.vectordrawable:vectordrawable-animated:aar": { + "shasums": { + "jar": "26c3a0cf0a9a9a7d235a0b00f2f37e431d52d9952751e3eb7c90b4b52c236cf1" + }, + "version": "1.0.0" + }, + "androidx.vectordrawable:vectordrawable:aar": { + "shasums": { + "jar": "507591926583875e3a0e6c46272235f323b4574759b5c02f0ab7a51d2ae7320d" + }, + "version": "1.0.0" + }, + "androidx.versionedparcelable:versionedparcelable:aar": { + "shasums": { + "jar": "f6438a93ed8016ccddca0e140a70be0b0110e0424edaa1472f84f98fed2e1ce3" + }, + "version": "1.0.0" + }, + "androidx.viewpager:viewpager:aar": { + "shasums": { + "jar": "147af4e14a1984010d8f155e5e19d781f03c1d70dfed02a8e0d18428b8fc8682" + }, + "version": "1.0.0" + }, + "com.almworks.sqlite4java:sqlite4java": { + "shasums": { + "jar": "243a64470fda0e86a6fddeb0af4c7aa9426ce84e68cbfe18d75ee5da4b7e0b92" + }, + "version": "1.0.392" + }, + "com.google.auto.service:auto-service-annotations": { + "shasums": { + "jar": "44752893119fdaf01b4c5ee74e46e5dab86f2dcda18114c562f877355c6ed26e" + }, + "version": "1.0" + }, + "com.google.auto.value:auto-value": { + "shasums": { + "jar": "ed5f69ef035b5367f1f0264f843b988908e36e155845880b29d79b7c8855adf3" + }, + "version": "1.6.5" + }, + "com.google.auto.value:auto-value-annotations": { + "shasums": { + "jar": "a4fe0a211925e938a8510d741763ee1171a11bf931f5891ef4d4ee84fca72be2" + }, + "version": "1.10.1" + }, + "com.google.code.findbugs:jsr305": { + "shasums": { + "jar": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7" + }, + "version": "3.0.2" + }, + "com.google.dagger:dagger": { + "shasums": { + "jar": "f011cae7d2c0fb7ea17c34e05bc10e768b1081a5892ad019cf1fdb0e125c49c1" + }, + "version": "2.45" + }, + "com.google.dagger:dagger-compiler": { + "shasums": { + "jar": "5617dfb994537dba5b41f3744a6dd13ec3cd99789c065e0d5c6fa9f21cf7ca25" + }, + "version": "2.45" + }, + "com.google.dagger:dagger-producers": { + "shasums": { + "jar": "a05abb4c3ccf6bb0f056bdcb5ef973898ecf172952ab5948a824aeea6c86ecaa" + }, + "version": "2.45" + }, + "com.google.dagger:dagger-spi": { + "shasums": { + "jar": "7cd6f0b09d88e64a9c97bc80e544ab8ac8fdee9301754413585a74cf64222b27" + }, + "version": "2.45" + }, + "com.google.devtools.ksp:symbol-processing-api": { + "shasums": { + "jar": "adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941" + }, + "version": "1.7.0-1.0.6" + }, + "com.google.errorprone:error_prone_annotations": { + "shasums": { + "jar": "9e6814cb71816988a4fd1b07a993a8f21bb7058d522c162b1de849e19bea54ae" + }, + "version": "2.18.0" + }, + "com.google.errorprone:javac-shaded": { + "shasums": { + "jar": "65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30" + }, + "version": "9-dev-r4023-3" + }, + "com.google.googlejavaformat:google-java-format": { + "shasums": { + "jar": "aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e" + }, + "version": "1.5" + }, + "com.google.guava:failureaccess": { + "shasums": { + "jar": "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26" + }, + "version": "1.0.1" + }, + "com.google.guava:guava": { + "shasums": { + "jar": "a42edc9cab792e39fe39bb94f3fca655ed157ff87a8af78e1d6ba5b07c4a00ab" + }, + "version": "31.1-jre" + }, + "com.google.guava:listenablefuture": { + "shasums": { + "jar": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99" + }, + "version": "9999.0-empty-to-avoid-conflict-with-guava" + }, + "com.google.j2objc:j2objc-annotations": { + "shasums": { + "jar": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b" + }, + "version": "1.3" + }, + "com.ibm.icu:icu4j": { + "shasums": { + "jar": "3df572b240a68d13b5cd778ad2393e885d26411434cd8f098ac5987ea2e64ce3" + }, + "version": "72.1" + }, + "com.squareup.moshi:moshi": { + "shasums": { + "jar": "3439b2c21ac4acd25034030854a6bd07d8a037f2e09f98cb13708908c84e9b15" + }, + "version": "1.14.0" + }, + "com.squareup.moshi:moshi-kotlin": { + "shasums": { + "jar": "0d3193fd0c3a2f60b63bb5b3b55adcaa235da653a8b0b381091c27f94caaf664" + }, + "version": "1.14.0" + }, + "com.squareup.moshi:moshi-kotlin-codegen": { + "shasums": { + "jar": "c29878a4336a7508bf6ff366d7713fe67d96679d56280e731cfb9d5296c93e9c" + }, + "version": "1.14.0" + }, + "com.squareup.okio:okio": { + "shasums": { + "jar": "a27f091d34aa452e37227e2cfa85809f29012a8ef2501a9b5a125a978e4fcbc1" + }, + "version": "2.10.0" + }, + "com.squareup:javapoet": { + "shasums": { + "jar": "4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291" + }, + "version": "1.13.0" + }, + "com.squareup:javawriter": { + "shasums": { + "jar": "f699823d0081f69cbb676c1845ea222e0ada79bc88a53e5d22d8bd02d328f57e" + }, + "version": "2.1.1" + }, + "com.squareup:kotlinpoet": { + "shasums": { + "jar": "8e3f7849cdfb5376c87aca4cd40a6b96fbb02ddf060b6211099f5d15211171ce" + }, + "version": "1.12.0" + }, + "com.squareup:kotlinpoet-ksp": { + "shasums": { + "jar": "d4b70157027573f88f840e1e85982e4a7ffb4647d2e11868bc7f8f970358ca71" + }, + "version": "1.12.0" + }, + "javax.annotation:javax.annotation-api": { + "shasums": { + "jar": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b" + }, + "version": "1.3.2" + }, + "javax.inject:javax.inject": { + "shasums": { + "jar": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff" + }, + "version": "1" + }, + "junit:junit": { + "shasums": { + "jar": "59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a" + }, + "version": "4.12" + }, + "net.ltgt.gradle.incap:incap": { + "shasums": { + "jar": "b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd" + }, + "version": "0.2" + }, + "net.sf.kxml:kxml2": { + "shasums": { + "jar": "f264dd9f79a1fde10ce5ecc53221eff24be4c9331c830b7d52f2f08a7b633de2" + }, + "version": "2.3.0" + }, + "org.bouncycastle:bcprov-jdk18on": { + "shasums": { + "jar": "39287f2208a753db419f5ca529d6c80f094614aa74d790331126b3c9c6b85fda" + }, + "version": "1.72" + }, + "org.checkerframework:checker-compat-qual": { + "shasums": { + "jar": "11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a" + }, + "version": "2.5.5" + }, + "org.checkerframework:checker-qual": { + "shasums": { + "jar": "ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb" + }, + "version": "3.12.0" + }, + "org.conscrypt:conscrypt-openjdk-uber": { + "shasums": { + "jar": "eaf537d98e033d0f0451cd1b8cc74e02d7b55ec882da63c88060d806ba89c348" + }, + "version": "2.5.2" + }, + "org.hamcrest:hamcrest-core": { + "shasums": { + "jar": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9" + }, + "version": "1.3" + }, + "org.hamcrest:hamcrest-integration": { + "shasums": { + "jar": "70f418efbb506c5155da5f9a5a33262ea08a9e4d7fea186aa9015c41a7224ac2" + }, + "version": "1.3" + }, + "org.hamcrest:hamcrest-library": { + "shasums": { + "jar": "711d64522f9ec410983bd310934296da134be4254a125080a0416ec178dfad1c" + }, + "version": "1.3" + }, + "org.jetbrains.kotlin:kotlin-reflect": { + "shasums": { + "jar": "d22146070957a44360006837873c51b6602c96a819576b40fdabcd95b7740771" + }, + "version": "1.7.0" + }, + "org.jetbrains.kotlin:kotlin-stdlib": { + "shasums": { + "jar": "fb169596659a518357c4b2c16f43dc75ab1c4980565ed4b4a317a050e5e39006" + }, + "version": "2.0.20" + }, + "org.jetbrains.kotlin:kotlin-stdlib-common": { + "shasums": { + "jar": "a7112c9b3cefee418286c9c9372f7af992bd1e6e030691d52f60cb36dbec8320" + }, + "version": "1.4.20" + }, + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": { + "shasums": { + "jar": "07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239" + }, + "version": "1.7.0" + }, + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": { + "shasums": { + "jar": "cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b" + }, + "version": "1.7.0" + }, + "org.jetbrains.kotlinx:kotlinx-metadata-jvm": { + "shasums": { + "jar": "ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4" + }, + "version": "0.5.0" + }, + "org.jetbrains.kotlinx:kotlinx-serialization-core": { + "shasums": { + "jar": "4850682e0e5976862695330d84eb8699f1dc5d50849f625263995cc88bc6f37b" + }, + "version": "1.7.3" + }, + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm": { + "shasums": { + "jar": "f0adde45864144475385cf4aa7e0b7feb27f61fcf9472665ed98cc971b06b1eb" + }, + "version": "1.7.3" + }, + "org.jetbrains:annotations": { + "shasums": { + "jar": "ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478" + }, + "version": "13.0" + }, + "org.ow2.asm:asm": { + "shasums": { + "jar": "b62e84b5980729751b0458c534cf1366f727542bb8d158621335682a460f0353" + }, + "version": "9.5" + }, + "org.ow2.asm:asm-analysis": { + "shasums": { + "jar": "39f1cf1791335701c3b02cae7b2bc21057ec9a55b2240789cb6d552b2b2c62fa" + }, + "version": "9.5" + }, + "org.ow2.asm:asm-commons": { + "shasums": { + "jar": "72eee9fbafb9de8d9463f20dd584a48ceeb7e5152ad4c987bfbe17dd4811c9ae" + }, + "version": "9.5" + }, + "org.ow2.asm:asm-tree": { + "shasums": { + "jar": "3c33a648191079aeaeaeb7c19a49b153952f9e40fe86fbac5205554ddd9acd94" + }, + "version": "9.5" + }, + "org.ow2.asm:asm-util": { + "shasums": { + "jar": "c467f1bb3c08888f47243e2d475209b34a772d627e44fca06752e18bb038bd74" + }, + "version": "9.5" + }, + "org.robolectric:annotations": { + "shasums": { + "jar": "f3d6b921b7bf9d541577414c3b3124293eb09ced71f939e0c325c8d8abad0b6f" + }, + "version": "4.10.3" + }, + "org.robolectric:junit": { + "shasums": { + "jar": "815f0bae88eb198889e1878ef65b904c4ec59131be2458829bcc942bd7b9f6da" + }, + "version": "4.10.3" + }, + "org.robolectric:nativeruntime": { + "shasums": { + "jar": "71fd2d1e8e78f2d70cc4879f5aa6910bf05a68274d3ca87179fb6f9447db5fb9" + }, + "version": "4.10.3" + }, + "org.robolectric:nativeruntime-dist-compat": { + "shasums": { + "jar": "2dd7aae2332b8f57932e1ef78fb8d973aac1da631ec9fb471752280df50d140c" + }, + "version": "1.0.1" + }, + "org.robolectric:pluginapi": { + "shasums": { + "jar": "56be2717854add52e3437bb3be1b898dfea8ce8c6fcd26c4d0de68bf605274b0" + }, + "version": "4.10.3" + }, + "org.robolectric:plugins-maven-dependency-resolver": { + "shasums": { + "jar": "54618c67214824dd5ebd72c5ed9c56fb62b776902455d0b0efc0e0940d8ebcf6" + }, + "version": "4.10.3" + }, + "org.robolectric:resources": { + "shasums": { + "jar": "8decd0518e147c1038d38f6d33632e3310886194d7a8afeeb62849495f36e5f7" + }, + "version": "4.10.3" + }, + "org.robolectric:robolectric": { + "shasums": { + "jar": "e61c4733bd64f57ba9884bf232b293fdd19b233608dd3481cd0e3c99f0f7c0fc" + }, + "version": "4.10.3" + }, + "org.robolectric:sandbox": { + "shasums": { + "jar": "59611ce3f110f21d464003a7a812dc8155f4132173cb13cf4e246da496cf17d0" + }, + "version": "4.10.3" + }, + "org.robolectric:shadowapi": { + "shasums": { + "jar": "1ba648a76968f1bb9f4fc64321af70c4eeed94b2a3fa1b2a848a7706ec25c75a" + }, + "version": "4.10.3" + }, + "org.robolectric:shadows-framework": { + "shasums": { + "jar": "106f6a19abc9d5786a18461a2554afbf782a30e799f867d7f1a9f26bcbb873a7" + }, + "version": "4.10.3" + }, + "org.robolectric:utils": { + "shasums": { + "jar": "0081b1a65c2c6d7cf56a56f6b4ed85b35a91f5a9f40a4b81c6771b497265518e" + }, + "version": "4.10.3" + }, + "org.robolectric:utils-reflector": { + "shasums": { + "jar": "fcd2dde7623a5b47caa7efcbdf7dd2a95429e640b42490db5bc645367f0a0e1a" + }, + "version": "4.10.3" + } + }, + "dependencies": { + "androidx.appcompat:appcompat:aar": [ + "androidx.annotation:annotation", + "androidx.collection:collection", + "androidx.core:core:aar", + "androidx.cursoradapter:cursoradapter:aar", + "androidx.fragment:fragment:aar", + "androidx.legacy:legacy-support-core-utils:aar", + "androidx.vectordrawable:vectordrawable-animated:aar", + "androidx.vectordrawable:vectordrawable:aar" + ], + "androidx.arch.core:core-common": [ + "androidx.annotation:annotation" + ], + "androidx.arch.core:core-runtime:aar": [ + "androidx.annotation:annotation", + "androidx.arch.core:core-common" + ], + "androidx.asynclayoutinflater:asynclayoutinflater:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar" + ], + "androidx.collection:collection": [ + "androidx.annotation:annotation" + ], + "androidx.coordinatorlayout:coordinatorlayout:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar", + "androidx.customview:customview:aar" + ], + "androidx.core:core:aar": [ + "androidx.annotation:annotation", + "androidx.collection:collection", + "androidx.lifecycle:lifecycle-runtime:aar", + "androidx.versionedparcelable:versionedparcelable:aar" + ], + "androidx.cursoradapter:cursoradapter:aar": [ + "androidx.annotation:annotation" + ], + "androidx.customview:customview:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar" + ], + "androidx.documentfile:documentfile:aar": [ + "androidx.annotation:annotation" + ], + "androidx.drawerlayout:drawerlayout:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar", + "androidx.customview:customview:aar" + ], + "androidx.fragment:fragment:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar", + "androidx.legacy:legacy-support-core-ui:aar", + "androidx.legacy:legacy-support-core-utils:aar", + "androidx.lifecycle:lifecycle-viewmodel:aar", + "androidx.loader:loader:aar" + ], + "androidx.interpolator:interpolator:aar": [ + "androidx.annotation:annotation" + ], + "androidx.legacy:legacy-support-core-ui:aar": [ + "androidx.annotation:annotation", + "androidx.asynclayoutinflater:asynclayoutinflater:aar", + "androidx.coordinatorlayout:coordinatorlayout:aar", + "androidx.core:core:aar", + "androidx.cursoradapter:cursoradapter:aar", + "androidx.customview:customview:aar", + "androidx.drawerlayout:drawerlayout:aar", + "androidx.interpolator:interpolator:aar", + "androidx.legacy:legacy-support-core-utils:aar", + "androidx.slidingpanelayout:slidingpanelayout:aar", + "androidx.swiperefreshlayout:swiperefreshlayout:aar", + "androidx.viewpager:viewpager:aar" + ], + "androidx.legacy:legacy-support-core-utils:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar", + "androidx.documentfile:documentfile:aar", + "androidx.loader:loader:aar", + "androidx.localbroadcastmanager:localbroadcastmanager:aar", + "androidx.print:print:aar" + ], + "androidx.lifecycle:lifecycle-common": [ + "androidx.annotation:annotation" + ], + "androidx.lifecycle:lifecycle-livedata-core:aar": [ + "androidx.arch.core:core-common", + "androidx.arch.core:core-runtime:aar", + "androidx.lifecycle:lifecycle-common" + ], + "androidx.lifecycle:lifecycle-livedata:aar": [ + "androidx.arch.core:core-common", + "androidx.arch.core:core-runtime:aar", + "androidx.lifecycle:lifecycle-livedata-core:aar" + ], + "androidx.lifecycle:lifecycle-runtime:aar": [ + "androidx.annotation:annotation", + "androidx.arch.core:core-common", + "androidx.lifecycle:lifecycle-common" + ], + "androidx.lifecycle:lifecycle-viewmodel:aar": [ + "androidx.annotation:annotation" + ], + "androidx.loader:loader:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar", + "androidx.lifecycle:lifecycle-livedata:aar", + "androidx.lifecycle:lifecycle-viewmodel:aar" + ], + "androidx.localbroadcastmanager:localbroadcastmanager:aar": [ + "androidx.annotation:annotation" + ], + "androidx.print:print:aar": [ + "androidx.annotation:annotation" + ], + "androidx.slidingpanelayout:slidingpanelayout:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar", + "androidx.customview:customview:aar" + ], + "androidx.swiperefreshlayout:swiperefreshlayout:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar", + "androidx.interpolator:interpolator:aar" + ], + "androidx.test.espresso:espresso-core:aar": [ + "androidx.test.espresso:espresso-idling-resource:aar", + "androidx.test:runner:aar", + "com.google.code.findbugs:jsr305", + "com.squareup:javawriter", + "javax.inject:javax.inject", + "org.hamcrest:hamcrest-integration", + "org.hamcrest:hamcrest-library" + ], + "androidx.test:annotation:aar": [ + "androidx.annotation:annotation", + "androidx.annotation:annotation-experimental:aar" + ], + "androidx.test:monitor:aar": [ + "androidx.annotation:annotation", + "androidx.test:annotation:aar", + "androidx.tracing:tracing:aar" + ], + "androidx.test:runner:aar": [ + "androidx.annotation:annotation", + "androidx.test:monitor:aar", + "junit:junit", + "net.sf.kxml:kxml2" + ], + "androidx.tracing:tracing:aar": [ + "androidx.annotation:annotation" + ], + "androidx.vectordrawable:vectordrawable-animated:aar": [ + "androidx.legacy:legacy-support-core-ui:aar", + "androidx.vectordrawable:vectordrawable:aar" + ], + "androidx.vectordrawable:vectordrawable:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar" + ], + "androidx.versionedparcelable:versionedparcelable:aar": [ + "androidx.annotation:annotation", + "androidx.collection:collection" + ], + "androidx.viewpager:viewpager:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar", + "androidx.customview:customview:aar" + ], + "com.google.dagger:dagger": [ + "javax.inject:javax.inject" + ], + "com.google.dagger:dagger-compiler": [ + "com.google.code.findbugs:jsr305", + "com.google.dagger:dagger", + "com.google.dagger:dagger-producers", + "com.google.dagger:dagger-spi", + "com.google.devtools.ksp:symbol-processing-api", + "com.google.googlejavaformat:google-java-format", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.squareup:javapoet", + "javax.inject:javax.inject", + "net.ltgt.gradle.incap:incap", + "org.checkerframework:checker-compat-qual", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlinx:kotlinx-metadata-jvm" + ], + "com.google.dagger:dagger-producers": [ + "com.google.dagger:dagger", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "javax.inject:javax.inject", + "org.checkerframework:checker-compat-qual" + ], + "com.google.dagger:dagger-spi": [ + "com.google.code.findbugs:jsr305", + "com.google.dagger:dagger", + "com.google.dagger:dagger-producers", + "com.google.devtools.ksp:symbol-processing-api", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.squareup:javapoet", + "com.squareup:kotlinpoet", + "javax.inject:javax.inject", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + ], + "com.google.devtools.ksp:symbol-processing-api": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "com.google.googlejavaformat:google-java-format": [ + "com.google.errorprone:javac-shaded", + "com.google.guava:guava" + ], + "com.google.guava:guava": [ + "com.google.code.findbugs:jsr305", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:failureaccess", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "org.checkerframework:checker-qual" + ], + "com.squareup.moshi:moshi": [ + "com.squareup.okio:okio", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + ], + "com.squareup.moshi:moshi-kotlin": [ + "com.squareup.moshi:moshi", + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + ], + "com.squareup.moshi:moshi-kotlin-codegen": [ + "com.google.auto.service:auto-service-annotations", + "com.google.guava:guava", + "com.squareup.moshi:moshi", + "com.squareup:kotlinpoet", + "com.squareup:kotlinpoet-ksp", + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8", + "org.ow2.asm:asm" + ], + "com.squareup.okio:okio": [ + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-common" + ], + "com.squareup:kotlinpoet": [ + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + ], + "com.squareup:kotlinpoet-ksp": [ + "com.squareup:kotlinpoet", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + ], + "junit:junit": [ + "org.hamcrest:hamcrest-core" + ], + "org.hamcrest:hamcrest-integration": [ + "org.hamcrest:hamcrest-library" + ], + "org.hamcrest:hamcrest-library": [ + "org.hamcrest:hamcrest-core" + ], + "org.jetbrains.kotlin:kotlin-reflect": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "org.jetbrains:annotations" + ], + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": [ + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7" + ], + "org.jetbrains.kotlinx:kotlinx-metadata-jvm": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.jetbrains.kotlinx:kotlinx-serialization-core": [ + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm" + ], + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.ow2.asm:asm-analysis": [ + "org.ow2.asm:asm-tree" + ], + "org.ow2.asm:asm-commons": [ + "org.ow2.asm:asm", + "org.ow2.asm:asm-tree" + ], + "org.ow2.asm:asm-tree": [ + "org.ow2.asm:asm" + ], + "org.ow2.asm:asm-util": [ + "org.ow2.asm:asm", + "org.ow2.asm:asm-analysis", + "org.ow2.asm:asm-tree" + ], + "org.robolectric:junit": [ + "org.robolectric:annotations", + "org.robolectric:pluginapi", + "org.robolectric:sandbox", + "org.robolectric:shadowapi", + "org.robolectric:utils-reflector" + ], + "org.robolectric:nativeruntime": [ + "com.google.guava:guava", + "org.robolectric:nativeruntime-dist-compat", + "org.robolectric:utils", + "org.robolectric:utils-reflector" + ], + "org.robolectric:pluginapi": [ + "com.google.guava:guava", + "org.robolectric:annotations" + ], + "org.robolectric:plugins-maven-dependency-resolver": [ + "com.google.auto.value:auto-value-annotations", + "com.google.guava:guava", + "org.robolectric:pluginapi", + "org.robolectric:utils" + ], + "org.robolectric:resources": [ + "com.google.guava:guava", + "org.robolectric:annotations", + "org.robolectric:pluginapi", + "org.robolectric:utils" + ], + "org.robolectric:robolectric": [ + "androidx.test.espresso:espresso-idling-resource:aar", + "androidx.test:monitor:aar", + "javax.annotation:javax.annotation-api", + "javax.inject:javax.inject", + "org.bouncycastle:bcprov-jdk18on", + "org.conscrypt:conscrypt-openjdk-uber", + "org.robolectric:annotations", + "org.robolectric:junit", + "org.robolectric:pluginapi", + "org.robolectric:plugins-maven-dependency-resolver", + "org.robolectric:resources", + "org.robolectric:sandbox", + "org.robolectric:shadows-framework", + "org.robolectric:utils", + "org.robolectric:utils-reflector" + ], + "org.robolectric:sandbox": [ + "com.google.guava:guava", + "javax.annotation:javax.annotation-api", + "javax.inject:javax.inject", + "org.ow2.asm:asm", + "org.ow2.asm:asm-commons", + "org.robolectric:annotations", + "org.robolectric:shadowapi", + "org.robolectric:utils", + "org.robolectric:utils-reflector" + ], + "org.robolectric:shadowapi": [ + "org.robolectric:annotations", + "org.robolectric:utils" + ], + "org.robolectric:shadows-framework": [ + "androidx.annotation:annotation", + "androidx.test:monitor:aar", + "com.almworks.sqlite4java:sqlite4java", + "com.google.auto.value:auto-value-annotations", + "com.google.errorprone:error_prone_annotations", + "com.ibm.icu:icu4j", + "org.robolectric:annotations", + "org.robolectric:nativeruntime", + "org.robolectric:pluginapi", + "org.robolectric:resources", + "org.robolectric:sandbox", + "org.robolectric:shadowapi", + "org.robolectric:utils", + "org.robolectric:utils-reflector" + ], + "org.robolectric:utils": [ + "com.google.errorprone:error_prone_annotations", + "com.google.guava:guava", + "javax.annotation:javax.annotation-api", + "javax.inject:javax.inject", + "org.robolectric:annotations", + "org.robolectric:pluginapi" + ], + "org.robolectric:utils-reflector": [ + "org.ow2.asm:asm", + "org.ow2.asm:asm-commons", + "org.ow2.asm:asm-util", + "org.robolectric:utils" + ] + }, + "packages": { + "androidx.annotation:annotation": [ + "androidx.annotation" + ], + "androidx.arch.core:core-common": [ + "androidx.arch.core.internal", + "androidx.arch.core.util" + ], + "androidx.collection:collection": [ + "androidx.collection" + ], + "androidx.lifecycle:lifecycle-common": [ + "androidx.lifecycle" + ], + "com.almworks.sqlite4java:sqlite4java": [ + "com.almworks.sqlite4java", + "javolution.util.stripped" + ], + "com.google.auto.service:auto-service-annotations": [ + "com.google.auto.service" + ], + "com.google.auto.value:auto-value": [ + "com.google.auto.value.extension", + "com.google.auto.value.extension.memoized.processor", + "com.google.auto.value.processor", + "org.checkerframework.checker.nullness.qual", + "org.checkerframework.framework.qual" + ], + "com.google.auto.value:auto-value-annotations": [ + "com.google.auto.value", + "com.google.auto.value.extension.memoized", + "com.google.auto.value.extension.serializable", + "com.google.auto.value.extension.toprettystring" + ], + "com.google.code.findbugs:jsr305": [ + "javax.annotation", + "javax.annotation.concurrent", + "javax.annotation.meta" + ], + "com.google.dagger:dagger": [ + "dagger", + "dagger.assisted", + "dagger.internal", + "dagger.multibindings" + ], + "com.google.dagger:dagger-compiler": [ + "dagger.internal.codegen", + "dagger.internal.codegen.base", + "dagger.internal.codegen.binding", + "dagger.internal.codegen.bindinggraphvalidation", + "dagger.internal.codegen.compileroption", + "dagger.internal.codegen.componentgenerator", + "dagger.internal.codegen.javapoet", + "dagger.internal.codegen.kotlin", + "dagger.internal.codegen.langmodel", + "dagger.internal.codegen.processingstep", + "dagger.internal.codegen.validation", + "dagger.internal.codegen.writing" + ], + "com.google.dagger:dagger-producers": [ + "dagger.producers", + "dagger.producers.internal", + "dagger.producers.monitoring", + "dagger.producers.monitoring.internal" + ], + "com.google.dagger:dagger-spi": [ + "dagger.internal.codegen.extension", + "dagger.internal.codegen.xprocessing", + "dagger.model", + "dagger.spi", + "dagger.spi.model", + "dagger.spi.shaded.androidx.room.compiler.codegen", + "dagger.spi.shaded.androidx.room.compiler.codegen.java", + "dagger.spi.shaded.androidx.room.compiler.codegen.kotlin", + "dagger.spi.shaded.androidx.room.compiler.processing", + "dagger.spi.shaded.androidx.room.compiler.processing.compat", + "dagger.spi.shaded.androidx.room.compiler.processing.javac", + "dagger.spi.shaded.androidx.room.compiler.processing.javac.kotlin", + "dagger.spi.shaded.androidx.room.compiler.processing.ksp", + "dagger.spi.shaded.androidx.room.compiler.processing.ksp.synthetic", + "dagger.spi.shaded.androidx.room.compiler.processing.util", + "dagger.spi.shaded.auto.common" + ], + "com.google.devtools.ksp:symbol-processing-api": [ + "com.google.devtools.ksp", + "com.google.devtools.ksp.processing", + "com.google.devtools.ksp.symbol", + "com.google.devtools.ksp.visitor" + ], + "com.google.errorprone:error_prone_annotations": [ + "com.google.errorprone.annotations", + "com.google.errorprone.annotations.concurrent" + ], + "com.google.errorprone:javac-shaded": [ + "org.openjdk.javax.annotation.processing", + "org.openjdk.javax.lang.model", + "org.openjdk.javax.lang.model.element", + "org.openjdk.javax.lang.model.type", + "org.openjdk.javax.lang.model.util", + "org.openjdk.javax.tools", + "org.openjdk.source.doctree", + "org.openjdk.source.tree", + "org.openjdk.source.util", + "org.openjdk.tools.doclint", + "org.openjdk.tools.doclint.resources", + "org.openjdk.tools.javac", + "org.openjdk.tools.javac.api", + "org.openjdk.tools.javac.code", + "org.openjdk.tools.javac.comp", + "org.openjdk.tools.javac.file", + "org.openjdk.tools.javac.jvm", + "org.openjdk.tools.javac.main", + "org.openjdk.tools.javac.model", + "org.openjdk.tools.javac.parser", + "org.openjdk.tools.javac.platform", + "org.openjdk.tools.javac.processing", + "org.openjdk.tools.javac.resources", + "org.openjdk.tools.javac.tree", + "org.openjdk.tools.javac.util", + "org.openjdk.tools.javah", + "org.openjdk.tools.javah.resources", + "org.openjdk.tools.sjavac", + "org.openjdk.tools.sjavac.client", + "org.openjdk.tools.sjavac.comp", + "org.openjdk.tools.sjavac.comp.dependencies", + "org.openjdk.tools.sjavac.options", + "org.openjdk.tools.sjavac.pubapi", + "org.openjdk.tools.sjavac.server", + "org.openjdk.tools.sjavac.server.log" + ], + "com.google.googlejavaformat:google-java-format": [ + "com.google.googlejavaformat", + "com.google.googlejavaformat.java", + "com.google.googlejavaformat.java.filer", + "com.google.googlejavaformat.java.javadoc" + ], + "com.google.guava:failureaccess": [ + "com.google.common.util.concurrent.internal" + ], + "com.google.guava:guava": [ + "com.google.common.annotations", + "com.google.common.base", + "com.google.common.base.internal", + "com.google.common.cache", + "com.google.common.collect", + "com.google.common.escape", + "com.google.common.eventbus", + "com.google.common.graph", + "com.google.common.hash", + "com.google.common.html", + "com.google.common.io", + "com.google.common.math", + "com.google.common.net", + "com.google.common.primitives", + "com.google.common.reflect", + "com.google.common.util.concurrent", + "com.google.common.xml", + "com.google.thirdparty.publicsuffix" + ], + "com.google.j2objc:j2objc-annotations": [ + "com.google.j2objc.annotations" + ], + "com.ibm.icu:icu4j": [ + "com.ibm.icu.impl", + "com.ibm.icu.impl.breakiter", + "com.ibm.icu.impl.coll", + "com.ibm.icu.impl.data", + "com.ibm.icu.impl.duration", + "com.ibm.icu.impl.duration.impl", + "com.ibm.icu.impl.locale", + "com.ibm.icu.impl.number", + "com.ibm.icu.impl.number.parse", + "com.ibm.icu.impl.number.range", + "com.ibm.icu.impl.personname", + "com.ibm.icu.impl.text", + "com.ibm.icu.impl.units", + "com.ibm.icu.lang", + "com.ibm.icu.math", + "com.ibm.icu.message2", + "com.ibm.icu.number", + "com.ibm.icu.text", + "com.ibm.icu.util" + ], + "com.squareup.moshi:moshi": [ + "com.squareup.moshi", + "com.squareup.moshi.internal" + ], + "com.squareup.moshi:moshi-kotlin": [ + "com.squareup.moshi", + "com.squareup.moshi.kotlin.reflect" + ], + "com.squareup.moshi:moshi-kotlin-codegen": [ + "com.squareup.moshi.kotlin.codegen.api", + "com.squareup.moshi.kotlin.codegen.apt", + "com.squareup.moshi.kotlin.codegen.ksp", + "com.squareup.moshi.kotlinpoet.metadata", + "com.squareup.moshi.kotlinpoet.metadata.classinspectors", + "com.squareup.moshi.kotlinpoet.metadata.specs", + "com.squareup.moshi.kotlinx.metadata", + "com.squareup.moshi.kotlinx.metadata.impl", + "com.squareup.moshi.kotlinx.metadata.impl.extensions", + "com.squareup.moshi.kotlinx.metadata.internal.common", + "com.squareup.moshi.kotlinx.metadata.internal.metadata", + "com.squareup.moshi.kotlinx.metadata.internal.metadata.builtins", + "com.squareup.moshi.kotlinx.metadata.internal.metadata.deserialization", + "com.squareup.moshi.kotlinx.metadata.internal.metadata.jvm", + "com.squareup.moshi.kotlinx.metadata.internal.metadata.jvm.deserialization", + "com.squareup.moshi.kotlinx.metadata.internal.metadata.jvm.serialization", + "com.squareup.moshi.kotlinx.metadata.internal.metadata.serialization", + "com.squareup.moshi.kotlinx.metadata.internal.protobuf", + "com.squareup.moshi.kotlinx.metadata.jvm", + "com.squareup.moshi.kotlinx.metadata.jvm.impl", + "shadow.com.google.auto.common" + ], + "com.squareup.okio:okio": [ + "okio", + "okio.internal" + ], + "com.squareup:javapoet": [ + "com.squareup.javapoet" + ], + "com.squareup:javawriter": [ + "com.squareup.javawriter" + ], + "com.squareup:kotlinpoet": [ + "com.squareup.kotlinpoet", + "com.squareup.kotlinpoet.jvm", + "com.squareup.kotlinpoet.tags" + ], + "com.squareup:kotlinpoet-ksp": [ + "com.squareup.kotlinpoet.ksp" + ], + "javax.annotation:javax.annotation-api": [ + "javax.annotation", + "javax.annotation.security", + "javax.annotation.sql" + ], + "javax.inject:javax.inject": [ + "javax.inject" + ], + "junit:junit": [ + "junit.extensions", + "junit.framework", + "junit.runner", + "junit.textui", + "org.junit", + "org.junit.experimental", + "org.junit.experimental.categories", + "org.junit.experimental.max", + "org.junit.experimental.results", + "org.junit.experimental.runners", + "org.junit.experimental.theories", + "org.junit.experimental.theories.internal", + "org.junit.experimental.theories.suppliers", + "org.junit.internal", + "org.junit.internal.builders", + "org.junit.internal.matchers", + "org.junit.internal.requests", + "org.junit.internal.runners", + "org.junit.internal.runners.model", + "org.junit.internal.runners.rules", + "org.junit.internal.runners.statements", + "org.junit.matchers", + "org.junit.rules", + "org.junit.runner", + "org.junit.runner.manipulation", + "org.junit.runner.notification", + "org.junit.runners", + "org.junit.runners.model", + "org.junit.runners.parameterized", + "org.junit.validator" + ], + "net.ltgt.gradle.incap:incap": [ + "net.ltgt.gradle.incap" + ], + "net.sf.kxml:kxml2": [ + "org.kxml2.io", + "org.kxml2.kdom", + "org.kxml2.wap", + "org.kxml2.wap.syncml", + "org.kxml2.wap.wml", + "org.kxml2.wap.wv", + "org.xmlpull.v1" + ], + "org.bouncycastle:bcprov-jdk18on": [ + "org.bouncycastle", + "org.bouncycastle.asn1", + "org.bouncycastle.asn1.anssi", + "org.bouncycastle.asn1.bc", + "org.bouncycastle.asn1.cryptlib", + "org.bouncycastle.asn1.cryptopro", + "org.bouncycastle.asn1.edec", + "org.bouncycastle.asn1.gm", + "org.bouncycastle.asn1.gnu", + "org.bouncycastle.asn1.iana", + "org.bouncycastle.asn1.isara", + "org.bouncycastle.asn1.iso", + "org.bouncycastle.asn1.kisa", + "org.bouncycastle.asn1.microsoft", + "org.bouncycastle.asn1.misc", + "org.bouncycastle.asn1.mozilla", + "org.bouncycastle.asn1.nist", + "org.bouncycastle.asn1.nsri", + "org.bouncycastle.asn1.ntt", + "org.bouncycastle.asn1.ocsp", + "org.bouncycastle.asn1.oiw", + "org.bouncycastle.asn1.pkcs", + "org.bouncycastle.asn1.rosstandart", + "org.bouncycastle.asn1.sec", + "org.bouncycastle.asn1.teletrust", + "org.bouncycastle.asn1.ua", + "org.bouncycastle.asn1.util", + "org.bouncycastle.asn1.x500", + "org.bouncycastle.asn1.x500.style", + "org.bouncycastle.asn1.x509", + "org.bouncycastle.asn1.x509.qualified", + "org.bouncycastle.asn1.x509.sigi", + "org.bouncycastle.asn1.x9", + "org.bouncycastle.crypto", + "org.bouncycastle.crypto.agreement", + "org.bouncycastle.crypto.agreement.jpake", + "org.bouncycastle.crypto.agreement.kdf", + "org.bouncycastle.crypto.agreement.srp", + "org.bouncycastle.crypto.commitments", + "org.bouncycastle.crypto.constraints", + "org.bouncycastle.crypto.digests", + "org.bouncycastle.crypto.ec", + "org.bouncycastle.crypto.encodings", + "org.bouncycastle.crypto.engines", + "org.bouncycastle.crypto.examples", + "org.bouncycastle.crypto.fpe", + "org.bouncycastle.crypto.generators", + "org.bouncycastle.crypto.io", + "org.bouncycastle.crypto.kems", + "org.bouncycastle.crypto.macs", + "org.bouncycastle.crypto.modes", + "org.bouncycastle.crypto.modes.gcm", + "org.bouncycastle.crypto.modes.kgcm", + "org.bouncycastle.crypto.paddings", + "org.bouncycastle.crypto.params", + "org.bouncycastle.crypto.parsers", + "org.bouncycastle.crypto.prng", + "org.bouncycastle.crypto.prng.drbg", + "org.bouncycastle.crypto.signers", + "org.bouncycastle.crypto.util", + "org.bouncycastle.i18n", + "org.bouncycastle.i18n.filter", + "org.bouncycastle.iana", + "org.bouncycastle.internal.asn1.bsi", + "org.bouncycastle.internal.asn1.cms", + "org.bouncycastle.internal.asn1.eac", + "org.bouncycastle.internal.asn1.isismtt", + "org.bouncycastle.jcajce", + "org.bouncycastle.jcajce.interfaces", + "org.bouncycastle.jcajce.io", + "org.bouncycastle.jcajce.provider.asymmetric", + "org.bouncycastle.jcajce.provider.asymmetric.dh", + "org.bouncycastle.jcajce.provider.asymmetric.dsa", + "org.bouncycastle.jcajce.provider.asymmetric.dstu", + "org.bouncycastle.jcajce.provider.asymmetric.ec", + "org.bouncycastle.jcajce.provider.asymmetric.ecgost", + "org.bouncycastle.jcajce.provider.asymmetric.ecgost12", + "org.bouncycastle.jcajce.provider.asymmetric.edec", + "org.bouncycastle.jcajce.provider.asymmetric.elgamal", + "org.bouncycastle.jcajce.provider.asymmetric.gost", + "org.bouncycastle.jcajce.provider.asymmetric.ies", + "org.bouncycastle.jcajce.provider.asymmetric.rsa", + "org.bouncycastle.jcajce.provider.asymmetric.util", + "org.bouncycastle.jcajce.provider.asymmetric.x509", + "org.bouncycastle.jcajce.provider.config", + "org.bouncycastle.jcajce.provider.digest", + "org.bouncycastle.jcajce.provider.drbg", + "org.bouncycastle.jcajce.provider.keystore", + "org.bouncycastle.jcajce.provider.keystore.bc", + "org.bouncycastle.jcajce.provider.keystore.bcfks", + "org.bouncycastle.jcajce.provider.keystore.pkcs12", + "org.bouncycastle.jcajce.provider.keystore.util", + "org.bouncycastle.jcajce.provider.symmetric", + "org.bouncycastle.jcajce.provider.symmetric.util", + "org.bouncycastle.jcajce.provider.util", + "org.bouncycastle.jcajce.spec", + "org.bouncycastle.jcajce.util", + "org.bouncycastle.jce", + "org.bouncycastle.jce.exception", + "org.bouncycastle.jce.interfaces", + "org.bouncycastle.jce.netscape", + "org.bouncycastle.jce.provider", + "org.bouncycastle.jce.spec", + "org.bouncycastle.math", + "org.bouncycastle.math.ec", + "org.bouncycastle.math.ec.custom.djb", + "org.bouncycastle.math.ec.custom.gm", + "org.bouncycastle.math.ec.custom.sec", + "org.bouncycastle.math.ec.endo", + "org.bouncycastle.math.ec.rfc7748", + "org.bouncycastle.math.ec.rfc8032", + "org.bouncycastle.math.ec.tools", + "org.bouncycastle.math.field", + "org.bouncycastle.math.raw", + "org.bouncycastle.pqc.asn1", + "org.bouncycastle.pqc.crypto", + "org.bouncycastle.pqc.crypto.bike", + "org.bouncycastle.pqc.crypto.cmce", + "org.bouncycastle.pqc.crypto.crystals.dilithium", + "org.bouncycastle.pqc.crypto.crystals.kyber", + "org.bouncycastle.pqc.crypto.falcon", + "org.bouncycastle.pqc.crypto.frodo", + "org.bouncycastle.pqc.crypto.hqc", + "org.bouncycastle.pqc.crypto.lms", + "org.bouncycastle.pqc.crypto.newhope", + "org.bouncycastle.pqc.crypto.ntru", + "org.bouncycastle.pqc.crypto.ntruprime", + "org.bouncycastle.pqc.crypto.picnic", + "org.bouncycastle.pqc.crypto.saber", + "org.bouncycastle.pqc.crypto.sike", + "org.bouncycastle.pqc.crypto.sphincs", + "org.bouncycastle.pqc.crypto.sphincsplus", + "org.bouncycastle.pqc.crypto.util", + "org.bouncycastle.pqc.crypto.xmss", + "org.bouncycastle.pqc.jcajce.interfaces", + "org.bouncycastle.pqc.jcajce.provider", + "org.bouncycastle.pqc.jcajce.provider.bike", + "org.bouncycastle.pqc.jcajce.provider.cmce", + "org.bouncycastle.pqc.jcajce.provider.dilithium", + "org.bouncycastle.pqc.jcajce.provider.falcon", + "org.bouncycastle.pqc.jcajce.provider.frodo", + "org.bouncycastle.pqc.jcajce.provider.gmss", + "org.bouncycastle.pqc.jcajce.provider.hqc", + "org.bouncycastle.pqc.jcajce.provider.kyber", + "org.bouncycastle.pqc.jcajce.provider.lms", + "org.bouncycastle.pqc.jcajce.provider.mceliece", + "org.bouncycastle.pqc.jcajce.provider.newhope", + "org.bouncycastle.pqc.jcajce.provider.ntru", + "org.bouncycastle.pqc.jcajce.provider.ntruprime", + "org.bouncycastle.pqc.jcajce.provider.picnic", + "org.bouncycastle.pqc.jcajce.provider.qtesla", + "org.bouncycastle.pqc.jcajce.provider.rainbow", + "org.bouncycastle.pqc.jcajce.provider.saber", + "org.bouncycastle.pqc.jcajce.provider.sike", + "org.bouncycastle.pqc.jcajce.provider.sphincs", + "org.bouncycastle.pqc.jcajce.provider.sphincsplus", + "org.bouncycastle.pqc.jcajce.provider.util", + "org.bouncycastle.pqc.jcajce.provider.xmss", + "org.bouncycastle.pqc.jcajce.spec", + "org.bouncycastle.pqc.legacy.crypto.gmss", + "org.bouncycastle.pqc.legacy.crypto.gmss.util", + "org.bouncycastle.pqc.legacy.crypto.mceliece", + "org.bouncycastle.pqc.legacy.crypto.qtesla", + "org.bouncycastle.pqc.legacy.crypto.rainbow", + "org.bouncycastle.pqc.legacy.crypto.rainbow.util", + "org.bouncycastle.pqc.legacy.math.linearalgebra", + "org.bouncycastle.pqc.math.linearalgebra", + "org.bouncycastle.pqc.math.ntru", + "org.bouncycastle.pqc.math.ntru.parameters", + "org.bouncycastle.util", + "org.bouncycastle.util.encoders", + "org.bouncycastle.util.io", + "org.bouncycastle.util.io.pem", + "org.bouncycastle.util.test", + "org.bouncycastle.x509", + "org.bouncycastle.x509.extension", + "org.bouncycastle.x509.util" + ], + "org.checkerframework:checker-compat-qual": [ + "org.checkerframework.checker.nullness.compatqual" + ], + "org.checkerframework:checker-qual": [ + "org.checkerframework.checker.builder.qual", + "org.checkerframework.checker.calledmethods.qual", + "org.checkerframework.checker.compilermsgs.qual", + "org.checkerframework.checker.fenum.qual", + "org.checkerframework.checker.formatter.qual", + "org.checkerframework.checker.guieffect.qual", + "org.checkerframework.checker.i18n.qual", + "org.checkerframework.checker.i18nformatter.qual", + "org.checkerframework.checker.index.qual", + "org.checkerframework.checker.initialization.qual", + "org.checkerframework.checker.interning.qual", + "org.checkerframework.checker.lock.qual", + "org.checkerframework.checker.nullness.qual", + "org.checkerframework.checker.optional.qual", + "org.checkerframework.checker.propkey.qual", + "org.checkerframework.checker.regex.qual", + "org.checkerframework.checker.signature.qual", + "org.checkerframework.checker.signedness.qual", + "org.checkerframework.checker.tainting.qual", + "org.checkerframework.checker.units.qual", + "org.checkerframework.common.aliasing.qual", + "org.checkerframework.common.initializedfields.qual", + "org.checkerframework.common.reflection.qual", + "org.checkerframework.common.returnsreceiver.qual", + "org.checkerframework.common.subtyping.qual", + "org.checkerframework.common.util.report.qual", + "org.checkerframework.common.value.qual", + "org.checkerframework.dataflow.qual", + "org.checkerframework.framework.qual" + ], + "org.conscrypt:conscrypt-openjdk-uber": [ + "org.conscrypt", + "org.conscrypt.ct", + "org.conscrypt.io" + ], + "org.hamcrest:hamcrest-core": [ + "org.hamcrest", + "org.hamcrest.core", + "org.hamcrest.internal" + ], + "org.hamcrest:hamcrest-integration": [ + "org.hamcrest", + "org.hamcrest.integration" + ], + "org.hamcrest:hamcrest-library": [ + "org.hamcrest", + "org.hamcrest.beans", + "org.hamcrest.collection", + "org.hamcrest.number", + "org.hamcrest.object", + "org.hamcrest.text", + "org.hamcrest.xml" + ], + "org.jetbrains.kotlin:kotlin-reflect": [ + "kotlin.reflect.full", + "kotlin.reflect.jvm", + "kotlin.reflect.jvm.internal", + "kotlin.reflect.jvm.internal.calls", + "kotlin.reflect.jvm.internal.impl", + "kotlin.reflect.jvm.internal.impl.builtins", + "kotlin.reflect.jvm.internal.impl.builtins.functions", + "kotlin.reflect.jvm.internal.impl.builtins.jvm", + "kotlin.reflect.jvm.internal.impl.descriptors", + "kotlin.reflect.jvm.internal.impl.descriptors.annotations", + "kotlin.reflect.jvm.internal.impl.descriptors.deserialization", + "kotlin.reflect.jvm.internal.impl.descriptors.impl", + "kotlin.reflect.jvm.internal.impl.descriptors.java", + "kotlin.reflect.jvm.internal.impl.descriptors.runtime.components", + "kotlin.reflect.jvm.internal.impl.descriptors.runtime.structure", + "kotlin.reflect.jvm.internal.impl.incremental", + "kotlin.reflect.jvm.internal.impl.incremental.components", + "kotlin.reflect.jvm.internal.impl.load.java", + "kotlin.reflect.jvm.internal.impl.load.java.components", + "kotlin.reflect.jvm.internal.impl.load.java.descriptors", + "kotlin.reflect.jvm.internal.impl.load.java.lazy", + "kotlin.reflect.jvm.internal.impl.load.java.lazy.descriptors", + "kotlin.reflect.jvm.internal.impl.load.java.lazy.types", + "kotlin.reflect.jvm.internal.impl.load.java.sources", + "kotlin.reflect.jvm.internal.impl.load.java.structure", + "kotlin.reflect.jvm.internal.impl.load.java.typeEnhancement", + "kotlin.reflect.jvm.internal.impl.load.kotlin", + "kotlin.reflect.jvm.internal.impl.load.kotlin.header", + "kotlin.reflect.jvm.internal.impl.metadata", + "kotlin.reflect.jvm.internal.impl.metadata.builtins", + "kotlin.reflect.jvm.internal.impl.metadata.deserialization", + "kotlin.reflect.jvm.internal.impl.metadata.jvm", + "kotlin.reflect.jvm.internal.impl.metadata.jvm.deserialization", + "kotlin.reflect.jvm.internal.impl.name", + "kotlin.reflect.jvm.internal.impl.platform", + "kotlin.reflect.jvm.internal.impl.protobuf", + "kotlin.reflect.jvm.internal.impl.renderer", + "kotlin.reflect.jvm.internal.impl.resolve", + "kotlin.reflect.jvm.internal.impl.resolve.calls.inference", + "kotlin.reflect.jvm.internal.impl.resolve.constants", + "kotlin.reflect.jvm.internal.impl.resolve.deprecation", + "kotlin.reflect.jvm.internal.impl.resolve.descriptorUtil", + "kotlin.reflect.jvm.internal.impl.resolve.jvm", + "kotlin.reflect.jvm.internal.impl.resolve.sam", + "kotlin.reflect.jvm.internal.impl.resolve.scopes", + "kotlin.reflect.jvm.internal.impl.resolve.scopes.receivers", + "kotlin.reflect.jvm.internal.impl.serialization", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.builtins", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors", + "kotlin.reflect.jvm.internal.impl.storage", + "kotlin.reflect.jvm.internal.impl.types", + "kotlin.reflect.jvm.internal.impl.types.checker", + "kotlin.reflect.jvm.internal.impl.types.error", + "kotlin.reflect.jvm.internal.impl.types.extensions", + "kotlin.reflect.jvm.internal.impl.types.model", + "kotlin.reflect.jvm.internal.impl.types.typeUtil", + "kotlin.reflect.jvm.internal.impl.types.typesApproximation", + "kotlin.reflect.jvm.internal.impl.util", + "kotlin.reflect.jvm.internal.impl.util.capitalizeDecapitalize", + "kotlin.reflect.jvm.internal.impl.util.collectionUtils", + "kotlin.reflect.jvm.internal.impl.utils", + "kotlin.reflect.jvm.internal.pcollections" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "kotlin", + "kotlin.annotation", + "kotlin.collections", + "kotlin.collections.builders", + "kotlin.collections.jdk8", + "kotlin.collections.unsigned", + "kotlin.comparisons", + "kotlin.concurrent", + "kotlin.contracts", + "kotlin.coroutines", + "kotlin.coroutines.cancellation", + "kotlin.coroutines.intrinsics", + "kotlin.coroutines.jvm.internal", + "kotlin.enums", + "kotlin.experimental", + "kotlin.internal", + "kotlin.internal.jdk7", + "kotlin.internal.jdk8", + "kotlin.io", + "kotlin.io.encoding", + "kotlin.io.path", + "kotlin.jdk7", + "kotlin.js", + "kotlin.jvm", + "kotlin.jvm.functions", + "kotlin.jvm.internal", + "kotlin.jvm.internal.markers", + "kotlin.jvm.internal.unsafe", + "kotlin.jvm.jdk8", + "kotlin.jvm.optionals", + "kotlin.math", + "kotlin.properties", + "kotlin.random", + "kotlin.random.jdk8", + "kotlin.ranges", + "kotlin.reflect", + "kotlin.sequences", + "kotlin.streams.jdk8", + "kotlin.system", + "kotlin.text", + "kotlin.text.jdk8", + "kotlin.time", + "kotlin.time.jdk8", + "kotlin.uuid" + ], + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": [ + "kotlin.internal.jdk7", + "kotlin.io.path", + "kotlin.jdk7" + ], + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": [ + "kotlin.collections.jdk8", + "kotlin.internal.jdk8", + "kotlin.jvm.jdk8", + "kotlin.jvm.optionals", + "kotlin.random.jdk8", + "kotlin.streams.jdk8", + "kotlin.text.jdk8", + "kotlin.time.jdk8" + ], + "org.jetbrains.kotlinx:kotlinx-metadata-jvm": [ + "kotlinx.metadata", + "kotlinx.metadata.impl", + "kotlinx.metadata.impl.extensions", + "kotlinx.metadata.internal.common", + "kotlinx.metadata.internal.metadata", + "kotlinx.metadata.internal.metadata.builtins", + "kotlinx.metadata.internal.metadata.deserialization", + "kotlinx.metadata.internal.metadata.jvm", + "kotlinx.metadata.internal.metadata.jvm.deserialization", + "kotlinx.metadata.internal.metadata.jvm.serialization", + "kotlinx.metadata.internal.metadata.serialization", + "kotlinx.metadata.internal.protobuf", + "kotlinx.metadata.jvm", + "kotlinx.metadata.jvm.impl" + ], + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm": [ + "kotlinx.serialization", + "kotlinx.serialization.builtins", + "kotlinx.serialization.descriptors", + "kotlinx.serialization.encoding", + "kotlinx.serialization.internal", + "kotlinx.serialization.modules" + ], + "org.jetbrains:annotations": [ + "org.intellij.lang.annotations", + "org.jetbrains.annotations" + ], + "org.ow2.asm:asm": [ + "org.objectweb.asm", + "org.objectweb.asm.signature" + ], + "org.ow2.asm:asm-analysis": [ + "org.objectweb.asm.tree.analysis" + ], + "org.ow2.asm:asm-commons": [ + "org.objectweb.asm.commons" + ], + "org.ow2.asm:asm-tree": [ + "org.objectweb.asm.tree" + ], + "org.ow2.asm:asm-util": [ + "org.objectweb.asm.util" + ], + "org.robolectric:annotations": [ + "org.robolectric.annotation", + "org.robolectric.annotation.experimental", + "org.robolectric.annotation.internal", + "org.robolectric.shadow.api" + ], + "org.robolectric:junit": [ + "org.robolectric.internal" + ], + "org.robolectric:nativeruntime": [ + "org.robolectric.nativeruntime" + ], + "org.robolectric:pluginapi": [ + "org.robolectric.internal.dependency", + "org.robolectric.pluginapi", + "org.robolectric.pluginapi.config", + "org.robolectric.pluginapi.perf" + ], + "org.robolectric:plugins-maven-dependency-resolver": [ + "org.robolectric", + "org.robolectric.internal.dependency" + ], + "org.robolectric:resources": [ + "org.robolectric", + "org.robolectric.manifest", + "org.robolectric.res", + "org.robolectric.res.android", + "org.robolectric.res.builder" + ], + "org.robolectric:robolectric": [ + "org.robolectric", + "org.robolectric.android", + "org.robolectric.android.internal", + "org.robolectric.internal", + "org.robolectric.internal.dependency", + "org.robolectric.junit.rules", + "org.robolectric.plugins", + "org.robolectric.util" + ], + "org.robolectric:sandbox": [ + "org.robolectric.config", + "org.robolectric.fakes", + "org.robolectric.interceptors", + "org.robolectric.internal.bytecode", + "org.robolectric.sandbox", + "org.robolectric.util" + ], + "org.robolectric:shadowapi": [ + "org.robolectric.annotation.internal", + "org.robolectric.config", + "org.robolectric.internal", + "org.robolectric.shadow.api", + "org.robolectric.util" + ], + "org.robolectric:shadows-framework": [ + "android.webkit", + "org.robolectric", + "org.robolectric.android", + "org.robolectric.android.controller", + "org.robolectric.android.internal", + "org.robolectric.android.util.concurrent", + "org.robolectric.fakes", + "org.robolectric.shadows", + "org.robolectric.shadows.util" + ], + "org.robolectric:utils": [ + "org.robolectric", + "org.robolectric.util", + "org.robolectric.util.inject" + ], + "org.robolectric:utils-reflector": [ + "org.robolectric.util.reflector" + ] + }, + "repositories": { + "https://maven.google.com/": [ + "androidx.annotation:annotation", + "androidx.annotation:annotation-experimental:aar", + "androidx.appcompat:appcompat:aar", + "androidx.arch.core:core-common", + "androidx.arch.core:core-runtime:aar", + "androidx.asynclayoutinflater:asynclayoutinflater:aar", + "androidx.collection:collection", + "androidx.coordinatorlayout:coordinatorlayout:aar", + "androidx.core:core:aar", + "androidx.cursoradapter:cursoradapter:aar", + "androidx.customview:customview:aar", + "androidx.documentfile:documentfile:aar", + "androidx.drawerlayout:drawerlayout:aar", + "androidx.fragment:fragment:aar", + "androidx.interpolator:interpolator:aar", + "androidx.legacy:legacy-support-core-ui:aar", + "androidx.legacy:legacy-support-core-utils:aar", + "androidx.lifecycle:lifecycle-common", + "androidx.lifecycle:lifecycle-livedata-core:aar", + "androidx.lifecycle:lifecycle-livedata:aar", + "androidx.lifecycle:lifecycle-runtime:aar", + "androidx.lifecycle:lifecycle-viewmodel:aar", + "androidx.loader:loader:aar", + "androidx.localbroadcastmanager:localbroadcastmanager:aar", + "androidx.print:print:aar", + "androidx.slidingpanelayout:slidingpanelayout:aar", + "androidx.swiperefreshlayout:swiperefreshlayout:aar", + "androidx.test.espresso:espresso-core:aar", + "androidx.test.espresso:espresso-idling-resource:aar", + "androidx.test:annotation:aar", + "androidx.test:monitor:aar", + "androidx.test:runner:aar", + "androidx.tracing:tracing:aar", + "androidx.vectordrawable:vectordrawable-animated:aar", + "androidx.vectordrawable:vectordrawable:aar", + "androidx.versionedparcelable:versionedparcelable:aar", + "androidx.viewpager:viewpager:aar", + "com.almworks.sqlite4java:sqlite4java", + "com.google.auto.service:auto-service-annotations", + "com.google.auto.value:auto-value", + "com.google.auto.value:auto-value-annotations", + "com.google.code.findbugs:jsr305", + "com.google.dagger:dagger", + "com.google.dagger:dagger-compiler", + "com.google.dagger:dagger-producers", + "com.google.dagger:dagger-spi", + "com.google.devtools.ksp:symbol-processing-api", + "com.google.errorprone:error_prone_annotations", + "com.google.errorprone:javac-shaded", + "com.google.googlejavaformat:google-java-format", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "com.ibm.icu:icu4j", + "com.squareup.moshi:moshi", + "com.squareup.moshi:moshi-kotlin", + "com.squareup.moshi:moshi-kotlin-codegen", + "com.squareup.okio:okio", + "com.squareup:javapoet", + "com.squareup:javawriter", + "com.squareup:kotlinpoet", + "com.squareup:kotlinpoet-ksp", + "javax.annotation:javax.annotation-api", + "javax.inject:javax.inject", + "junit:junit", + "net.ltgt.gradle.incap:incap", + "net.sf.kxml:kxml2", + "org.bouncycastle:bcprov-jdk18on", + "org.checkerframework:checker-compat-qual", + "org.checkerframework:checker-qual", + "org.conscrypt:conscrypt-openjdk-uber", + "org.hamcrest:hamcrest-core", + "org.hamcrest:hamcrest-integration", + "org.hamcrest:hamcrest-library", + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-common", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8", + "org.jetbrains.kotlinx:kotlinx-metadata-jvm", + "org.jetbrains.kotlinx:kotlinx-serialization-core", + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm", + "org.jetbrains:annotations", + "org.ow2.asm:asm", + "org.ow2.asm:asm-analysis", + "org.ow2.asm:asm-commons", + "org.ow2.asm:asm-tree", + "org.ow2.asm:asm-util", + "org.robolectric:annotations", + "org.robolectric:junit", + "org.robolectric:nativeruntime", + "org.robolectric:nativeruntime-dist-compat", + "org.robolectric:pluginapi", + "org.robolectric:plugins-maven-dependency-resolver", + "org.robolectric:resources", + "org.robolectric:robolectric", + "org.robolectric:sandbox", + "org.robolectric:shadowapi", + "org.robolectric:shadows-framework", + "org.robolectric:utils", + "org.robolectric:utils-reflector" + ], + "https://repo1.maven.org/maven2/": [ + "androidx.annotation:annotation", + "androidx.annotation:annotation-experimental:aar", + "androidx.appcompat:appcompat:aar", + "androidx.arch.core:core-common", + "androidx.arch.core:core-runtime:aar", + "androidx.asynclayoutinflater:asynclayoutinflater:aar", + "androidx.collection:collection", + "androidx.coordinatorlayout:coordinatorlayout:aar", + "androidx.core:core:aar", + "androidx.cursoradapter:cursoradapter:aar", + "androidx.customview:customview:aar", + "androidx.documentfile:documentfile:aar", + "androidx.drawerlayout:drawerlayout:aar", + "androidx.fragment:fragment:aar", + "androidx.interpolator:interpolator:aar", + "androidx.legacy:legacy-support-core-ui:aar", + "androidx.legacy:legacy-support-core-utils:aar", + "androidx.lifecycle:lifecycle-common", + "androidx.lifecycle:lifecycle-livedata-core:aar", + "androidx.lifecycle:lifecycle-livedata:aar", + "androidx.lifecycle:lifecycle-runtime:aar", + "androidx.lifecycle:lifecycle-viewmodel:aar", + "androidx.loader:loader:aar", + "androidx.localbroadcastmanager:localbroadcastmanager:aar", + "androidx.print:print:aar", + "androidx.slidingpanelayout:slidingpanelayout:aar", + "androidx.swiperefreshlayout:swiperefreshlayout:aar", + "androidx.test.espresso:espresso-core:aar", + "androidx.test.espresso:espresso-idling-resource:aar", + "androidx.test:annotation:aar", + "androidx.test:monitor:aar", + "androidx.test:runner:aar", + "androidx.tracing:tracing:aar", + "androidx.vectordrawable:vectordrawable-animated:aar", + "androidx.vectordrawable:vectordrawable:aar", + "androidx.versionedparcelable:versionedparcelable:aar", + "androidx.viewpager:viewpager:aar", + "com.almworks.sqlite4java:sqlite4java", + "com.google.auto.service:auto-service-annotations", + "com.google.auto.value:auto-value", + "com.google.auto.value:auto-value-annotations", + "com.google.code.findbugs:jsr305", + "com.google.dagger:dagger", + "com.google.dagger:dagger-compiler", + "com.google.dagger:dagger-producers", + "com.google.dagger:dagger-spi", + "com.google.devtools.ksp:symbol-processing-api", + "com.google.errorprone:error_prone_annotations", + "com.google.errorprone:javac-shaded", + "com.google.googlejavaformat:google-java-format", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "com.ibm.icu:icu4j", + "com.squareup.moshi:moshi", + "com.squareup.moshi:moshi-kotlin", + "com.squareup.moshi:moshi-kotlin-codegen", + "com.squareup.okio:okio", + "com.squareup:javapoet", + "com.squareup:javawriter", + "com.squareup:kotlinpoet", + "com.squareup:kotlinpoet-ksp", + "javax.annotation:javax.annotation-api", + "javax.inject:javax.inject", + "junit:junit", + "net.ltgt.gradle.incap:incap", + "net.sf.kxml:kxml2", + "org.bouncycastle:bcprov-jdk18on", + "org.checkerframework:checker-compat-qual", + "org.checkerframework:checker-qual", + "org.conscrypt:conscrypt-openjdk-uber", + "org.hamcrest:hamcrest-core", + "org.hamcrest:hamcrest-integration", + "org.hamcrest:hamcrest-library", + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-common", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8", + "org.jetbrains.kotlinx:kotlinx-metadata-jvm", + "org.jetbrains.kotlinx:kotlinx-serialization-core", + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm", + "org.jetbrains:annotations", + "org.ow2.asm:asm", + "org.ow2.asm:asm-analysis", + "org.ow2.asm:asm-commons", + "org.ow2.asm:asm-tree", + "org.ow2.asm:asm-util", + "org.robolectric:annotations", + "org.robolectric:junit", + "org.robolectric:nativeruntime", + "org.robolectric:nativeruntime-dist-compat", + "org.robolectric:pluginapi", + "org.robolectric:plugins-maven-dependency-resolver", + "org.robolectric:resources", + "org.robolectric:robolectric", + "org.robolectric:sandbox", + "org.robolectric:shadowapi", + "org.robolectric:shadows-framework", + "org.robolectric:utils", + "org.robolectric:utils-reflector" + ] + }, + "services": { + "com.google.auto.value:auto-value": { + "com.google.auto.value.extension.AutoValueExtension": [ + "com.google.auto.value.extension.memoized.processor.MemoizeExtension" + ], + "javax.annotation.processing.Processor": [ + "com.google.auto.value.extension.memoized.processor.MemoizedValidator", + "com.google.auto.value.processor.AutoAnnotationProcessor", + "com.google.auto.value.processor.AutoOneOfProcessor", + "com.google.auto.value.processor.AutoValueBuilderProcessor", + "com.google.auto.value.processor.AutoValueProcessor" + ] + }, + "com.google.dagger:dagger-compiler": { + "javax.annotation.processing.Processor": [ + "dagger.internal.codegen.ComponentProcessor" + ] + }, + "com.squareup.moshi:moshi-kotlin-codegen": { + "com.google.devtools.ksp.processing.SymbolProcessorProvider": [ + "com.squareup.moshi.kotlin.codegen.ksp.JsonClassSymbolProcessorProvider" + ], + "com.squareup.moshi.kotlinx.metadata.impl.extensions.MetadataExtensions": [ + "com.squareup.moshi.kotlinx.metadata.jvm.impl.JvmMetadataExtensions" + ], + "javax.annotation.processing.Processor": [ + "com.squareup.moshi.kotlin.codegen.apt.JsonClassCodegenProcessor" + ] + }, + "net.sf.kxml:kxml2": { + "org.xmlpull.v1.XmlPullParserFactory": [ + "org.kxml2.io.KXmlParser,org.kxml2.io.KXmlSerializer" + ] + }, + "org.jetbrains.kotlin:kotlin-reflect": { + "kotlin.reflect.jvm.internal.impl.builtins.BuiltInsLoader": [ + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.builtins.BuiltInsLoaderImpl" + ], + "kotlin.reflect.jvm.internal.impl.resolve.ExternalOverridabilityCondition": [ + "kotlin.reflect.jvm.internal.impl.load.java.ErasedOverridabilityCondition", + "kotlin.reflect.jvm.internal.impl.load.java.FieldOverridabilityCondition", + "kotlin.reflect.jvm.internal.impl.load.java.JavaIncompatibilityRulesOverridabilityCondition" + ] + }, + "org.jetbrains.kotlinx:kotlinx-metadata-jvm": { + "kotlinx.metadata.impl.extensions.MetadataExtensions": [ + "kotlinx.metadata.jvm.impl.JvmMetadataExtensions" + ] + }, + "org.robolectric:nativeruntime": { + "org.robolectric.pluginapi.NativeRuntimeLoader": [ + "org.robolectric.nativeruntime.DefaultNativeRuntimeLoader" + ] + }, + "org.robolectric:robolectric": { + "androidx.test.internal.platform.ThreadChecker": [ + "org.robolectric.android.internal.NoOpThreadChecker" + ], + "androidx.test.internal.platform.app.ActivityInvoker": [ + "org.robolectric.android.internal.LocalActivityInvoker" + ], + "androidx.test.internal.platform.content.PermissionGranter": [ + "org.robolectric.android.internal.LocalPermissionGranter" + ], + "androidx.test.internal.platform.os.ControlledLooper": [ + "org.robolectric.android.internal.LocalControlledLooper" + ], + "androidx.test.platform.ui.UiController": [ + "org.robolectric.android.internal.LocalUiController" + ], + "org.robolectric.internal.dependency.DependencyResolver": [ + "org.robolectric.plugins.LegacyDependencyResolver" + ], + "org.robolectric.pluginapi.SdkPicker": [ + "org.robolectric.plugins.DefaultSdkPicker" + ], + "org.robolectric.pluginapi.SdkProvider": [ + "org.robolectric.plugins.DefaultSdkProvider" + ], + "org.robolectric.pluginapi.config.ConfigurationStrategy": [ + "org.robolectric.plugins.HierarchicalConfigurationStrategy" + ], + "org.robolectric.pluginapi.config.Configurer": [ + "org.robolectric.plugins.ConfigConfigurer", + "org.robolectric.plugins.ConscryptModeConfigurer", + "org.robolectric.plugins.GetInstallerPackageNameModeConfigurer", + "org.robolectric.plugins.GraphicsModeConfigurer", + "org.robolectric.plugins.LazyApplicationConfigurer", + "org.robolectric.plugins.LooperModeConfigurer", + "org.robolectric.plugins.SQLiteModeConfigurer", + "org.robolectric.plugins.TextLayoutModeConfigurer" + ], + "org.robolectric.pluginapi.config.GlobalConfigProvider": [ + "org.robolectric.RobolectricTestRunner$DeprecatedTestRunnerDefaultConfigProvider" + ] + }, + "org.robolectric:sandbox": { + "org.robolectric.internal.bytecode.ClassHandler": [ + "org.robolectric.internal.bytecode.ShadowWrangler" + ], + "org.robolectric.internal.bytecode.ClassInstrumentor$Decorator": [ + "org.robolectric.internal.bytecode.ShadowDecorator" + ] + }, + "org.robolectric:shadows-framework": { + "org.robolectric.internal.ShadowProvider": [ + "org.robolectric.Shadows" + ] + } + }, + "version": "3" +} diff --git a/examples/anvil/MODULE.bazel b/examples/anvil/MODULE.bazel new file mode 100644 index 000000000..971ea0a78 --- /dev/null +++ b/examples/anvil/MODULE.bazel @@ -0,0 +1,76 @@ +module(name = "anvil-example") + +bazel_dep(name = "rules_android", version = "0.7.0") +bazel_dep(name = "bazel_skylib", version = "1.7.1") +bazel_dep(name = "rules_java", version = "8.9.0") +bazel_dep(name = "rules_kotlin", version = "2.2.0") +bazel_dep(name = "rules_jvm_external", version = "6.10") + +android_sdk_repository_extension = use_extension("@rules_android//rules/android_sdk_repository:rule.bzl", "android_sdk_repository_extension") +use_repo(android_sdk_repository_extension, "androidsdk") + +register_toolchains("@androidsdk//:sdk-toolchain", "@androidsdk//:all") + +maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") +maven.install( + name = "maven_rules_kotlin_example", + aar_import_bzl_label = "@rules_android//rules:rules.bzl", + artifacts = [ + "com.google.dagger:dagger:2.50", + "com.google.dagger:dagger-compiler:2.50", + "com.google.dagger:dagger-producers:2.50", + "com.squareup.anvil:compiler:2.4.9", + "com.squareup.anvil:annotations:2.4.9", + "androidx.activity:activity:1.0.0", + "androidx.annotation:annotation:1.1.0", + "androidx.appcompat:appcompat-resources:1.1.0", + "androidx.appcompat:appcompat:1.1.0", + "androidx.arch.core:core-common:2.1.0", + "androidx.arch.core:core-runtime:2.0.0", + "androidx.cardview:cardview:1.0.0", + "androidx.collection:collection:1.1.0", + "androidx.coordinatorlayout:coordinatorlayout:1.1.0", + "androidx.core:core-ktx:1.3.0", + "androidx.core:core:1.3.0", + "androidx.cursoradapter:cursoradapter:1.0.0", + "androidx.customview:customview:1.0.0", + "androidx.drawerlayout:drawerlayout:1.0.0", + "androidx.fragment:fragment:1.1.0", + "androidx.interpolator:interpolator:1.0.0", + "androidx.lifecycle:lifecycle-common:2.1.0", + "androidx.lifecycle:lifecycle-livedata-core:2.0.0", + "androidx.lifecycle:lifecycle-livedata:2.0.0", + "androidx.lifecycle:lifecycle-runtime:2.1.0", + "androidx.lifecycle:lifecycle-viewmodel:2.1.0", + "androidx.loader:loader:1.0.0", + "androidx.recyclerview:recyclerview:1.1.0", + "androidx.savedstate:savedstate:1.0.0", + "androidx.transition:transition:1.2.0", + "androidx.vectordrawable:vectordrawable-animated:1.1.0", + "androidx.vectordrawable:vectordrawable:1.1.0", + "androidx.versionedparcelable:versionedparcelable:1.1.0", + "androidx.viewpager2:viewpager2:1.0.0", + "androidx.viewpager:viewpager:1.0.0", + "com.google.android.material:material:1.1.0", + "javax.inject:javax.inject:1", + "junit:junit:4.13", + "org.jetbrains.kotlin:kotlin-test:1.5.10", + "com.google.truth:truth:1.0.1", + "org.jetbrains:annotations:13.0", + ], + excluded_artifacts = [ + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7", + "org.jetbrains.kotlin:kotlin-compiler-embeddable", + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-script-runtime", + ], + lock_file = "//:maven_install.json", + repositories = [ + "https://maven.google.com", + "https://repo1.maven.org/maven2", + ], + use_starlark_android_rules = True, +) +use_repo(maven, "maven_rules_kotlin_example") diff --git a/examples/anvil/maven_install.json b/examples/anvil/maven_install.json new file mode 100644 index 000000000..2ef271295 --- /dev/null +++ b/examples/anvil/maven_install.json @@ -0,0 +1,1242 @@ +{ + "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", + "__INPUT_ARTIFACTS_HASH": { + "androidx.activity:activity": -2077856866, + "androidx.annotation:annotation": 207696415, + "androidx.appcompat:appcompat": -1160655513, + "androidx.appcompat:appcompat-resources": -1948981297, + "androidx.arch.core:core-common": 2009621958, + "androidx.arch.core:core-runtime": -2124433762, + "androidx.cardview:cardview": -122483222, + "androidx.collection:collection": 1587655101, + "androidx.coordinatorlayout:coordinatorlayout": 1199565383, + "androidx.core:core": -962558463, + "androidx.core:core-ktx": 27732835, + "androidx.cursoradapter:cursoradapter": -991572122, + "androidx.customview:customview": -1476652308, + "androidx.drawerlayout:drawerlayout": -1166260426, + "androidx.fragment:fragment": 1897733217, + "androidx.interpolator:interpolator": 546936334, + "androidx.lifecycle:lifecycle-common": -1858358962, + "androidx.lifecycle:lifecycle-livedata": 316559874, + "androidx.lifecycle:lifecycle-livedata-core": -1388980034, + "androidx.lifecycle:lifecycle-runtime": 1676153437, + "androidx.lifecycle:lifecycle-viewmodel": -286818927, + "androidx.loader:loader": 1068095782, + "androidx.recyclerview:recyclerview": -1750091511, + "androidx.savedstate:savedstate": -438903404, + "androidx.transition:transition": -626195284, + "androidx.vectordrawable:vectordrawable": 1933203971, + "androidx.vectordrawable:vectordrawable-animated": 1834088379, + "androidx.versionedparcelable:versionedparcelable": -190707065, + "androidx.viewpager2:viewpager2": 1561604264, + "androidx.viewpager:viewpager": -1413513466, + "com.google.android.material:material": 1294058097, + "com.google.dagger:dagger": -680576679, + "com.google.dagger:dagger-compiler": -1275277033, + "com.google.dagger:dagger-producers": -1987855739, + "com.google.truth:truth": -1065464444, + "com.squareup.anvil:annotations": -1942961896, + "com.squareup.anvil:compiler": -896228281, + "javax.inject:javax.inject": -297932879, + "junit:junit": 41631604, + "org.jetbrains.kotlin:kotlin-compiler-embeddable": 812459422, + "org.jetbrains.kotlin:kotlin-reflect": -1806966424, + "org.jetbrains.kotlin:kotlin-script-runtime": -1887537949, + "org.jetbrains.kotlin:kotlin-stdlib": -84985713, + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": -165790084, + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": -1866530563, + "org.jetbrains.kotlin:kotlin-test": 1919113854, + "org.jetbrains:annotations": -564834264, + "repositories": 1670674627 + }, + "__RESOLVED_ARTIFACTS_HASH": { + "androidx.activity:activity:aar": 145712401, + "androidx.annotation:annotation": 1413426692, + "androidx.appcompat:appcompat-resources:aar": -1786133523, + "androidx.appcompat:appcompat:aar": -1503912845, + "androidx.arch.core:core-common": 775335689, + "androidx.arch.core:core-runtime:aar": 1493812608, + "androidx.cardview:cardview:aar": 1507388809, + "androidx.collection:collection": -1823184967, + "androidx.coordinatorlayout:coordinatorlayout:aar": 383619148, + "androidx.core:core-ktx:aar": 1282952548, + "androidx.core:core:aar": 209580310, + "androidx.cursoradapter:cursoradapter:aar": 386782287, + "androidx.customview:customview:aar": -1502136513, + "androidx.drawerlayout:drawerlayout:aar": 917121575, + "androidx.fragment:fragment:aar": 169051036, + "androidx.interpolator:interpolator:aar": -2010321377, + "androidx.lifecycle:lifecycle-common": 1419147855, + "androidx.lifecycle:lifecycle-livedata-core:aar": 512630873, + "androidx.lifecycle:lifecycle-livedata:aar": -211687130, + "androidx.lifecycle:lifecycle-runtime:aar": 2059500255, + "androidx.lifecycle:lifecycle-viewmodel:aar": -1343142281, + "androidx.loader:loader:aar": 1747518540, + "androidx.recyclerview:recyclerview:aar": -1095388781, + "androidx.savedstate:savedstate:aar": -1503458125, + "androidx.transition:transition:aar": -547375795, + "androidx.vectordrawable:vectordrawable-animated:aar": -698566061, + "androidx.vectordrawable:vectordrawable:aar": -2075623240, + "androidx.versionedparcelable:versionedparcelable:aar": -430616626, + "androidx.viewpager2:viewpager2:aar": -1350227696, + "androidx.viewpager:viewpager:aar": 2103763393, + "com.google.android.material:material:aar": -416596820, + "com.google.auto.value:auto-value-annotations": 413037104, + "com.google.code.findbugs:jsr305": 870839855, + "com.google.dagger:dagger": 1014220770, + "com.google.dagger:dagger-compiler": 945811789, + "com.google.dagger:dagger-producers": 904081827, + "com.google.dagger:dagger-spi": 791239001, + "com.google.devtools.ksp:symbol-processing-api": -266951424, + "com.google.errorprone:error_prone_annotations": 374564632, + "com.google.errorprone:javac-shaded": 1621944613, + "com.google.googlejavaformat:google-java-format": 2072486402, + "com.google.guava:failureaccess": -1890754729, + "com.google.guava:guava": -614984488, + "com.google.guava:listenablefuture": 1079558157, + "com.google.j2objc:j2objc-annotations": 880287147, + "com.google.truth:truth": -663566742, + "com.googlecode.java-diff-utils:diffutils": -799723261, + "com.squareup.anvil:annotations": -1016659096, + "com.squareup.anvil:compiler": 923801190, + "com.squareup.anvil:compiler-api": 492506273, + "com.squareup.anvil:compiler-utils": 1287644165, + "com.squareup:javapoet": -2135371934, + "com.squareup:kotlinpoet": 2133478978, + "com.squareup:kotlinpoet-jvm": -1738846270, + "com.squareup:kotlinpoet-ksp": -1221979949, + "javax.annotation:jsr250-api": 847275234, + "javax.inject:javax.inject": 698155243, + "junit:junit": 2076217332, + "net.ltgt.gradle.incap:incap": 641640589, + "org.checkerframework:checker-compat-qual": -1467856161, + "org.checkerframework:checker-qual": -1034954841, + "org.hamcrest:hamcrest-core": 649657847, + "org.jetbrains.kotlin:kotlin-test": 808747748, + "org.jetbrains:annotations": 554168982 + }, + "artifacts": { + "androidx.activity:activity:aar": { + "shasums": { + "jar": "d1bc9842455c2e534415d88c44df4d52413b478db9093a1ba36324f705f44c3d" + }, + "version": "1.0.0" + }, + "androidx.annotation:annotation": { + "shasums": { + "jar": "d38d63edb30f1467818d50aaf05f8a692dea8b31392a049bfa991b159ad5b692" + }, + "version": "1.1.0" + }, + "androidx.appcompat:appcompat-resources:aar": { + "shasums": { + "jar": "19944d32b46551a17c347e21894b95837fbd7baaafc9e2082794344f222f7361" + }, + "version": "1.1.0" + }, + "androidx.appcompat:appcompat:aar": { + "shasums": { + "jar": "8d7299bca44cb3bdf17f5595766acbf459fc81fee223e8686cc6acd3a42ab5c0" + }, + "version": "1.1.0" + }, + "androidx.arch.core:core-common": { + "shasums": { + "jar": "fe1237bf029d063e7f29fe39aeaf73ef74c8b0a3658486fc29d3c54326653889" + }, + "version": "2.1.0" + }, + "androidx.arch.core:core-runtime:aar": { + "shasums": { + "jar": "87e65fc767c712b437649c7cee2431ebb4bed6daef82e501d4125b3ed3f65f8e" + }, + "version": "2.0.0" + }, + "androidx.cardview:cardview:aar": { + "shasums": { + "jar": "1193c04c22a3d6b5946dae9f4e8c59d6adde6a71b6bd5d87fb99d82dda1afec7" + }, + "version": "1.0.0" + }, + "androidx.collection:collection": { + "shasums": { + "jar": "632a0e5407461de774409352940e292a291037724207a787820c77daf7d33b72" + }, + "version": "1.1.0" + }, + "androidx.coordinatorlayout:coordinatorlayout:aar": { + "shasums": { + "jar": "44a9e30abf56af1025c52a0af506fee9c4131aa55efda52f9fd9451211c5e8cb" + }, + "version": "1.1.0" + }, + "androidx.core:core-ktx:aar": { + "shasums": { + "jar": "6da69d64f6e9970fcc4d1e5117068a054d19b910ccb7f843212666867d679a8a" + }, + "version": "1.3.0" + }, + "androidx.core:core:aar": { + "shasums": { + "jar": "1c6b6626f15185d8f4bc7caac759412a1ab6e851ecf7526387d9b9fadcabdb63" + }, + "version": "1.3.0" + }, + "androidx.cursoradapter:cursoradapter:aar": { + "shasums": { + "jar": "a81c8fe78815fa47df5b749deb52727ad11f9397da58b16017f4eb2c11e28564" + }, + "version": "1.0.0" + }, + "androidx.customview:customview:aar": { + "shasums": { + "jar": "20e5b8f6526a34595a604f56718da81167c0b40a7a94a57daa355663f2594df2" + }, + "version": "1.0.0" + }, + "androidx.drawerlayout:drawerlayout:aar": { + "shasums": { + "jar": "9402442cdc5a43cf62fb14f8cf98c63342d4d9d9b805c8033c6cf7e802749ac1" + }, + "version": "1.0.0" + }, + "androidx.fragment:fragment:aar": { + "shasums": { + "jar": "a14c8b8f2153f128e800fbd266a6beab1c283982a29ec570d2cc05d307d81496" + }, + "version": "1.1.0" + }, + "androidx.interpolator:interpolator:aar": { + "shasums": { + "jar": "33193135a64fe21fa2c35eec6688f1a76e512606c0fc83dc1b689e37add7732a" + }, + "version": "1.0.0" + }, + "androidx.lifecycle:lifecycle-common": { + "shasums": { + "jar": "76db6be533bd730fb361c2feb12a2c26d9952824746847da82601ef81f082643" + }, + "version": "2.1.0" + }, + "androidx.lifecycle:lifecycle-livedata-core:aar": { + "shasums": { + "jar": "fde334ec7e22744c0f5bfe7caf1a84c9d717327044400577bdf9bd921ec4f7bc" + }, + "version": "2.0.0" + }, + "androidx.lifecycle:lifecycle-livedata:aar": { + "shasums": { + "jar": "c82609ced8c498f0a701a30fb6771bb7480860daee84d82e0a81ee86edf7ba39" + }, + "version": "2.0.0" + }, + "androidx.lifecycle:lifecycle-runtime:aar": { + "shasums": { + "jar": "e5173897b965e870651e83d9d5af1742d3f532d58863223a390ce3a194c8312b" + }, + "version": "2.1.0" + }, + "androidx.lifecycle:lifecycle-viewmodel:aar": { + "shasums": { + "jar": "ba55fb7ac1b2828d5327cda8acf7085d990b2b4c43ef336caa67686249b8523d" + }, + "version": "2.1.0" + }, + "androidx.loader:loader:aar": { + "shasums": { + "jar": "11f735cb3b55c458d470bed9e25254375b518b4b1bad6926783a7026db0f5025" + }, + "version": "1.0.0" + }, + "androidx.recyclerview:recyclerview:aar": { + "shasums": { + "jar": "f0d2b5a67d0a91ee1b1c73ef2b636a81f3563925ddd15a1d4e1c41ec28de7a4f" + }, + "version": "1.1.0" + }, + "androidx.savedstate:savedstate:aar": { + "shasums": { + "jar": "2510a5619c37579c9ce1a04574faaf323cd0ffe2fc4e20fa8f8f01e5bb402e83" + }, + "version": "1.0.0" + }, + "androidx.transition:transition:aar": { + "shasums": { + "jar": "a1e059b3bc0b43a58dec0efecdcaa89c82d2bca552ea5bacf6656c46e853157e" + }, + "version": "1.2.0" + }, + "androidx.vectordrawable:vectordrawable-animated:aar": { + "shasums": { + "jar": "76da2c502371d9c38054df5e2b248d00da87809ed058f3363eae87ce5e2403f8" + }, + "version": "1.1.0" + }, + "androidx.vectordrawable:vectordrawable:aar": { + "shasums": { + "jar": "46fd633ac01b49b7fcabc263bf098c5a8b9e9a69774d234edcca04fb02df8e26" + }, + "version": "1.1.0" + }, + "androidx.versionedparcelable:versionedparcelable:aar": { + "shasums": { + "jar": "9a1d77140ac222b7866b5054ee7d159bc1800987ed2d46dd6afdd145abb710c1" + }, + "version": "1.1.0" + }, + "androidx.viewpager2:viewpager2:aar": { + "shasums": { + "jar": "e95c0031d4cc247cd48196c6287e58d2cee54d9c79b85afea7c90920330275af" + }, + "version": "1.0.0" + }, + "androidx.viewpager:viewpager:aar": { + "shasums": { + "jar": "147af4e14a1984010d8f155e5e19d781f03c1d70dfed02a8e0d18428b8fc8682" + }, + "version": "1.0.0" + }, + "com.google.android.material:material:aar": { + "shasums": { + "jar": "58f4fb6e5986ec8e01a733ea85e9df83cf79060e0329fe18abc192d9eda97b26" + }, + "version": "1.1.0" + }, + "com.google.auto.value:auto-value-annotations": { + "shasums": { + "jar": "0e951fee8c31f60270bc46553a8586001b7b93dbb12aec06373aa99a150392c0" + }, + "version": "1.6.3" + }, + "com.google.code.findbugs:jsr305": { + "shasums": { + "jar": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7" + }, + "version": "3.0.2" + }, + "com.google.dagger:dagger": { + "shasums": { + "jar": "ab96beb6bd3c291a4bb974a28f41e2c7e5db1f8143ac7e6c0a70bc82f8764ab8" + }, + "version": "2.50" + }, + "com.google.dagger:dagger-compiler": { + "shasums": { + "jar": "763823a64b9d886fcf8782d7d231463672f4081eef5b731c5a74113ac2ed3be0" + }, + "version": "2.50" + }, + "com.google.dagger:dagger-producers": { + "shasums": { + "jar": "b5033d2b53e1e0924666a1c0c8853ad4860ba35bc566fadbd401911a03b77ffa" + }, + "version": "2.50" + }, + "com.google.dagger:dagger-spi": { + "shasums": { + "jar": "89051351a689c782427fa95d12df1b25ef792fa378718645bb291b03cc21e695" + }, + "version": "2.50" + }, + "com.google.devtools.ksp:symbol-processing-api": { + "shasums": { + "jar": "d0339396f40dc9eb3b3f7bc86257f93869ee23448fa31ec4a1de900c6b7ae6d7" + }, + "version": "1.9.20-1.0.14" + }, + "com.google.errorprone:error_prone_annotations": { + "shasums": { + "jar": "cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3" + }, + "version": "2.7.1" + }, + "com.google.errorprone:javac-shaded": { + "shasums": { + "jar": "65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30" + }, + "version": "9-dev-r4023-3" + }, + "com.google.googlejavaformat:google-java-format": { + "shasums": { + "jar": "aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e" + }, + "version": "1.5" + }, + "com.google.guava:failureaccess": { + "shasums": { + "jar": "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26" + }, + "version": "1.0.1" + }, + "com.google.guava:guava": { + "shasums": { + "jar": "d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9" + }, + "version": "31.0.1-jre" + }, + "com.google.guava:listenablefuture": { + "shasums": { + "jar": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99" + }, + "version": "9999.0-empty-to-avoid-conflict-with-guava" + }, + "com.google.j2objc:j2objc-annotations": { + "shasums": { + "jar": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b" + }, + "version": "1.3" + }, + "com.google.truth:truth": { + "shasums": { + "jar": "1ccf4334e7a94cf00a20a619b5462b53acf3274e00b70498bf5b28a3bc1be9b1" + }, + "version": "1.0.1" + }, + "com.googlecode.java-diff-utils:diffutils": { + "shasums": { + "jar": "61ba4dc49adca95243beaa0569adc2a23aedb5292ae78aa01186fa782ebdc5c2" + }, + "version": "1.3.0" + }, + "com.squareup.anvil:annotations": { + "shasums": { + "jar": "d40a86254229e8b328187f108280edbabe606b076303f0ae556a7e7b6d6e8584" + }, + "version": "2.4.9" + }, + "com.squareup.anvil:compiler": { + "shasums": { + "jar": "8dea9e649e06680ad71baf503e47180a8897a97ffeff3474b780252ab5c8f71c" + }, + "version": "2.4.9" + }, + "com.squareup.anvil:compiler-api": { + "shasums": { + "jar": "498d7e2bacbf1f84968a8f025e8751534a688232e5e2dcd9beca792101dfd474" + }, + "version": "2.4.9" + }, + "com.squareup.anvil:compiler-utils": { + "shasums": { + "jar": "c38d45af6bee9c959fcecc278848229da25b42428bdc83b778d6efaeb1e52d45" + }, + "version": "2.4.9" + }, + "com.squareup:javapoet": { + "shasums": { + "jar": "4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291" + }, + "version": "1.13.0" + }, + "com.squareup:kotlinpoet": { + "shasums": { + "jar": "2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492" + }, + "version": "1.11.0" + }, + "com.squareup:kotlinpoet-jvm": { + "shasums": { + "jar": "71d9e80f8f5ea850a899b68dead3b1c33bdfabaec364906955f4b48536d79fa1" + }, + "version": "1.15.3" + }, + "com.squareup:kotlinpoet-ksp": { + "shasums": { + "jar": "588b6eeb4503e79203d68cd3adde904d6708cef58b3d0a475dc9a715dd583c23" + }, + "version": "1.15.3" + }, + "javax.annotation:jsr250-api": { + "shasums": { + "jar": "a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f" + }, + "version": "1.0" + }, + "javax.inject:javax.inject": { + "shasums": { + "jar": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff" + }, + "version": "1" + }, + "junit:junit": { + "shasums": { + "jar": "4b8532f63bdc0e0661507f947eb324a954d1dbac631ad19c8aa9a00feed1d863" + }, + "version": "4.13" + }, + "net.ltgt.gradle.incap:incap": { + "shasums": { + "jar": "b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd" + }, + "version": "0.2" + }, + "org.checkerframework:checker-compat-qual": { + "shasums": { + "jar": "11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a" + }, + "version": "2.5.5" + }, + "org.checkerframework:checker-qual": { + "shasums": { + "jar": "ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb" + }, + "version": "3.12.0" + }, + "org.hamcrest:hamcrest-core": { + "shasums": { + "jar": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9" + }, + "version": "1.3" + }, + "org.jetbrains.kotlin:kotlin-test": { + "shasums": { + "jar": "1ec5b535f1c6ac42ec77986eefec28ca4e947a5c3cde86a5fe3ffbba7f9b2a07" + }, + "version": "1.5.10" + }, + "org.jetbrains:annotations": { + "shasums": { + "jar": "ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478" + }, + "version": "13.0" + } + }, + "dependencies": { + "androidx.activity:activity:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar", + "androidx.lifecycle:lifecycle-runtime:aar", + "androidx.lifecycle:lifecycle-viewmodel:aar", + "androidx.savedstate:savedstate:aar" + ], + "androidx.appcompat:appcompat-resources:aar": [ + "androidx.annotation:annotation", + "androidx.collection:collection", + "androidx.core:core:aar", + "androidx.vectordrawable:vectordrawable-animated:aar", + "androidx.vectordrawable:vectordrawable:aar" + ], + "androidx.appcompat:appcompat:aar": [ + "androidx.annotation:annotation", + "androidx.appcompat:appcompat-resources:aar", + "androidx.collection:collection", + "androidx.core:core:aar", + "androidx.cursoradapter:cursoradapter:aar", + "androidx.drawerlayout:drawerlayout:aar", + "androidx.fragment:fragment:aar" + ], + "androidx.arch.core:core-common": [ + "androidx.annotation:annotation" + ], + "androidx.arch.core:core-runtime:aar": [ + "androidx.annotation:annotation", + "androidx.arch.core:core-common" + ], + "androidx.cardview:cardview:aar": [ + "androidx.annotation:annotation" + ], + "androidx.collection:collection": [ + "androidx.annotation:annotation" + ], + "androidx.coordinatorlayout:coordinatorlayout:aar": [ + "androidx.annotation:annotation", + "androidx.collection:collection", + "androidx.core:core:aar", + "androidx.customview:customview:aar" + ], + "androidx.core:core-ktx:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar" + ], + "androidx.core:core:aar": [ + "androidx.annotation:annotation", + "androidx.collection:collection", + "androidx.lifecycle:lifecycle-runtime:aar", + "androidx.versionedparcelable:versionedparcelable:aar" + ], + "androidx.cursoradapter:cursoradapter:aar": [ + "androidx.annotation:annotation" + ], + "androidx.customview:customview:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar" + ], + "androidx.drawerlayout:drawerlayout:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar", + "androidx.customview:customview:aar" + ], + "androidx.fragment:fragment:aar": [ + "androidx.activity:activity:aar", + "androidx.annotation:annotation", + "androidx.collection:collection", + "androidx.core:core:aar", + "androidx.lifecycle:lifecycle-viewmodel:aar", + "androidx.loader:loader:aar", + "androidx.viewpager:viewpager:aar" + ], + "androidx.interpolator:interpolator:aar": [ + "androidx.annotation:annotation" + ], + "androidx.lifecycle:lifecycle-common": [ + "androidx.annotation:annotation" + ], + "androidx.lifecycle:lifecycle-livedata-core:aar": [ + "androidx.arch.core:core-common", + "androidx.arch.core:core-runtime:aar", + "androidx.lifecycle:lifecycle-common" + ], + "androidx.lifecycle:lifecycle-livedata:aar": [ + "androidx.arch.core:core-common", + "androidx.arch.core:core-runtime:aar", + "androidx.lifecycle:lifecycle-livedata-core:aar" + ], + "androidx.lifecycle:lifecycle-runtime:aar": [ + "androidx.annotation:annotation", + "androidx.arch.core:core-common", + "androidx.lifecycle:lifecycle-common" + ], + "androidx.lifecycle:lifecycle-viewmodel:aar": [ + "androidx.annotation:annotation" + ], + "androidx.loader:loader:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar", + "androidx.lifecycle:lifecycle-livedata:aar", + "androidx.lifecycle:lifecycle-viewmodel:aar" + ], + "androidx.recyclerview:recyclerview:aar": [ + "androidx.annotation:annotation", + "androidx.collection:collection", + "androidx.core:core:aar", + "androidx.customview:customview:aar" + ], + "androidx.savedstate:savedstate:aar": [ + "androidx.annotation:annotation", + "androidx.arch.core:core-common", + "androidx.lifecycle:lifecycle-common" + ], + "androidx.transition:transition:aar": [ + "androidx.annotation:annotation", + "androidx.collection:collection", + "androidx.core:core:aar" + ], + "androidx.vectordrawable:vectordrawable-animated:aar": [ + "androidx.collection:collection", + "androidx.interpolator:interpolator:aar", + "androidx.vectordrawable:vectordrawable:aar" + ], + "androidx.vectordrawable:vectordrawable:aar": [ + "androidx.annotation:annotation", + "androidx.collection:collection", + "androidx.core:core:aar" + ], + "androidx.versionedparcelable:versionedparcelable:aar": [ + "androidx.annotation:annotation", + "androidx.collection:collection" + ], + "androidx.viewpager2:viewpager2:aar": [ + "androidx.annotation:annotation", + "androidx.collection:collection", + "androidx.core:core:aar", + "androidx.fragment:fragment:aar", + "androidx.recyclerview:recyclerview:aar" + ], + "androidx.viewpager:viewpager:aar": [ + "androidx.annotation:annotation", + "androidx.core:core:aar", + "androidx.customview:customview:aar" + ], + "com.google.android.material:material:aar": [ + "androidx.annotation:annotation", + "androidx.appcompat:appcompat:aar", + "androidx.cardview:cardview:aar", + "androidx.coordinatorlayout:coordinatorlayout:aar", + "androidx.core:core:aar", + "androidx.fragment:fragment:aar", + "androidx.lifecycle:lifecycle-runtime:aar", + "androidx.recyclerview:recyclerview:aar", + "androidx.transition:transition:aar", + "androidx.vectordrawable:vectordrawable:aar", + "androidx.viewpager2:viewpager2:aar" + ], + "com.google.dagger:dagger": [ + "javax.inject:javax.inject" + ], + "com.google.dagger:dagger-compiler": [ + "com.google.code.findbugs:jsr305", + "com.google.dagger:dagger", + "com.google.dagger:dagger-spi", + "com.google.devtools.ksp:symbol-processing-api", + "com.google.googlejavaformat:google-java-format", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.squareup:javapoet", + "com.squareup:kotlinpoet", + "javax.inject:javax.inject", + "net.ltgt.gradle.incap:incap", + "org.checkerframework:checker-compat-qual" + ], + "com.google.dagger:dagger-producers": [ + "com.google.dagger:dagger", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "javax.inject:javax.inject", + "org.checkerframework:checker-compat-qual" + ], + "com.google.dagger:dagger-spi": [ + "com.google.code.findbugs:jsr305", + "com.google.dagger:dagger", + "com.google.devtools.ksp:symbol-processing-api", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.squareup:javapoet", + "javax.inject:javax.inject" + ], + "com.google.googlejavaformat:google-java-format": [ + "com.google.errorprone:javac-shaded", + "com.google.guava:guava" + ], + "com.google.guava:guava": [ + "com.google.code.findbugs:jsr305", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:failureaccess", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "org.checkerframework:checker-qual" + ], + "com.google.truth:truth": [ + "com.google.auto.value:auto-value-annotations", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:guava", + "com.googlecode.java-diff-utils:diffutils", + "junit:junit", + "org.checkerframework:checker-compat-qual" + ], + "com.squareup.anvil:compiler": [ + "com.google.dagger:dagger", + "com.squareup.anvil:annotations", + "com.squareup.anvil:compiler-api", + "com.squareup.anvil:compiler-utils", + "com.squareup:kotlinpoet-jvm", + "com.squareup:kotlinpoet-ksp", + "javax.annotation:jsr250-api" + ], + "com.squareup.anvil:compiler-api": [ + "com.squareup.anvil:annotations" + ], + "com.squareup.anvil:compiler-utils": [ + "com.google.dagger:dagger", + "com.squareup.anvil:annotations", + "com.squareup.anvil:compiler-api", + "com.squareup:kotlinpoet-jvm", + "javax.inject:javax.inject" + ], + "com.squareup:kotlinpoet-ksp": [ + "com.squareup:kotlinpoet-jvm" + ], + "junit:junit": [ + "org.hamcrest:hamcrest-core" + ] + }, + "packages": { + "androidx.annotation:annotation": [ + "androidx.annotation" + ], + "androidx.arch.core:core-common": [ + "androidx.arch.core.internal", + "androidx.arch.core.util" + ], + "androidx.collection:collection": [ + "androidx.collection" + ], + "androidx.lifecycle:lifecycle-common": [ + "androidx.lifecycle" + ], + "com.google.auto.value:auto-value-annotations": [ + "com.google.auto.value", + "com.google.auto.value.extension.memoized" + ], + "com.google.code.findbugs:jsr305": [ + "javax.annotation", + "javax.annotation.concurrent", + "javax.annotation.meta" + ], + "com.google.dagger:dagger": [ + "dagger", + "dagger.assisted", + "dagger.internal", + "dagger.multibindings" + ], + "com.google.dagger:dagger-compiler": [ + "dagger.internal.codegen", + "dagger.internal.codegen.base", + "dagger.internal.codegen.binding", + "dagger.internal.codegen.bindinggraphvalidation", + "dagger.internal.codegen.compileroption", + "dagger.internal.codegen.componentgenerator", + "dagger.internal.codegen.javapoet", + "dagger.internal.codegen.kotlin", + "dagger.internal.codegen.langmodel", + "dagger.internal.codegen.model", + "dagger.internal.codegen.processingstep", + "dagger.internal.codegen.validation", + "dagger.internal.codegen.writing", + "dagger.internal.codegen.xprocessing" + ], + "com.google.dagger:dagger-producers": [ + "dagger.producers", + "dagger.producers.internal", + "dagger.producers.monitoring", + "dagger.producers.monitoring.internal" + ], + "com.google.dagger:dagger-spi": [ + "dagger.internal.codegen.extension", + "dagger.model", + "dagger.spi", + "dagger.spi.internal.shaded.androidx.room.compiler.codegen", + "dagger.spi.internal.shaded.androidx.room.compiler.codegen.java", + "dagger.spi.internal.shaded.androidx.room.compiler.codegen.kotlin", + "dagger.spi.internal.shaded.androidx.room.compiler.processing", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.compat", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.javac", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.javac.kotlin", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.ksp", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.ksp.synthetic", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.util", + "dagger.spi.internal.shaded.androidx.room.jarjarred.kotlinx.metadata", + "dagger.spi.internal.shaded.androidx.room.jarjarred.kotlinx.metadata.internal", + "dagger.spi.internal.shaded.androidx.room.jarjarred.kotlinx.metadata.internal.common", + "dagger.spi.internal.shaded.androidx.room.jarjarred.kotlinx.metadata.internal.extensions", + "dagger.spi.internal.shaded.androidx.room.jarjarred.kotlinx.metadata.internal.metadata", + "dagger.spi.internal.shaded.androidx.room.jarjarred.kotlinx.metadata.internal.metadata.builtins", + "dagger.spi.internal.shaded.androidx.room.jarjarred.kotlinx.metadata.internal.metadata.deserialization", + "dagger.spi.internal.shaded.androidx.room.jarjarred.kotlinx.metadata.internal.metadata.jvm", + "dagger.spi.internal.shaded.androidx.room.jarjarred.kotlinx.metadata.internal.metadata.jvm.deserialization", + "dagger.spi.internal.shaded.androidx.room.jarjarred.kotlinx.metadata.internal.metadata.jvm.serialization", + "dagger.spi.internal.shaded.androidx.room.jarjarred.kotlinx.metadata.internal.metadata.serialization", + "dagger.spi.internal.shaded.androidx.room.jarjarred.kotlinx.metadata.internal.protobuf", + "dagger.spi.internal.shaded.androidx.room.jarjarred.kotlinx.metadata.jvm", + "dagger.spi.internal.shaded.androidx.room.jarjarred.kotlinx.metadata.jvm.internal", + "dagger.spi.internal.shaded.auto.common", + "dagger.spi.internal.shaded.kotlinx.metadata", + "dagger.spi.internal.shaded.kotlinx.metadata.internal", + "dagger.spi.internal.shaded.kotlinx.metadata.internal.common", + "dagger.spi.internal.shaded.kotlinx.metadata.internal.extensions", + "dagger.spi.internal.shaded.kotlinx.metadata.internal.metadata", + "dagger.spi.internal.shaded.kotlinx.metadata.internal.metadata.builtins", + "dagger.spi.internal.shaded.kotlinx.metadata.internal.metadata.deserialization", + "dagger.spi.internal.shaded.kotlinx.metadata.internal.metadata.jvm", + "dagger.spi.internal.shaded.kotlinx.metadata.internal.metadata.jvm.deserialization", + "dagger.spi.internal.shaded.kotlinx.metadata.internal.metadata.jvm.serialization", + "dagger.spi.internal.shaded.kotlinx.metadata.internal.metadata.serialization", + "dagger.spi.internal.shaded.kotlinx.metadata.internal.protobuf", + "dagger.spi.internal.shaded.kotlinx.metadata.jvm", + "dagger.spi.internal.shaded.kotlinx.metadata.jvm.internal", + "dagger.spi.model" + ], + "com.google.devtools.ksp:symbol-processing-api": [ + "com.google.devtools.ksp", + "com.google.devtools.ksp.processing", + "com.google.devtools.ksp.symbol", + "com.google.devtools.ksp.visitor" + ], + "com.google.errorprone:error_prone_annotations": [ + "com.google.errorprone.annotations", + "com.google.errorprone.annotations.concurrent" + ], + "com.google.errorprone:javac-shaded": [ + "org.openjdk.javax.annotation.processing", + "org.openjdk.javax.lang.model", + "org.openjdk.javax.lang.model.element", + "org.openjdk.javax.lang.model.type", + "org.openjdk.javax.lang.model.util", + "org.openjdk.javax.tools", + "org.openjdk.source.doctree", + "org.openjdk.source.tree", + "org.openjdk.source.util", + "org.openjdk.tools.doclint", + "org.openjdk.tools.doclint.resources", + "org.openjdk.tools.javac", + "org.openjdk.tools.javac.api", + "org.openjdk.tools.javac.code", + "org.openjdk.tools.javac.comp", + "org.openjdk.tools.javac.file", + "org.openjdk.tools.javac.jvm", + "org.openjdk.tools.javac.main", + "org.openjdk.tools.javac.model", + "org.openjdk.tools.javac.parser", + "org.openjdk.tools.javac.platform", + "org.openjdk.tools.javac.processing", + "org.openjdk.tools.javac.resources", + "org.openjdk.tools.javac.tree", + "org.openjdk.tools.javac.util", + "org.openjdk.tools.javah", + "org.openjdk.tools.javah.resources", + "org.openjdk.tools.sjavac", + "org.openjdk.tools.sjavac.client", + "org.openjdk.tools.sjavac.comp", + "org.openjdk.tools.sjavac.comp.dependencies", + "org.openjdk.tools.sjavac.options", + "org.openjdk.tools.sjavac.pubapi", + "org.openjdk.tools.sjavac.server", + "org.openjdk.tools.sjavac.server.log" + ], + "com.google.googlejavaformat:google-java-format": [ + "com.google.googlejavaformat", + "com.google.googlejavaformat.java", + "com.google.googlejavaformat.java.filer", + "com.google.googlejavaformat.java.javadoc" + ], + "com.google.guava:failureaccess": [ + "com.google.common.util.concurrent.internal" + ], + "com.google.guava:guava": [ + "com.google.common.annotations", + "com.google.common.base", + "com.google.common.base.internal", + "com.google.common.cache", + "com.google.common.collect", + "com.google.common.escape", + "com.google.common.eventbus", + "com.google.common.graph", + "com.google.common.hash", + "com.google.common.html", + "com.google.common.io", + "com.google.common.math", + "com.google.common.net", + "com.google.common.primitives", + "com.google.common.reflect", + "com.google.common.util.concurrent", + "com.google.common.xml", + "com.google.thirdparty.publicsuffix" + ], + "com.google.j2objc:j2objc-annotations": [ + "com.google.j2objc.annotations" + ], + "com.google.truth:truth": [ + "com.google.common.truth" + ], + "com.googlecode.java-diff-utils:diffutils": [ + "difflib", + "difflib.myers" + ], + "com.squareup.anvil:annotations": [ + "com.squareup.anvil.annotations", + "com.squareup.anvil.annotations.compat" + ], + "com.squareup.anvil:compiler": [ + "com.squareup.anvil.compiler", + "com.squareup.anvil.compiler.codegen", + "com.squareup.anvil.compiler.codegen.dagger", + "com.squareup.anvil.compiler.codegen.ksp", + "com.squareup.anvil.compiler.codegen.reference" + ], + "com.squareup.anvil:compiler-api": [ + "com.squareup.anvil.compiler.api" + ], + "com.squareup.anvil:compiler-utils": [ + "com.squareup.anvil.compiler.internal", + "com.squareup.anvil.compiler.internal.reference" + ], + "com.squareup:javapoet": [ + "com.squareup.javapoet" + ], + "com.squareup:kotlinpoet": [ + "com.squareup.kotlinpoet", + "com.squareup.kotlinpoet.jvm", + "com.squareup.kotlinpoet.tags" + ], + "com.squareup:kotlinpoet-jvm": [ + "com.squareup.kotlinpoet", + "com.squareup.kotlinpoet.jvm", + "com.squareup.kotlinpoet.tags" + ], + "com.squareup:kotlinpoet-ksp": [ + "com.squareup.kotlinpoet.ksp" + ], + "javax.annotation:jsr250-api": [ + "javax.annotation", + "javax.annotation.security" + ], + "javax.inject:javax.inject": [ + "javax.inject" + ], + "junit:junit": [ + "junit.extensions", + "junit.framework", + "junit.runner", + "junit.textui", + "org.junit", + "org.junit.experimental", + "org.junit.experimental.categories", + "org.junit.experimental.max", + "org.junit.experimental.results", + "org.junit.experimental.runners", + "org.junit.experimental.theories", + "org.junit.experimental.theories.internal", + "org.junit.experimental.theories.suppliers", + "org.junit.function", + "org.junit.internal", + "org.junit.internal.builders", + "org.junit.internal.management", + "org.junit.internal.matchers", + "org.junit.internal.requests", + "org.junit.internal.runners", + "org.junit.internal.runners.model", + "org.junit.internal.runners.rules", + "org.junit.internal.runners.statements", + "org.junit.matchers", + "org.junit.rules", + "org.junit.runner", + "org.junit.runner.manipulation", + "org.junit.runner.notification", + "org.junit.runners", + "org.junit.runners.model", + "org.junit.runners.parameterized", + "org.junit.validator" + ], + "net.ltgt.gradle.incap:incap": [ + "net.ltgt.gradle.incap" + ], + "org.checkerframework:checker-compat-qual": [ + "org.checkerframework.checker.nullness.compatqual" + ], + "org.checkerframework:checker-qual": [ + "org.checkerframework.checker.builder.qual", + "org.checkerframework.checker.calledmethods.qual", + "org.checkerframework.checker.compilermsgs.qual", + "org.checkerframework.checker.fenum.qual", + "org.checkerframework.checker.formatter.qual", + "org.checkerframework.checker.guieffect.qual", + "org.checkerframework.checker.i18n.qual", + "org.checkerframework.checker.i18nformatter.qual", + "org.checkerframework.checker.index.qual", + "org.checkerframework.checker.initialization.qual", + "org.checkerframework.checker.interning.qual", + "org.checkerframework.checker.lock.qual", + "org.checkerframework.checker.nullness.qual", + "org.checkerframework.checker.optional.qual", + "org.checkerframework.checker.propkey.qual", + "org.checkerframework.checker.regex.qual", + "org.checkerframework.checker.signature.qual", + "org.checkerframework.checker.signedness.qual", + "org.checkerframework.checker.tainting.qual", + "org.checkerframework.checker.units.qual", + "org.checkerframework.common.aliasing.qual", + "org.checkerframework.common.initializedfields.qual", + "org.checkerframework.common.reflection.qual", + "org.checkerframework.common.returnsreceiver.qual", + "org.checkerframework.common.subtyping.qual", + "org.checkerframework.common.util.report.qual", + "org.checkerframework.common.value.qual", + "org.checkerframework.dataflow.qual", + "org.checkerframework.framework.qual" + ], + "org.hamcrest:hamcrest-core": [ + "org.hamcrest", + "org.hamcrest.core", + "org.hamcrest.internal" + ], + "org.jetbrains.kotlin:kotlin-test": [ + "kotlin.test" + ], + "org.jetbrains:annotations": [ + "org.intellij.lang.annotations", + "org.jetbrains.annotations" + ] + }, + "repositories": { + "https://maven.google.com/": [ + "androidx.activity:activity:aar", + "androidx.annotation:annotation", + "androidx.appcompat:appcompat-resources:aar", + "androidx.appcompat:appcompat:aar", + "androidx.arch.core:core-common", + "androidx.arch.core:core-runtime:aar", + "androidx.cardview:cardview:aar", + "androidx.collection:collection", + "androidx.coordinatorlayout:coordinatorlayout:aar", + "androidx.core:core-ktx:aar", + "androidx.core:core:aar", + "androidx.cursoradapter:cursoradapter:aar", + "androidx.customview:customview:aar", + "androidx.drawerlayout:drawerlayout:aar", + "androidx.fragment:fragment:aar", + "androidx.interpolator:interpolator:aar", + "androidx.lifecycle:lifecycle-common", + "androidx.lifecycle:lifecycle-livedata-core:aar", + "androidx.lifecycle:lifecycle-livedata:aar", + "androidx.lifecycle:lifecycle-runtime:aar", + "androidx.lifecycle:lifecycle-viewmodel:aar", + "androidx.loader:loader:aar", + "androidx.recyclerview:recyclerview:aar", + "androidx.savedstate:savedstate:aar", + "androidx.transition:transition:aar", + "androidx.vectordrawable:vectordrawable-animated:aar", + "androidx.vectordrawable:vectordrawable:aar", + "androidx.versionedparcelable:versionedparcelable:aar", + "androidx.viewpager2:viewpager2:aar", + "androidx.viewpager:viewpager:aar", + "com.google.android.material:material:aar", + "com.google.auto.value:auto-value-annotations", + "com.google.code.findbugs:jsr305", + "com.google.dagger:dagger", + "com.google.dagger:dagger-compiler", + "com.google.dagger:dagger-producers", + "com.google.dagger:dagger-spi", + "com.google.devtools.ksp:symbol-processing-api", + "com.google.errorprone:error_prone_annotations", + "com.google.errorprone:javac-shaded", + "com.google.googlejavaformat:google-java-format", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "com.google.truth:truth", + "com.googlecode.java-diff-utils:diffutils", + "com.squareup.anvil:annotations", + "com.squareup.anvil:compiler", + "com.squareup.anvil:compiler-api", + "com.squareup.anvil:compiler-utils", + "com.squareup:javapoet", + "com.squareup:kotlinpoet", + "com.squareup:kotlinpoet-jvm", + "com.squareup:kotlinpoet-ksp", + "javax.annotation:jsr250-api", + "javax.inject:javax.inject", + "junit:junit", + "net.ltgt.gradle.incap:incap", + "org.checkerframework:checker-compat-qual", + "org.checkerframework:checker-qual", + "org.hamcrest:hamcrest-core", + "org.jetbrains.kotlin:kotlin-test", + "org.jetbrains:annotations" + ], + "https://repo1.maven.org/maven2/": [ + "androidx.activity:activity:aar", + "androidx.annotation:annotation", + "androidx.appcompat:appcompat-resources:aar", + "androidx.appcompat:appcompat:aar", + "androidx.arch.core:core-common", + "androidx.arch.core:core-runtime:aar", + "androidx.cardview:cardview:aar", + "androidx.collection:collection", + "androidx.coordinatorlayout:coordinatorlayout:aar", + "androidx.core:core-ktx:aar", + "androidx.core:core:aar", + "androidx.cursoradapter:cursoradapter:aar", + "androidx.customview:customview:aar", + "androidx.drawerlayout:drawerlayout:aar", + "androidx.fragment:fragment:aar", + "androidx.interpolator:interpolator:aar", + "androidx.lifecycle:lifecycle-common", + "androidx.lifecycle:lifecycle-livedata-core:aar", + "androidx.lifecycle:lifecycle-livedata:aar", + "androidx.lifecycle:lifecycle-runtime:aar", + "androidx.lifecycle:lifecycle-viewmodel:aar", + "androidx.loader:loader:aar", + "androidx.recyclerview:recyclerview:aar", + "androidx.savedstate:savedstate:aar", + "androidx.transition:transition:aar", + "androidx.vectordrawable:vectordrawable-animated:aar", + "androidx.vectordrawable:vectordrawable:aar", + "androidx.versionedparcelable:versionedparcelable:aar", + "androidx.viewpager2:viewpager2:aar", + "androidx.viewpager:viewpager:aar", + "com.google.android.material:material:aar", + "com.google.auto.value:auto-value-annotations", + "com.google.code.findbugs:jsr305", + "com.google.dagger:dagger", + "com.google.dagger:dagger-compiler", + "com.google.dagger:dagger-producers", + "com.google.dagger:dagger-spi", + "com.google.devtools.ksp:symbol-processing-api", + "com.google.errorprone:error_prone_annotations", + "com.google.errorprone:javac-shaded", + "com.google.googlejavaformat:google-java-format", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "com.google.truth:truth", + "com.googlecode.java-diff-utils:diffutils", + "com.squareup.anvil:annotations", + "com.squareup.anvil:compiler", + "com.squareup.anvil:compiler-api", + "com.squareup.anvil:compiler-utils", + "com.squareup:javapoet", + "com.squareup:kotlinpoet", + "com.squareup:kotlinpoet-jvm", + "com.squareup:kotlinpoet-ksp", + "javax.annotation:jsr250-api", + "javax.inject:javax.inject", + "junit:junit", + "net.ltgt.gradle.incap:incap", + "org.checkerframework:checker-compat-qual", + "org.checkerframework:checker-qual", + "org.hamcrest:hamcrest-core", + "org.jetbrains.kotlin:kotlin-test", + "org.jetbrains:annotations" + ] + }, + "services": { + "com.google.dagger:dagger-compiler": { + "com.google.devtools.ksp.processing.SymbolProcessorProvider": [ + "dagger.internal.codegen.KspComponentProcessor$Provider" + ], + "javax.annotation.processing.Processor": [ + "dagger.internal.codegen.ComponentProcessor" + ] + }, + "com.google.dagger:dagger-spi": { + "dagger.spi.internal.shaded.androidx.room.jarjarred.kotlinx.metadata.internal.extensions.MetadataExtensions": [ + "dagger.spi.internal.shaded.androidx.room.jarjarred.kotlinx.metadata.jvm.internal.JvmMetadataExtensions" + ], + "dagger.spi.internal.shaded.kotlinx.metadata.internal.extensions.MetadataExtensions": [ + "dagger.spi.internal.shaded.kotlinx.metadata.jvm.internal.JvmMetadataExtensions" + ] + }, + "com.squareup.anvil:compiler": { + "com.google.devtools.ksp.processing.SymbolProcessorProvider": [ + "com.squareup.anvil.compiler.codegen.ContributesBindingCodeGen$KspGenerator$Provider", + "com.squareup.anvil.compiler.codegen.ContributesMultibindingCodeGen$KspGenerator$Provider", + "com.squareup.anvil.compiler.codegen.ContributesToCodeGen$KspGenerator$Provider", + "com.squareup.anvil.compiler.codegen.dagger.AnvilAnnotationDetectorCheck$KspGenerator$Provider", + "com.squareup.anvil.compiler.codegen.dagger.AnvilMergeAnnotationDetectorCheck$KspGenerator$Provider", + "com.squareup.anvil.compiler.codegen.dagger.AssistedFactoryCodeGen$KspGenerator$Provider", + "com.squareup.anvil.compiler.codegen.dagger.AssistedInjectCodeGen$KspGenerator$Provider", + "com.squareup.anvil.compiler.codegen.dagger.ComponentDetectorCheck$KspGenerator$Provider", + "com.squareup.anvil.compiler.codegen.dagger.InjectConstructorFactoryCodeGen$KspGenerator$Provider", + "com.squareup.anvil.compiler.codegen.dagger.MapKeyCreatorCodeGen$KspGenerator$Provider", + "com.squareup.anvil.compiler.codegen.dagger.MembersInjectorCodeGen$KspGenerator$Provider", + "com.squareup.anvil.compiler.codegen.dagger.ProvidesMethodFactoryCodeGen$KspGenerator$Provider" + ], + "com.squareup.anvil.compiler.api.CodeGenerator": [ + "com.squareup.anvil.compiler.codegen.ContributesBindingCodeGen$EmbeddedGenerator", + "com.squareup.anvil.compiler.codegen.ContributesMultibindingCodeGen$EmbeddedGenerator", + "com.squareup.anvil.compiler.codegen.ContributesSubcomponentGenerator", + "com.squareup.anvil.compiler.codegen.ContributesToCodeGen$EmbeddedGenerator", + "com.squareup.anvil.compiler.codegen.MergeAnnotationsCheckGenerator", + "com.squareup.anvil.compiler.codegen.dagger.AnvilAnnotationDetectorCheck$EmbeddedGenerator", + "com.squareup.anvil.compiler.codegen.dagger.AnvilMergeAnnotationDetectorCheck$EmbeddedGenerator", + "com.squareup.anvil.compiler.codegen.dagger.AssistedFactoryCodeGen$Embedded", + "com.squareup.anvil.compiler.codegen.dagger.AssistedInjectCodeGen$Embedded", + "com.squareup.anvil.compiler.codegen.dagger.BindsMethodValidator", + "com.squareup.anvil.compiler.codegen.dagger.ComponentDetectorCheck$EmbeddedGenerator", + "com.squareup.anvil.compiler.codegen.dagger.InjectConstructorFactoryCodeGen$Embedded", + "com.squareup.anvil.compiler.codegen.dagger.MapKeyCreatorCodeGen$EmbeddedGenerator", + "com.squareup.anvil.compiler.codegen.dagger.MembersInjectorCodeGen$Embedded", + "com.squareup.anvil.compiler.codegen.dagger.ProvidesMethodFactoryCodeGen$Embedded" + ], + "org.jetbrains.kotlin.compiler.plugin.CommandLineProcessor": [ + "com.squareup.anvil.compiler.AnvilCommandLineProcessor" + ], + "org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar": [ + "com.squareup.anvil.compiler.AnvilComponentRegistrar" + ] + } + }, + "version": "3" +} diff --git a/examples/dagger/MODULE.bazel b/examples/dagger/MODULE.bazel new file mode 100644 index 000000000..21f0fc9dd --- /dev/null +++ b/examples/dagger/MODULE.bazel @@ -0,0 +1,29 @@ +module(name = "dagger-example") + +bazel_dep(name = "bazel_skylib", version = "1.7.1") +bazel_dep(name = "rules_java", version = "8.9.0") +bazel_dep(name = "rules_kotlin", version = "2.2.0") +local_path_override( + module_name = "rules_kotlin", + path = "../..", +) + +bazel_dep(name = "rules_jvm_external", version = "6.10") + +maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") +maven.install( + name = "maven_rules_kotlin_example", + artifacts = [ + "com.google.dagger:dagger:2.57.2", + "com.google.dagger:dagger-compiler:2.57.2", + "com.google.dagger:dagger-producers:2.57.2", + "javax.inject:javax.inject:1", + "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2", + "org.jetbrains.kotlin:kotlin-metadata-jvm:2.3.0", + ], + lock_file = "//:maven_install.json", + repositories = [ + "https://repo1.maven.org/maven2", + ], +) +use_repo(maven, "maven_rules_kotlin_example") diff --git a/examples/dagger/maven_install.json b/examples/dagger/maven_install.json new file mode 100644 index 000000000..4dc17c982 --- /dev/null +++ b/examples/dagger/maven_install.json @@ -0,0 +1,708 @@ +{ + "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", + "__INPUT_ARTIFACTS_HASH": { + "com.google.dagger:dagger": 1304516772, + "com.google.dagger:dagger-compiler": 1028126946, + "com.google.dagger:dagger-producers": -860209456, + "javax.inject:javax.inject": -297932879, + "org.jetbrains.kotlin:kotlin-metadata-jvm": -1921212285, + "org.jetbrains.kotlinx:kotlinx-coroutines-core": -636748508, + "repositories": -1949687017 + }, + "__RESOLVED_ARTIFACTS_HASH": { + "com.google.code.findbugs:jsr305": 870839855, + "com.google.dagger:dagger": 875179613, + "com.google.dagger:dagger-compiler": 680803318, + "com.google.dagger:dagger-producers": -1019579474, + "com.google.dagger:dagger-spi": -1076984895, + "com.google.devtools.ksp:symbol-processing-api": -479226450, + "com.google.errorprone:error_prone_annotations": 98076041, + "com.google.errorprone:javac-shaded": 1621944613, + "com.google.googlejavaformat:google-java-format": 153002735, + "com.google.guava:failureaccess": -718864417, + "com.google.guava:guava": -1322848894, + "com.google.guava:listenablefuture": 1079558157, + "com.google.j2objc:j2objc-annotations": 248818742, + "com.squareup:javapoet": -2135371934, + "com.squareup:kotlinpoet": -951805535, + "jakarta.inject:jakarta.inject-api": 188991469, + "javax.inject:javax.inject": 698155243, + "net.ltgt.gradle.incap:incap": 641640589, + "org.checkerframework:checker-compat-qual": -1467964223, + "org.checkerframework:checker-qual": 628949150, + "org.jetbrains.kotlin:kotlin-metadata-jvm": -2046605740, + "org.jetbrains.kotlin:kotlin-reflect": 1866799017, + "org.jetbrains.kotlin:kotlin-stdlib": -1979804293, + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": -301750067, + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": -1110340883, + "org.jetbrains.kotlinx:kotlinx-coroutines-core": -202158901, + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": 272771419, + "org.jetbrains:annotations": -1663747638, + "org.jspecify:jspecify": 117231129 + }, + "artifacts": { + "com.google.code.findbugs:jsr305": { + "shasums": { + "jar": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7" + }, + "version": "3.0.2" + }, + "com.google.dagger:dagger": { + "shasums": { + "jar": "f0becd6b5e98d56e6ec43f52de3288e1c560847cb81ec170ae44a1c02c0600f0" + }, + "version": "2.57.2" + }, + "com.google.dagger:dagger-compiler": { + "shasums": { + "jar": "80712a62e4c1ba6a81e193bd29778b059950b6c2d81378b9cdf39b524226f9bc" + }, + "version": "2.57.2" + }, + "com.google.dagger:dagger-producers": { + "shasums": { + "jar": "85fb9577780f7cfa6b5dc847372efda62670d603ea8c35accc02ad46d0021230" + }, + "version": "2.57.2" + }, + "com.google.dagger:dagger-spi": { + "shasums": { + "jar": "ce2779a7c287ee33b1bbd198f5e0de8cc26ba268f607061eafdb068b720494ac" + }, + "version": "2.57.2" + }, + "com.google.devtools.ksp:symbol-processing-api": { + "shasums": { + "jar": "588d17c4ea982b11028c2c82cb1d7300d269023a8068009f9ae9fb2c9c20c6d9" + }, + "version": "2.1.21-2.0.2" + }, + "com.google.errorprone:error_prone_annotations": { + "shasums": { + "jar": "ec6f39f068b6ff9ac323c68e28b9299f8c0a80ca512dccb1d4a70f40ac3ec054" + }, + "version": "2.23.0" + }, + "com.google.errorprone:javac-shaded": { + "shasums": { + "jar": "65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30" + }, + "version": "9-dev-r4023-3" + }, + "com.google.googlejavaformat:google-java-format": { + "shasums": { + "jar": "aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e" + }, + "version": "1.5" + }, + "com.google.guava:failureaccess": { + "shasums": { + "jar": "8a8f81cf9b359e3f6dfa691a1e776985c061ef2f223c9b2c80753e1b458e8064" + }, + "version": "1.0.2" + }, + "com.google.guava:guava": { + "shasums": { + "jar": "f4d85c3e4d411694337cb873abea09b242b664bb013320be6105327c45991537" + }, + "version": "33.0.0-jre" + }, + "com.google.guava:listenablefuture": { + "shasums": { + "jar": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99" + }, + "version": "9999.0-empty-to-avoid-conflict-with-guava" + }, + "com.google.j2objc:j2objc-annotations": { + "shasums": { + "jar": "f02a95fa1a5e95edb3ed859fd0fb7df709d121a35290eff8b74dce2ab7f4d6ed" + }, + "version": "2.8" + }, + "com.squareup:javapoet": { + "shasums": { + "jar": "4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291" + }, + "version": "1.13.0" + }, + "com.squareup:kotlinpoet": { + "shasums": { + "jar": "2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492" + }, + "version": "1.11.0" + }, + "jakarta.inject:jakarta.inject-api": { + "shasums": { + "jar": "f7dc98062fccf14126abb751b64fab12c312566e8cbdc8483598bffcea93af7c" + }, + "version": "2.0.1" + }, + "javax.inject:javax.inject": { + "shasums": { + "jar": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff" + }, + "version": "1" + }, + "net.ltgt.gradle.incap:incap": { + "shasums": { + "jar": "b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd" + }, + "version": "0.2" + }, + "org.checkerframework:checker-compat-qual": { + "shasums": { + "jar": "d76b9afea61c7c082908023f0cbc1427fab9abd2df915c8b8a3e7a509bccbc6d" + }, + "version": "2.5.3" + }, + "org.checkerframework:checker-qual": { + "shasums": { + "jar": "2f9f245bf68e4259d610894f2406dc1f6363dc639302bd566e8272e4f4541172" + }, + "version": "3.41.0" + }, + "org.jetbrains.kotlin:kotlin-metadata-jvm": { + "shasums": { + "jar": "0c64203991d0232d989cd5e366d6028d27b1b087240818178bd50c268eeab56f" + }, + "version": "2.3.0" + }, + "org.jetbrains.kotlin:kotlin-reflect": { + "shasums": { + "jar": "3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203" + }, + "version": "1.6.10" + }, + "org.jetbrains.kotlin:kotlin-stdlib": { + "shasums": { + "jar": "887587c91713250ad52fe14ad9166d042c33835049890e9437f355ffc5a195b1" + }, + "version": "2.3.0" + }, + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": { + "shasums": { + "jar": "2aedcdc6b69b33bdf5cc235bcea88e7cf6601146bb6bcdffdb312bbacd7be261" + }, + "version": "1.6.10" + }, + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": { + "shasums": { + "jar": "1456d82d039ea30d8485b032901f52bbf07e7cdbe8bb1f8708ad32a8574c41ce" + }, + "version": "1.6.10" + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-core": { + "shasums": { + "jar": "319b653009d49c70982f98df29cc84fc7025b092cb0571c8e7532e3ad4366dae" + }, + "version": "1.10.2" + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": { + "shasums": { + "jar": "5ca175b38df331fd64155b35cd8cae1251fa9ee369709b36d42e0a288ccce3fd" + }, + "version": "1.10.2" + }, + "org.jetbrains:annotations": { + "shasums": { + "jar": "7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05" + }, + "version": "23.0.0" + }, + "org.jspecify:jspecify": { + "shasums": { + "jar": "1fad6e6be7557781e4d33729d49ae1cdc8fdda6fe477bb0cc68ce351eafdfbab" + }, + "version": "1.0.0" + } + }, + "dependencies": { + "com.google.dagger:dagger": [ + "jakarta.inject:jakarta.inject-api", + "javax.inject:javax.inject", + "org.jspecify:jspecify" + ], + "com.google.dagger:dagger-compiler": [ + "com.google.code.findbugs:jsr305", + "com.google.dagger:dagger", + "com.google.dagger:dagger-spi", + "com.google.devtools.ksp:symbol-processing-api", + "com.google.googlejavaformat:google-java-format", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.squareup:javapoet", + "com.squareup:kotlinpoet", + "javax.inject:javax.inject", + "net.ltgt.gradle.incap:incap", + "org.checkerframework:checker-compat-qual", + "org.jetbrains.kotlin:kotlin-metadata-jvm", + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "com.google.dagger:dagger-producers": [ + "com.google.dagger:dagger", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "javax.inject:javax.inject", + "org.checkerframework:checker-compat-qual" + ], + "com.google.dagger:dagger-spi": [ + "com.google.code.findbugs:jsr305", + "com.google.dagger:dagger", + "com.google.devtools.ksp:symbol-processing-api", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.squareup:javapoet", + "javax.inject:javax.inject" + ], + "com.google.devtools.ksp:symbol-processing-api": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "com.google.googlejavaformat:google-java-format": [ + "com.google.errorprone:javac-shaded", + "com.google.guava:guava" + ], + "com.google.guava:guava": [ + "com.google.code.findbugs:jsr305", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:failureaccess", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "org.checkerframework:checker-qual" + ], + "com.squareup:kotlinpoet": [ + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + ], + "org.jetbrains.kotlin:kotlin-metadata-jvm": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.jetbrains.kotlin:kotlin-reflect": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "org.jetbrains:annotations" + ], + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": [ + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-core": [ + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": [ + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains:annotations" + ] + }, + "packages": { + "com.google.code.findbugs:jsr305": [ + "javax.annotation", + "javax.annotation.concurrent", + "javax.annotation.meta" + ], + "com.google.dagger:dagger": [ + "dagger", + "dagger.assisted", + "dagger.internal", + "dagger.multibindings" + ], + "com.google.dagger:dagger-compiler": [ + "dagger.internal.codegen", + "dagger.internal.codegen.base", + "dagger.internal.codegen.binding", + "dagger.internal.codegen.bindinggraphvalidation", + "dagger.internal.codegen.compileroption", + "dagger.internal.codegen.componentgenerator", + "dagger.internal.codegen.kotlin", + "dagger.internal.codegen.model", + "dagger.internal.codegen.processingstep", + "dagger.internal.codegen.validation", + "dagger.internal.codegen.writing", + "dagger.internal.codegen.xprocessing", + "dagger.spi.internal.shaded.androidx.room.compiler.codegen", + "dagger.spi.internal.shaded.androidx.room.compiler.codegen.compat", + "dagger.spi.internal.shaded.androidx.room.compiler.codegen.impl", + "dagger.spi.internal.shaded.androidx.room.compiler.codegen.java", + "dagger.spi.internal.shaded.androidx.room.compiler.codegen.kotlin", + "dagger.spi.internal.shaded.androidx.room.compiler.processing", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.compat", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.javac", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.javac.kotlin", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.ksp", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.ksp.synthetic", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.util" + ], + "com.google.dagger:dagger-producers": [ + "dagger.producers", + "dagger.producers.internal", + "dagger.producers.monitoring", + "dagger.producers.monitoring.internal" + ], + "com.google.dagger:dagger-spi": [ + "dagger.internal.codegen.extension", + "dagger.model", + "dagger.spi", + "dagger.spi.internal.shaded.com.google.auto.common", + "dagger.spi.internal.shaded.com.squareup.kotlinpoet.javapoet", + "dagger.spi.model" + ], + "com.google.devtools.ksp:symbol-processing-api": [ + "com.google.devtools.ksp", + "com.google.devtools.ksp.processing", + "com.google.devtools.ksp.symbol", + "com.google.devtools.ksp.visitor" + ], + "com.google.errorprone:error_prone_annotations": [ + "com.google.errorprone.annotations", + "com.google.errorprone.annotations.concurrent" + ], + "com.google.errorprone:javac-shaded": [ + "org.openjdk.javax.annotation.processing", + "org.openjdk.javax.lang.model", + "org.openjdk.javax.lang.model.element", + "org.openjdk.javax.lang.model.type", + "org.openjdk.javax.lang.model.util", + "org.openjdk.javax.tools", + "org.openjdk.source.doctree", + "org.openjdk.source.tree", + "org.openjdk.source.util", + "org.openjdk.tools.doclint", + "org.openjdk.tools.doclint.resources", + "org.openjdk.tools.javac", + "org.openjdk.tools.javac.api", + "org.openjdk.tools.javac.code", + "org.openjdk.tools.javac.comp", + "org.openjdk.tools.javac.file", + "org.openjdk.tools.javac.jvm", + "org.openjdk.tools.javac.main", + "org.openjdk.tools.javac.model", + "org.openjdk.tools.javac.parser", + "org.openjdk.tools.javac.platform", + "org.openjdk.tools.javac.processing", + "org.openjdk.tools.javac.resources", + "org.openjdk.tools.javac.tree", + "org.openjdk.tools.javac.util", + "org.openjdk.tools.javah", + "org.openjdk.tools.javah.resources", + "org.openjdk.tools.sjavac", + "org.openjdk.tools.sjavac.client", + "org.openjdk.tools.sjavac.comp", + "org.openjdk.tools.sjavac.comp.dependencies", + "org.openjdk.tools.sjavac.options", + "org.openjdk.tools.sjavac.pubapi", + "org.openjdk.tools.sjavac.server", + "org.openjdk.tools.sjavac.server.log" + ], + "com.google.googlejavaformat:google-java-format": [ + "com.google.googlejavaformat", + "com.google.googlejavaformat.java", + "com.google.googlejavaformat.java.filer", + "com.google.googlejavaformat.java.javadoc" + ], + "com.google.guava:failureaccess": [ + "com.google.common.util.concurrent.internal" + ], + "com.google.guava:guava": [ + "com.google.common.annotations", + "com.google.common.base", + "com.google.common.base.internal", + "com.google.common.cache", + "com.google.common.collect", + "com.google.common.escape", + "com.google.common.eventbus", + "com.google.common.graph", + "com.google.common.hash", + "com.google.common.html", + "com.google.common.io", + "com.google.common.math", + "com.google.common.net", + "com.google.common.primitives", + "com.google.common.reflect", + "com.google.common.util.concurrent", + "com.google.common.xml", + "com.google.thirdparty.publicsuffix" + ], + "com.google.j2objc:j2objc-annotations": [ + "com.google.j2objc.annotations" + ], + "com.squareup:javapoet": [ + "com.squareup.javapoet" + ], + "com.squareup:kotlinpoet": [ + "com.squareup.kotlinpoet", + "com.squareup.kotlinpoet.jvm", + "com.squareup.kotlinpoet.tags" + ], + "jakarta.inject:jakarta.inject-api": [ + "jakarta.inject" + ], + "javax.inject:javax.inject": [ + "javax.inject" + ], + "net.ltgt.gradle.incap:incap": [ + "net.ltgt.gradle.incap" + ], + "org.checkerframework:checker-compat-qual": [ + "org.checkerframework.checker.nullness.compatqual" + ], + "org.checkerframework:checker-qual": [ + "org.checkerframework.checker.builder.qual", + "org.checkerframework.checker.calledmethods.qual", + "org.checkerframework.checker.compilermsgs.qual", + "org.checkerframework.checker.fenum.qual", + "org.checkerframework.checker.formatter.qual", + "org.checkerframework.checker.guieffect.qual", + "org.checkerframework.checker.i18n.qual", + "org.checkerframework.checker.i18nformatter.qual", + "org.checkerframework.checker.index.qual", + "org.checkerframework.checker.initialization.qual", + "org.checkerframework.checker.interning.qual", + "org.checkerframework.checker.lock.qual", + "org.checkerframework.checker.mustcall.qual", + "org.checkerframework.checker.nullness.qual", + "org.checkerframework.checker.optional.qual", + "org.checkerframework.checker.propkey.qual", + "org.checkerframework.checker.regex.qual", + "org.checkerframework.checker.signature.qual", + "org.checkerframework.checker.signedness.qual", + "org.checkerframework.checker.tainting.qual", + "org.checkerframework.checker.units.qual", + "org.checkerframework.common.aliasing.qual", + "org.checkerframework.common.initializedfields.qual", + "org.checkerframework.common.reflection.qual", + "org.checkerframework.common.returnsreceiver.qual", + "org.checkerframework.common.subtyping.qual", + "org.checkerframework.common.util.report.qual", + "org.checkerframework.common.value.qual", + "org.checkerframework.dataflow.qual", + "org.checkerframework.framework.qual" + ], + "org.jetbrains.kotlin:kotlin-metadata-jvm": [ + "kotlin.metadata", + "kotlin.metadata.internal", + "kotlin.metadata.internal.common", + "kotlin.metadata.internal.extensions", + "kotlin.metadata.internal.metadata", + "kotlin.metadata.internal.metadata.builtins", + "kotlin.metadata.internal.metadata.deserialization", + "kotlin.metadata.internal.metadata.jvm", + "kotlin.metadata.internal.metadata.jvm.deserialization", + "kotlin.metadata.internal.metadata.jvm.serialization", + "kotlin.metadata.internal.metadata.serialization", + "kotlin.metadata.internal.protobuf", + "kotlin.metadata.jvm", + "kotlin.metadata.jvm.internal" + ], + "org.jetbrains.kotlin:kotlin-reflect": [ + "kotlin.reflect.full", + "kotlin.reflect.jvm", + "kotlin.reflect.jvm.internal", + "kotlin.reflect.jvm.internal.calls", + "kotlin.reflect.jvm.internal.impl", + "kotlin.reflect.jvm.internal.impl.builtins", + "kotlin.reflect.jvm.internal.impl.builtins.functions", + "kotlin.reflect.jvm.internal.impl.builtins.jvm", + "kotlin.reflect.jvm.internal.impl.descriptors", + "kotlin.reflect.jvm.internal.impl.descriptors.annotations", + "kotlin.reflect.jvm.internal.impl.descriptors.deserialization", + "kotlin.reflect.jvm.internal.impl.descriptors.impl", + "kotlin.reflect.jvm.internal.impl.descriptors.java", + "kotlin.reflect.jvm.internal.impl.descriptors.runtime.components", + "kotlin.reflect.jvm.internal.impl.descriptors.runtime.structure", + "kotlin.reflect.jvm.internal.impl.incremental", + "kotlin.reflect.jvm.internal.impl.incremental.components", + "kotlin.reflect.jvm.internal.impl.load.java", + "kotlin.reflect.jvm.internal.impl.load.java.components", + "kotlin.reflect.jvm.internal.impl.load.java.descriptors", + "kotlin.reflect.jvm.internal.impl.load.java.lazy", + "kotlin.reflect.jvm.internal.impl.load.java.lazy.descriptors", + "kotlin.reflect.jvm.internal.impl.load.java.lazy.types", + "kotlin.reflect.jvm.internal.impl.load.java.sources", + "kotlin.reflect.jvm.internal.impl.load.java.structure", + "kotlin.reflect.jvm.internal.impl.load.java.typeEnhancement", + "kotlin.reflect.jvm.internal.impl.load.kotlin", + "kotlin.reflect.jvm.internal.impl.load.kotlin.header", + "kotlin.reflect.jvm.internal.impl.metadata", + "kotlin.reflect.jvm.internal.impl.metadata.builtins", + "kotlin.reflect.jvm.internal.impl.metadata.deserialization", + "kotlin.reflect.jvm.internal.impl.metadata.jvm", + "kotlin.reflect.jvm.internal.impl.metadata.jvm.deserialization", + "kotlin.reflect.jvm.internal.impl.name", + "kotlin.reflect.jvm.internal.impl.platform", + "kotlin.reflect.jvm.internal.impl.protobuf", + "kotlin.reflect.jvm.internal.impl.renderer", + "kotlin.reflect.jvm.internal.impl.resolve", + "kotlin.reflect.jvm.internal.impl.resolve.calls.inference", + "kotlin.reflect.jvm.internal.impl.resolve.constants", + "kotlin.reflect.jvm.internal.impl.resolve.deprecation", + "kotlin.reflect.jvm.internal.impl.resolve.descriptorUtil", + "kotlin.reflect.jvm.internal.impl.resolve.jvm", + "kotlin.reflect.jvm.internal.impl.resolve.sam", + "kotlin.reflect.jvm.internal.impl.resolve.scopes", + "kotlin.reflect.jvm.internal.impl.resolve.scopes.receivers", + "kotlin.reflect.jvm.internal.impl.serialization", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.builtins", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors", + "kotlin.reflect.jvm.internal.impl.storage", + "kotlin.reflect.jvm.internal.impl.types", + "kotlin.reflect.jvm.internal.impl.types.checker", + "kotlin.reflect.jvm.internal.impl.types.error", + "kotlin.reflect.jvm.internal.impl.types.model", + "kotlin.reflect.jvm.internal.impl.types.typeUtil", + "kotlin.reflect.jvm.internal.impl.types.typesApproximation", + "kotlin.reflect.jvm.internal.impl.util", + "kotlin.reflect.jvm.internal.impl.util.capitalizeDecapitalize", + "kotlin.reflect.jvm.internal.impl.util.collectionUtils", + "kotlin.reflect.jvm.internal.impl.utils", + "kotlin.reflect.jvm.internal.pcollections" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "kotlin", + "kotlin.annotation", + "kotlin.collections", + "kotlin.collections.builders", + "kotlin.collections.jdk8", + "kotlin.collections.unsigned", + "kotlin.comparisons", + "kotlin.concurrent", + "kotlin.concurrent.atomics", + "kotlin.concurrent.internal", + "kotlin.contracts", + "kotlin.coroutines", + "kotlin.coroutines.cancellation", + "kotlin.coroutines.intrinsics", + "kotlin.coroutines.jvm.internal", + "kotlin.enums", + "kotlin.experimental", + "kotlin.internal", + "kotlin.internal.jdk7", + "kotlin.internal.jdk8", + "kotlin.io", + "kotlin.io.encoding", + "kotlin.io.path", + "kotlin.jdk7", + "kotlin.js", + "kotlin.jvm", + "kotlin.jvm.functions", + "kotlin.jvm.internal", + "kotlin.jvm.internal.markers", + "kotlin.jvm.internal.unsafe", + "kotlin.jvm.jdk8", + "kotlin.jvm.optionals", + "kotlin.math", + "kotlin.properties", + "kotlin.random", + "kotlin.random.jdk8", + "kotlin.ranges", + "kotlin.reflect", + "kotlin.sequences", + "kotlin.streams.jdk8", + "kotlin.system", + "kotlin.text", + "kotlin.text.jdk8", + "kotlin.time", + "kotlin.time.jdk8", + "kotlin.uuid" + ], + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": [ + "kotlin.internal.jdk7", + "kotlin.io.path", + "kotlin.jdk7" + ], + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": [ + "kotlin.collections.jdk8", + "kotlin.internal.jdk8", + "kotlin.jvm.jdk8", + "kotlin.random.jdk8", + "kotlin.streams.jdk8", + "kotlin.text.jdk8", + "kotlin.time.jdk8" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": [ + "_COROUTINE", + "kotlinx.coroutines", + "kotlinx.coroutines.channels", + "kotlinx.coroutines.debug.internal", + "kotlinx.coroutines.flow", + "kotlinx.coroutines.flow.internal", + "kotlinx.coroutines.future", + "kotlinx.coroutines.internal", + "kotlinx.coroutines.intrinsics", + "kotlinx.coroutines.scheduling", + "kotlinx.coroutines.selects", + "kotlinx.coroutines.stream", + "kotlinx.coroutines.sync", + "kotlinx.coroutines.time" + ], + "org.jetbrains:annotations": [ + "org.intellij.lang.annotations", + "org.jetbrains.annotations" + ], + "org.jspecify:jspecify": [ + "org.jspecify.annotations" + ] + }, + "repositories": { + "https://repo1.maven.org/maven2/": [ + "com.google.code.findbugs:jsr305", + "com.google.dagger:dagger", + "com.google.dagger:dagger-compiler", + "com.google.dagger:dagger-producers", + "com.google.dagger:dagger-spi", + "com.google.devtools.ksp:symbol-processing-api", + "com.google.errorprone:error_prone_annotations", + "com.google.errorprone:javac-shaded", + "com.google.googlejavaformat:google-java-format", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "com.squareup:javapoet", + "com.squareup:kotlinpoet", + "jakarta.inject:jakarta.inject-api", + "javax.inject:javax.inject", + "net.ltgt.gradle.incap:incap", + "org.checkerframework:checker-compat-qual", + "org.checkerframework:checker-qual", + "org.jetbrains.kotlin:kotlin-metadata-jvm", + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8", + "org.jetbrains.kotlinx:kotlinx-coroutines-core", + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm", + "org.jetbrains:annotations", + "org.jspecify:jspecify" + ] + }, + "services": { + "com.google.dagger:dagger-compiler": { + "com.google.devtools.ksp.processing.SymbolProcessorProvider": [ + "dagger.internal.codegen.KspComponentProcessor$Provider" + ], + "javax.annotation.processing.Processor": [ + "dagger.internal.codegen.ComponentProcessor" + ] + }, + "org.jetbrains.kotlin:kotlin-metadata-jvm": { + "kotlin.metadata.internal.extensions.MetadataExtensions": [ + "kotlin.metadata.jvm.internal.JvmMetadataExtensions" + ] + }, + "org.jetbrains.kotlin:kotlin-reflect": { + "kotlin.reflect.jvm.internal.impl.builtins.BuiltInsLoader": [ + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.builtins.BuiltInsLoaderImpl" + ], + "kotlin.reflect.jvm.internal.impl.resolve.ExternalOverridabilityCondition": [ + "kotlin.reflect.jvm.internal.impl.load.java.ErasedOverridabilityCondition", + "kotlin.reflect.jvm.internal.impl.load.java.FieldOverridabilityCondition", + "kotlin.reflect.jvm.internal.impl.load.java.JavaIncompatibilityRulesOverridabilityCondition" + ] + } + }, + "version": "3" +} diff --git a/examples/deps/.bazelrc b/examples/deps/.bazelrc index bee8446db..525787d71 100644 --- a/examples/deps/.bazelrc +++ b/examples/deps/.bazelrc @@ -1,7 +1,9 @@ common --java_runtime_version=remotejdk_21 common --tool_java_runtime_version=remotejdk_21 -common --incompatible_enable_android_toolchain_resolution -common --enable_workspace=true -common --enable_bzlmod=false +common --incompatible_enable_android_toolchain_resolution # Required for bazel 7 common --android_platforms=//:arm64-v8a -common --toolchain_resolution_debug=.* \ No newline at end of file +common --toolchain_resolution_debug=.* + +# Required for abseil-cpp which requires C++17 +build --cxxopt=-std=c++17 +build --host_cxxopt=-std=c++17 \ No newline at end of file diff --git a/examples/deps/MODULE.bazel b/examples/deps/MODULE.bazel new file mode 100644 index 000000000..611ed658f --- /dev/null +++ b/examples/deps/MODULE.bazel @@ -0,0 +1,31 @@ +module(name = "deps-example") + +bazel_dep(name = "rules_android", version = "0.7.0") +bazel_dep(name = "bazel_skylib", version = "1.7.1") +bazel_dep(name = "rules_java", version = "8.9.0") +bazel_dep(name = "rules_kotlin", version = "2.2.0") +bazel_dep(name = "rules_jvm_external", version = "6.10") + +android_sdk_repository_extension = use_extension("@rules_android//rules/android_sdk_repository:rule.bzl", "android_sdk_repository_extension") +use_repo(android_sdk_repository_extension, "androidsdk") + +register_toolchains("@androidsdk//:sdk-toolchain", "@androidsdk//:all") + +register_toolchains("//bzl:experimental_toolchain") + +maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") +maven.install( + name = "maven_rules_kotlin_example", + aar_import_bzl_label = "@rules_android//rules:rules.bzl", + artifacts = [ + "com.google.auto.value:auto-value:1.6.5", + "com.google.auto.value:auto-value-annotations:1.6.5", + ], + lock_file = "//:maven_install.json", + repositories = [ + "https://maven.google.com", + "https://repo1.maven.org/maven2", + ], + use_starlark_android_rules = True, +) +use_repo(maven, "maven_rules_kotlin_example") diff --git a/examples/deps/maven_install.json b/examples/deps/maven_install.json new file mode 100644 index 000000000..fdfa4349b --- /dev/null +++ b/examples/deps/maven_install.json @@ -0,0 +1,65 @@ +{ + "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", + "__INPUT_ARTIFACTS_HASH": { + "com.google.auto.value:auto-value": -558506157, + "com.google.auto.value:auto-value-annotations": -908100758, + "repositories": 1670674627 + }, + "__RESOLVED_ARTIFACTS_HASH": { + "com.google.auto.value:auto-value": 2044796910, + "com.google.auto.value:auto-value-annotations": -1897721582 + }, + "artifacts": { + "com.google.auto.value:auto-value": { + "shasums": { + "jar": "ed5f69ef035b5367f1f0264f843b988908e36e155845880b29d79b7c8855adf3" + }, + "version": "1.6.5" + }, + "com.google.auto.value:auto-value-annotations": { + "shasums": { + "jar": "3677f725f5b1b6cd6a4cc8aa8cf8f5fd2b76d170205cbdc3e9bfd9b58f934b3b" + }, + "version": "1.6.5" + } + }, + "dependencies": {}, + "packages": { + "com.google.auto.value:auto-value": [ + "com.google.auto.value.extension", + "com.google.auto.value.extension.memoized.processor", + "com.google.auto.value.processor", + "org.checkerframework.checker.nullness.qual", + "org.checkerframework.framework.qual" + ], + "com.google.auto.value:auto-value-annotations": [ + "com.google.auto.value", + "com.google.auto.value.extension.memoized" + ] + }, + "repositories": { + "https://maven.google.com/": [ + "com.google.auto.value:auto-value", + "com.google.auto.value:auto-value-annotations" + ], + "https://repo1.maven.org/maven2/": [ + "com.google.auto.value:auto-value", + "com.google.auto.value:auto-value-annotations" + ] + }, + "services": { + "com.google.auto.value:auto-value": { + "com.google.auto.value.extension.AutoValueExtension": [ + "com.google.auto.value.extension.memoized.processor.MemoizeExtension" + ], + "javax.annotation.processing.Processor": [ + "com.google.auto.value.extension.memoized.processor.MemoizedValidator", + "com.google.auto.value.processor.AutoAnnotationProcessor", + "com.google.auto.value.processor.AutoOneOfProcessor", + "com.google.auto.value.processor.AutoValueBuilderProcessor", + "com.google.auto.value.processor.AutoValueProcessor" + ] + } + }, + "version": "3" +} diff --git a/examples/jetpack_compose/.bazelrc b/examples/jetpack_compose/.bazelrc index e0412191e..202d361c4 100644 --- a/examples/jetpack_compose/.bazelrc +++ b/examples/jetpack_compose/.bazelrc @@ -10,3 +10,7 @@ build --@rules_kotlin//kotlin/settings:jvm_emit_jdeps=False common --java_runtime_version=remotejdk_17 common --tool_java_runtime_version=remotejdk_17 + +# Required for abseil-cpp which requires C++17 +build --cxxopt=-std=c++17 +build --host_cxxopt=-std=c++17 \ No newline at end of file diff --git a/examples/jetpack_compose/MODULE.bazel b/examples/jetpack_compose/MODULE.bazel index a8ee25624..4a94299b7 100644 --- a/examples/jetpack_compose/MODULE.bazel +++ b/examples/jetpack_compose/MODULE.bazel @@ -9,7 +9,7 @@ local_path_override( ) bazel_dep(name = "bazel_skylib", version = "1.7.1") -bazel_dep(name = "rules_jvm_external", version = "6.7") +bazel_dep(name = "rules_jvm_external", version = "6.10") bazel_dep(name = "rules_shell", version = "0.4.1") bazel_dep(name = "rules_android", version = "0.7.0") @@ -23,13 +23,6 @@ use_repo(android_sdk_repository_extension, "androidsdk") register_toolchains("@androidsdk//:sdk-toolchain", "@androidsdk//:all") -bazel_dep(name = "rules_android_ndk", version = "0.1.3") - -android_ndk_repository_extension = use_extension("@rules_android_ndk//:extension.bzl", "android_ndk_repository_extension") -use_repo(android_ndk_repository_extension, "androidndk") - -register_toolchains("@androidndk//:all") - bazel_dep(name = "rules_robolectric", version = "4.14.1.2", repo_name = "robolectric") maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") diff --git a/examples/jetpack_compose/maven_install.json b/examples/jetpack_compose/maven_install.json index e202b0d96..5e9aae867 100644 --- a/examples/jetpack_compose/maven_install.json +++ b/examples/jetpack_compose/maven_install.json @@ -1,7 +1,203 @@ { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": 47580714, - "__RESOLVED_ARTIFACTS_HASH": -8916291, + "__INPUT_ARTIFACTS_HASH": { + "androidx.activity:activity-compose": -2111162134, + "androidx.appcompat:appcompat": 942538221, + "androidx.collection:collection": 200593880, + "androidx.compose.material:material": -534148617, + "androidx.compose.runtime:runtime": 1147376759, + "androidx.compose.ui:ui": 881804177, + "androidx.compose.ui:ui-tooling": 655167758, + "androidx.core:core-ktx": -1348396836, + "androidx.lifecycle:lifecycle-common": 234331668, + "androidx.lifecycle:lifecycle-runtime": -526123229, + "org.jetbrains.kotlin:kotlin-compose-compiler-plugin-embeddable": 648663194, + "repositories": 1670674627 + }, + "__RESOLVED_ARTIFACTS_HASH": { + "androidx.activity:activity-compose:aar": -1523006703, + "androidx.activity:activity-compose:jar:sources": -1234855571, + "androidx.activity:activity-ktx:aar": -253043640, + "androidx.activity:activity-ktx:jar:sources": -1899778867, + "androidx.activity:activity:aar": 811117025, + "androidx.activity:activity:jar:sources": -1043993568, + "androidx.annotation:annotation": -2118001980, + "androidx.annotation:annotation-experimental:aar": -809233587, + "androidx.annotation:annotation-experimental:jar:sources": -1198509839, + "androidx.annotation:annotation-jvm": -1770237526, + "androidx.annotation:annotation-jvm:jar:sources": 2118816976, + "androidx.annotation:annotation:jar:sources": 151258866, + "androidx.appcompat:appcompat-resources:aar": -2033747363, + "androidx.appcompat:appcompat-resources:jar:sources": 1966157296, + "androidx.appcompat:appcompat:aar": 1328684763, + "androidx.appcompat:appcompat:jar:sources": 1354885723, + "androidx.arch.core:core-common": -714418047, + "androidx.arch.core:core-common:jar:sources": 1644224064, + "androidx.arch.core:core-runtime:aar": -364161870, + "androidx.arch.core:core-runtime:jar:sources": -1505090276, + "androidx.autofill:autofill:aar": 246475922, + "androidx.autofill:autofill:jar:sources": 586960423, + "androidx.collection:collection": -426773001, + "androidx.collection:collection-jvm": 1320427456, + "androidx.collection:collection-jvm:jar:sources": 1150146017, + "androidx.collection:collection-ktx": -1582769157, + "androidx.collection:collection-ktx:jar:sources": 743737024, + "androidx.collection:collection:jar:sources": -1124294786, + "androidx.compose.animation:animation-android:aar": -737777681, + "androidx.compose.animation:animation-android:jar:sources": -1225724202, + "androidx.compose.animation:animation-core-android:aar": 1978516231, + "androidx.compose.animation:animation-core-android:jar:sources": 1641603008, + "androidx.compose.animation:animation-core:aar": 1250312169, + "androidx.compose.animation:animation-core:jar:sources": -3473037, + "androidx.compose.animation:animation:aar": 1617435572, + "androidx.compose.animation:animation:jar:sources": -624142701, + "androidx.compose.foundation:foundation-android:aar": -1233680614, + "androidx.compose.foundation:foundation-android:jar:sources": -531551825, + "androidx.compose.foundation:foundation-layout-android:aar": -396681308, + "androidx.compose.foundation:foundation-layout-android:jar:sources": 1664786844, + "androidx.compose.foundation:foundation-layout:aar": -1875262807, + "androidx.compose.foundation:foundation-layout:jar:sources": -1764293281, + "androidx.compose.foundation:foundation:aar": -400603477, + "androidx.compose.foundation:foundation:jar:sources": 1172972698, + "androidx.compose.material:material-android:aar": -1206336333, + "androidx.compose.material:material-android:jar:sources": 1887402832, + "androidx.compose.material:material-ripple-android:aar": 522506317, + "androidx.compose.material:material-ripple-android:jar:sources": -1112795745, + "androidx.compose.material:material-ripple:aar": -1966850489, + "androidx.compose.material:material-ripple:jar:sources": 1182391458, + "androidx.compose.material:material:aar": -1133213829, + "androidx.compose.material:material:jar:sources": 1344683646, + "androidx.compose.runtime:runtime-android:aar": 278802715, + "androidx.compose.runtime:runtime-android:jar:sources": -1545553546, + "androidx.compose.runtime:runtime-saveable-android:aar": -1362415755, + "androidx.compose.runtime:runtime-saveable-android:jar:sources": -98549036, + "androidx.compose.runtime:runtime-saveable:aar": -1236847325, + "androidx.compose.runtime:runtime-saveable:jar:sources": -98549036, + "androidx.compose.runtime:runtime:aar": -996064034, + "androidx.compose.runtime:runtime:jar:sources": 1520825583, + "androidx.compose.ui:ui-android:aar": 1184865448, + "androidx.compose.ui:ui-android:jar:sources": 1746029629, + "androidx.compose.ui:ui-geometry-android:aar": 1666033535, + "androidx.compose.ui:ui-geometry-android:jar:sources": 608621454, + "androidx.compose.ui:ui-geometry:aar": 407108065, + "androidx.compose.ui:ui-geometry:jar:sources": 608621454, + "androidx.compose.ui:ui-graphics-android:aar": -454376106, + "androidx.compose.ui:ui-graphics-android:jar:sources": -1581546598, + "androidx.compose.ui:ui-graphics:aar": 970311696, + "androidx.compose.ui:ui-graphics:jar:sources": -676542368, + "androidx.compose.ui:ui-text-android:aar": 1636973997, + "androidx.compose.ui:ui-text-android:jar:sources": 1064748584, + "androidx.compose.ui:ui-text:aar": -824084670, + "androidx.compose.ui:ui-text:jar:sources": -885852807, + "androidx.compose.ui:ui-tooling-android:aar": -228613992, + "androidx.compose.ui:ui-tooling-android:jar:sources": -1230710536, + "androidx.compose.ui:ui-tooling-data-android:aar": -410676949, + "androidx.compose.ui:ui-tooling-data-android:jar:sources": 1692905915, + "androidx.compose.ui:ui-tooling-data:aar": 682321444, + "androidx.compose.ui:ui-tooling-data:jar:sources": 1692905915, + "androidx.compose.ui:ui-tooling-preview-android:aar": -726337347, + "androidx.compose.ui:ui-tooling-preview-android:jar:sources": -953688505, + "androidx.compose.ui:ui-tooling-preview:aar": 1365754591, + "androidx.compose.ui:ui-tooling-preview:jar:sources": 145146220, + "androidx.compose.ui:ui-tooling:aar": -1983782209, + "androidx.compose.ui:ui-tooling:jar:sources": 1905915370, + "androidx.compose.ui:ui-unit-android:aar": -799541728, + "androidx.compose.ui:ui-unit-android:jar:sources": 713916447, + "androidx.compose.ui:ui-unit:aar": -186331781, + "androidx.compose.ui:ui-unit:jar:sources": 577397862, + "androidx.compose.ui:ui-util-android:aar": -58539124, + "androidx.compose.ui:ui-util-android:jar:sources": -518051419, + "androidx.compose.ui:ui-util:aar": 1886151354, + "androidx.compose.ui:ui-util:jar:sources": -1580730524, + "androidx.compose.ui:ui:aar": -2139134797, + "androidx.compose.ui:ui:jar:sources": -1962536029, + "androidx.concurrent:concurrent-futures": 742403707, + "androidx.concurrent:concurrent-futures:jar:sources": 1178492667, + "androidx.core:core-ktx:aar": -510036208, + "androidx.core:core-ktx:jar:sources": 1330134429, + "androidx.core:core:aar": -532301889, + "androidx.core:core:jar:sources": 704665956, + "androidx.cursoradapter:cursoradapter:aar": 1380949397, + "androidx.cursoradapter:cursoradapter:jar:sources": -1855321746, + "androidx.customview:customview-poolingcontainer:aar": -1668264317, + "androidx.customview:customview-poolingcontainer:jar:sources": -1777421477, + "androidx.customview:customview:aar": 28467849, + "androidx.customview:customview:jar:sources": 454043118, + "androidx.drawerlayout:drawerlayout:aar": 104620743, + "androidx.drawerlayout:drawerlayout:jar:sources": 1881700530, + "androidx.emoji2:emoji2-views-helper:aar": 984223434, + "androidx.emoji2:emoji2-views-helper:jar:sources": -2051438799, + "androidx.emoji2:emoji2:aar": 711593840, + "androidx.emoji2:emoji2:jar:sources": 1972911110, + "androidx.fragment:fragment:aar": -514148013, + "androidx.fragment:fragment:jar:sources": -1354051664, + "androidx.graphics:graphics-path:aar": 1239590785, + "androidx.graphics:graphics-path:jar:sources": -850261631, + "androidx.interpolator:interpolator:aar": -235167291, + "androidx.interpolator:interpolator:jar:sources": 1174213759, + "androidx.lifecycle:lifecycle-common": -134376191, + "androidx.lifecycle:lifecycle-common-java8": -1974809110, + "androidx.lifecycle:lifecycle-common-java8:jar:sources": -1755755230, + "androidx.lifecycle:lifecycle-common:jar:sources": 143995785, + "androidx.lifecycle:lifecycle-livedata-core:aar": 1768116599, + "androidx.lifecycle:lifecycle-livedata-core:jar:sources": 641020650, + "androidx.lifecycle:lifecycle-livedata:aar": -1984539664, + "androidx.lifecycle:lifecycle-livedata:jar:sources": -226265335, + "androidx.lifecycle:lifecycle-process:aar": -113860224, + "androidx.lifecycle:lifecycle-process:jar:sources": -258356622, + "androidx.lifecycle:lifecycle-runtime-compose-android:aar": -11815566, + "androidx.lifecycle:lifecycle-runtime-compose-android:jar:sources": -404827917, + "androidx.lifecycle:lifecycle-runtime-ktx-android:aar": -1907051754, + "androidx.lifecycle:lifecycle-runtime-ktx-android:jar:sources": -1835320597, + "androidx.lifecycle:lifecycle-runtime-ktx:aar": 2049771902, + "androidx.lifecycle:lifecycle-runtime-ktx:jar:sources": -1835320597, + "androidx.lifecycle:lifecycle-runtime:aar": -655021751, + "androidx.lifecycle:lifecycle-runtime:jar:sources": 1725163238, + "androidx.lifecycle:lifecycle-viewmodel-ktx:aar": -1382290691, + "androidx.lifecycle:lifecycle-viewmodel-ktx:jar:sources": 2144631604, + "androidx.lifecycle:lifecycle-viewmodel-savedstate:aar": -1814617229, + "androidx.lifecycle:lifecycle-viewmodel-savedstate:jar:sources": -1219338927, + "androidx.lifecycle:lifecycle-viewmodel:aar": -202698929, + "androidx.lifecycle:lifecycle-viewmodel:jar:sources": -490887204, + "androidx.loader:loader:aar": 993059720, + "androidx.loader:loader:jar:sources": -723045957, + "androidx.profileinstaller:profileinstaller:aar": 2018382852, + "androidx.profileinstaller:profileinstaller:jar:sources": -620135848, + "androidx.resourceinspection:resourceinspection-annotation": -538858918, + "androidx.resourceinspection:resourceinspection-annotation:jar:sources": 1604252316, + "androidx.savedstate:savedstate-ktx:aar": 1964964017, + "androidx.savedstate:savedstate-ktx:jar:sources": 1732290807, + "androidx.savedstate:savedstate:aar": -74154792, + "androidx.savedstate:savedstate:jar:sources": -246449548, + "androidx.startup:startup-runtime:aar": -1070694773, + "androidx.startup:startup-runtime:jar:sources": -69369471, + "androidx.tracing:tracing:aar": 540370564, + "androidx.tracing:tracing:jar:sources": -138360050, + "androidx.vectordrawable:vectordrawable-animated:aar": -895174299, + "androidx.vectordrawable:vectordrawable-animated:jar:sources": -886259661, + "androidx.vectordrawable:vectordrawable:aar": -1943199575, + "androidx.vectordrawable:vectordrawable:jar:sources": -1338953625, + "androidx.versionedparcelable:versionedparcelable:aar": 1522654808, + "androidx.versionedparcelable:versionedparcelable:jar:sources": -76428622, + "androidx.viewpager:viewpager:aar": 1867097197, + "androidx.viewpager:viewpager:jar:sources": -1999416519, + "com.google.guava:listenablefuture": -1728764445, + "com.google.guava:listenablefuture:jar:sources": 428207214, + "org.jetbrains.kotlin:kotlin-compose-compiler-plugin-embeddable": -1344945484, + "org.jetbrains.kotlin:kotlin-compose-compiler-plugin-embeddable:jar:sources": -1110063901, + "org.jetbrains.kotlin:kotlin-stdlib": 1646588665, + "org.jetbrains.kotlin:kotlin-stdlib-common": 2031482529, + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources": -50887075, + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources": -1968604659, + "org.jetbrains.kotlinx:kotlinx-coroutines-android": 548436138, + "org.jetbrains.kotlinx:kotlinx-coroutines-android:jar:sources": -1807764863, + "org.jetbrains.kotlinx:kotlinx-coroutines-core": -488538181, + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": 1403268616, + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:jar:sources": 1574438540, + "org.jetbrains.kotlinx:kotlinx-coroutines-core:jar:sources": 1163499388, + "org.jetbrains:annotations": 554168982, + "org.jetbrains:annotations:jar:sources": 1226441379 + }, "artifacts": { "androidx.activity:activity": { "shasums": { @@ -1983,5 +2179,5 @@ } }, "skipped": [], - "version": "2" + "version": "3" } From fb6b9653bbbd26044eb8f55b95e7371018d24ed9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20G=C5=82uszak?= Date: Mon, 9 Feb 2026 15:22:59 +0100 Subject: [PATCH 4/8] examples(jvm): add module defs and lockfiles for non-Android samples Migrate the remaining JVM-focused examples to the new module/locking shape by adding MODULE.bazel definitions where needed, bumping rules_jvm_external usage, and adding per-example maven_install lockfiles. --- examples/associates/MODULE.bazel | 24 + examples/associates/maven_install.json | 79 ++ examples/ksp/MODULE.bazel | 3 +- examples/ksp/maven_install.json | 994 +++++++++++++++++++++++++ examples/multiplex/MODULE.bazel | 3 +- examples/multiplex/maven_install.json | 164 ++++ examples/plugin/MODULE.bazel | 28 + examples/plugin/maven_install.json | 164 ++++ examples/trivial/MODULE.bazel | 8 +- examples/trivial/maven_install.json | 783 +++++++++++++++++++ 10 files changed, 2247 insertions(+), 3 deletions(-) create mode 100644 examples/associates/MODULE.bazel create mode 100644 examples/associates/maven_install.json create mode 100644 examples/ksp/maven_install.json create mode 100644 examples/multiplex/maven_install.json create mode 100644 examples/plugin/MODULE.bazel create mode 100644 examples/plugin/maven_install.json create mode 100644 examples/trivial/maven_install.json diff --git a/examples/associates/MODULE.bazel b/examples/associates/MODULE.bazel new file mode 100644 index 000000000..9e26d08d9 --- /dev/null +++ b/examples/associates/MODULE.bazel @@ -0,0 +1,24 @@ +module(name = "associates-example") + +bazel_dep(name = "bazel_skylib", version = "1.7.1") +bazel_dep(name = "rules_java", version = "8.9.0") +bazel_dep(name = "rules_kotlin", version = "2.2.0") +local_path_override( + module_name = "rules_kotlin", + path = "../..", +) + +bazel_dep(name = "rules_jvm_external", version = "6.10") + +maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") +maven.install( + name = "maven_rules_kotlin_example", + artifacts = [ + "junit:junit:4.13", + ], + lock_file = "//:maven_install.json", + repositories = [ + "https://repo1.maven.org/maven2", + ], +) +use_repo(maven, "maven_rules_kotlin_example") diff --git a/examples/associates/maven_install.json b/examples/associates/maven_install.json new file mode 100644 index 000000000..7150e0402 --- /dev/null +++ b/examples/associates/maven_install.json @@ -0,0 +1,79 @@ +{ + "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", + "__INPUT_ARTIFACTS_HASH": { + "junit:junit": 41631604, + "repositories": -1949687017 + }, + "__RESOLVED_ARTIFACTS_HASH": { + "junit:junit": 2076217332, + "org.hamcrest:hamcrest-core": 649657847 + }, + "artifacts": { + "junit:junit": { + "shasums": { + "jar": "4b8532f63bdc0e0661507f947eb324a954d1dbac631ad19c8aa9a00feed1d863" + }, + "version": "4.13" + }, + "org.hamcrest:hamcrest-core": { + "shasums": { + "jar": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9" + }, + "version": "1.3" + } + }, + "dependencies": { + "junit:junit": [ + "org.hamcrest:hamcrest-core" + ] + }, + "packages": { + "junit:junit": [ + "junit.extensions", + "junit.framework", + "junit.runner", + "junit.textui", + "org.junit", + "org.junit.experimental", + "org.junit.experimental.categories", + "org.junit.experimental.max", + "org.junit.experimental.results", + "org.junit.experimental.runners", + "org.junit.experimental.theories", + "org.junit.experimental.theories.internal", + "org.junit.experimental.theories.suppliers", + "org.junit.function", + "org.junit.internal", + "org.junit.internal.builders", + "org.junit.internal.management", + "org.junit.internal.matchers", + "org.junit.internal.requests", + "org.junit.internal.runners", + "org.junit.internal.runners.model", + "org.junit.internal.runners.rules", + "org.junit.internal.runners.statements", + "org.junit.matchers", + "org.junit.rules", + "org.junit.runner", + "org.junit.runner.manipulation", + "org.junit.runner.notification", + "org.junit.runners", + "org.junit.runners.model", + "org.junit.runners.parameterized", + "org.junit.validator" + ], + "org.hamcrest:hamcrest-core": [ + "org.hamcrest", + "org.hamcrest.core", + "org.hamcrest.internal" + ] + }, + "repositories": { + "https://repo1.maven.org/maven2/": [ + "junit:junit", + "org.hamcrest:hamcrest-core" + ] + }, + "services": {}, + "version": "3" +} diff --git a/examples/ksp/MODULE.bazel b/examples/ksp/MODULE.bazel index 4a0c50894..e9230527e 100644 --- a/examples/ksp/MODULE.bazel +++ b/examples/ksp/MODULE.bazel @@ -8,7 +8,7 @@ local_path_override( path = "../..", ) -bazel_dep(name = "rules_jvm_external", version = "6.6") +bazel_dep(name = "rules_jvm_external", version = "6.10") maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") maven.install( @@ -26,6 +26,7 @@ maven.install( "dev.zacsweers.autoservice:auto-service-ksp:jar:1.2.0", "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2", ], + lock_file = "//:maven_install.json", repositories = [ "https://maven.google.com", "https://repo1.maven.org/maven2", diff --git a/examples/ksp/maven_install.json b/examples/ksp/maven_install.json new file mode 100644 index 000000000..74e5d2d56 --- /dev/null +++ b/examples/ksp/maven_install.json @@ -0,0 +1,994 @@ +{ + "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", + "__INPUT_ARTIFACTS_HASH": { + "com.google.auto.service:auto-service-annotations": 631615408, + "com.google.auto.value:auto-value": -661233359, + "com.google.auto.value:auto-value-annotations": 1386235898, + "com.google.dagger:dagger": 1304516772, + "com.google.dagger:dagger-compiler": 1028126946, + "com.google.dagger:dagger-producers": -860209456, + "com.squareup.moshi:moshi": 623265116, + "com.squareup.moshi:moshi-kotlin": -1806344484, + "com.squareup.moshi:moshi-kotlin-codegen": 2002404690, + "dev.zacsweers.autoservice:auto-service-ksp": 34153974, + "org.jetbrains.kotlinx:kotlinx-coroutines-core": 1254427323, + "repositories": 1670674627 + }, + "__RESOLVED_ARTIFACTS_HASH": { + "com.google.auto.service:auto-service-annotations": 262983930, + "com.google.auto.value:auto-value": -1504415167, + "com.google.auto.value:auto-value-annotations": 641752776, + "com.google.code.findbugs:jsr305": 870839855, + "com.google.dagger:dagger": 875179613, + "com.google.dagger:dagger-compiler": 1767805218, + "com.google.dagger:dagger-producers": -1664820965, + "com.google.dagger:dagger-spi": 1608863489, + "com.google.devtools.ksp:symbol-processing-api": 596274367, + "com.google.errorprone:error_prone_annotations": -140447182, + "com.google.errorprone:javac-shaded": 1621944613, + "com.google.googlejavaformat:google-java-format": 395640802, + "com.google.guava:failureaccess": -718864417, + "com.google.guava:guava": -1228437618, + "com.google.guava:listenablefuture": 1079558157, + "com.google.j2objc:j2objc-annotations": -404209759, + "com.squareup.moshi:moshi": 575896037, + "com.squareup.moshi:moshi-kotlin": -1697535178, + "com.squareup.moshi:moshi-kotlin-codegen": 886628729, + "com.squareup.okio:okio-jvm": 1652953145, + "com.squareup:javapoet": -2135371934, + "com.squareup:kotlinpoet": 1753814800, + "com.squareup:kotlinpoet-jvm": -1597587657, + "com.squareup:kotlinpoet-ksp": -766502475, + "dev.zacsweers.autoservice:auto-service-ksp": 897604064, + "jakarta.inject:jakarta.inject-api": 188991469, + "javax.inject:javax.inject": 698155243, + "net.ltgt.gradle.incap:incap": 641640589, + "org.checkerframework:checker-compat-qual": -1467964223, + "org.checkerframework:checker-qual": -778702181, + "org.jetbrains.kotlin:kotlin-metadata-jvm": -1553427069, + "org.jetbrains.kotlin:kotlin-reflect": -21294467, + "org.jetbrains.kotlin:kotlin-stdlib": -596863732, + "org.jetbrains.kotlin:kotlin-stdlib-common": -1695006459, + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": -883831815, + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": 988683174, + "org.jetbrains.kotlinx:kotlinx-coroutines-core": -2101682300, + "org.jetbrains:annotations": 554168982, + "org.jspecify:jspecify": 117231129, + "org.ow2.asm:asm": 2054068535 + }, + "artifacts": { + "com.google.auto.service:auto-service-annotations": { + "shasums": { + "jar": "16a76dd00a2650568447f5d6e3a9e2c809d9a42367d56b45215cfb89731f4d24" + }, + "version": "1.1.1" + }, + "com.google.auto.value:auto-value": { + "shasums": { + "jar": "0c556370ca3d072ba7dec6b37751ccad0e4804b6f3390cc9acb800d821dd9c0a" + }, + "version": "1.11.1" + }, + "com.google.auto.value:auto-value-annotations": { + "shasums": { + "jar": "6c61a11420a5cddf3313888e9d335d5eedfbeb9a8da26591470fbfe61f5bf859" + }, + "version": "1.11.1" + }, + "com.google.code.findbugs:jsr305": { + "shasums": { + "jar": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7" + }, + "version": "3.0.2" + }, + "com.google.dagger:dagger": { + "shasums": { + "jar": "f0becd6b5e98d56e6ec43f52de3288e1c560847cb81ec170ae44a1c02c0600f0" + }, + "version": "2.57.2" + }, + "com.google.dagger:dagger-compiler": { + "shasums": { + "jar": "80712a62e4c1ba6a81e193bd29778b059950b6c2d81378b9cdf39b524226f9bc" + }, + "version": "2.57.2" + }, + "com.google.dagger:dagger-producers": { + "shasums": { + "jar": "85fb9577780f7cfa6b5dc847372efda62670d603ea8c35accc02ad46d0021230" + }, + "version": "2.57.2" + }, + "com.google.dagger:dagger-spi": { + "shasums": { + "jar": "ce2779a7c287ee33b1bbd198f5e0de8cc26ba268f607061eafdb068b720494ac" + }, + "version": "2.57.2" + }, + "com.google.devtools.ksp:symbol-processing-api": { + "shasums": { + "jar": "588d17c4ea982b11028c2c82cb1d7300d269023a8068009f9ae9fb2c9c20c6d9" + }, + "version": "2.1.21-2.0.2" + }, + "com.google.errorprone:error_prone_annotations": { + "shasums": { + "jar": "de25f2d9a2156529bd765f51d8efdfc0dfa7301e04efb9cc75b7f10cf5d0e0fb" + }, + "version": "2.26.1" + }, + "com.google.errorprone:javac-shaded": { + "shasums": { + "jar": "65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30" + }, + "version": "9-dev-r4023-3" + }, + "com.google.googlejavaformat:google-java-format": { + "shasums": { + "jar": "aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e" + }, + "version": "1.5" + }, + "com.google.guava:failureaccess": { + "shasums": { + "jar": "8a8f81cf9b359e3f6dfa691a1e776985c061ef2f223c9b2c80753e1b458e8064" + }, + "version": "1.0.2" + }, + "com.google.guava:guava": { + "shasums": { + "jar": "452b2d9787b7d366fa8cf5ed9a1c40404542d05effa7a598da03bbbbb76d9f31" + }, + "version": "33.2.1-jre" + }, + "com.google.guava:listenablefuture": { + "shasums": { + "jar": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99" + }, + "version": "9999.0-empty-to-avoid-conflict-with-guava" + }, + "com.google.j2objc:j2objc-annotations": { + "shasums": { + "jar": "88241573467ddca44ffd4d74aa04c2bbfd11bf7c17e0c342c94c9de7a70a7c64" + }, + "version": "3.0.0" + }, + "com.squareup.moshi:moshi": { + "shasums": { + "jar": "767f7592c6c61eb693549a26d333c121f5383826bd287b899867aa326dae55e4" + }, + "version": "1.15.2" + }, + "com.squareup.moshi:moshi-kotlin": { + "shasums": { + "jar": "5c39cd77e83b111af9c54708173af96a89fd3b09d15019a11da355e83e97d75a" + }, + "version": "1.15.2" + }, + "com.squareup.moshi:moshi-kotlin-codegen": { + "shasums": { + "jar": "949ce943e0ee135bd41ba4abf08b3a1608d4378671de12388690b5432b4e8a3b" + }, + "version": "1.15.2" + }, + "com.squareup.okio:okio-jvm": { + "shasums": { + "jar": "d8b35adc28768f43ae5afe6a7d1aa2a878ba51e0b96a4f308811f3b1f5b13e55" + }, + "version": "3.7.0" + }, + "com.squareup:javapoet": { + "shasums": { + "jar": "4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291" + }, + "version": "1.13.0" + }, + "com.squareup:kotlinpoet": { + "shasums": { + "jar": "7cbf7f4330170f9459d15c105fae6e13784cb37855fd68cf2826dfa0b5deb676" + }, + "version": "1.13.2" + }, + "com.squareup:kotlinpoet-jvm": { + "shasums": { + "jar": "3133d4f48ce77766a6a8cc2e555d89164dfcefbd372f4ff43f89a7fed3586910" + }, + "version": "1.17.0" + }, + "com.squareup:kotlinpoet-ksp": { + "shasums": { + "jar": "d1de5e3d6f7405dc10cb14a43f39400ba75604e1cf86da1fe08e9007a8a17d08" + }, + "version": "1.13.2" + }, + "dev.zacsweers.autoservice:auto-service-ksp": { + "shasums": { + "jar": "a04288925f424eb3b9542bb0b5c81c2f49dc8859894aef83749a7e75968c2b8e" + }, + "version": "1.2.0" + }, + "jakarta.inject:jakarta.inject-api": { + "shasums": { + "jar": "f7dc98062fccf14126abb751b64fab12c312566e8cbdc8483598bffcea93af7c" + }, + "version": "2.0.1" + }, + "javax.inject:javax.inject": { + "shasums": { + "jar": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff" + }, + "version": "1" + }, + "net.ltgt.gradle.incap:incap": { + "shasums": { + "jar": "b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd" + }, + "version": "0.2" + }, + "org.checkerframework:checker-compat-qual": { + "shasums": { + "jar": "d76b9afea61c7c082908023f0cbc1427fab9abd2df915c8b8a3e7a509bccbc6d" + }, + "version": "2.5.3" + }, + "org.checkerframework:checker-qual": { + "shasums": { + "jar": "ccaedd33af0b7894d9f2f3b644f4d19e43928e32902e61ac4d10777830f5aac7" + }, + "version": "3.42.0" + }, + "org.jetbrains.kotlin:kotlin-metadata-jvm": { + "shasums": { + "jar": "5da27249dd65a3218af2826a30804380a5c02c09f063ce7a0258736388783fc4" + }, + "version": "2.1.21" + }, + "org.jetbrains.kotlin:kotlin-reflect": { + "shasums": { + "jar": "a65166445bb85ef816cde127279fe0017d2b7cc439b3b972390e1b736d64e94c" + }, + "version": "1.9.24" + }, + "org.jetbrains.kotlin:kotlin-stdlib": { + "shasums": { + "jar": "263bdc679e1f62012db7b091796279b6d71cf36f4797a98ff1ace05835f201c8" + }, + "version": "2.1.21" + }, + "org.jetbrains.kotlin:kotlin-stdlib-common": { + "shasums": { + "jar": "8601e004d74d4be5e871f6c43a730b482ce4dff45082b08924d5d69d33c9f7d1" + }, + "version": "1.4.0" + }, + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": { + "shasums": { + "jar": "33d148db0e11debd0d90677d28242bced907f9c77730000fd597867089039d86" + }, + "version": "1.8.21" + }, + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": { + "shasums": { + "jar": "3db752a30074f06ee6c57984aa6f27da44f4d2bbc7f5442651f6988f1cb2b7d7" + }, + "version": "1.8.21" + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-core": { + "shasums": { + "jar": "4cd24a06b2a253110d8afd250e9eec6c6faafea6463d740824743d637e761f12" + }, + "version": "1.4.2" + }, + "org.jetbrains:annotations": { + "shasums": { + "jar": "ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478" + }, + "version": "13.0" + }, + "org.jspecify:jspecify": { + "shasums": { + "jar": "1fad6e6be7557781e4d33729d49ae1cdc8fdda6fe477bb0cc68ce351eafdfbab" + }, + "version": "1.0.0" + }, + "org.ow2.asm:asm": { + "shasums": { + "jar": "1263369b59e29c943918de11d6d6152e2ec6085ce63e5710516f8c67d368e4bc" + }, + "version": "9.3" + } + }, + "dependencies": { + "com.google.dagger:dagger": [ + "jakarta.inject:jakarta.inject-api", + "javax.inject:javax.inject", + "org.jspecify:jspecify" + ], + "com.google.dagger:dagger-compiler": [ + "com.google.code.findbugs:jsr305", + "com.google.dagger:dagger", + "com.google.dagger:dagger-spi", + "com.google.devtools.ksp:symbol-processing-api", + "com.google.googlejavaformat:google-java-format", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.squareup:javapoet", + "com.squareup:kotlinpoet", + "javax.inject:javax.inject", + "net.ltgt.gradle.incap:incap", + "org.checkerframework:checker-compat-qual", + "org.jetbrains.kotlin:kotlin-metadata-jvm", + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "com.google.dagger:dagger-producers": [ + "com.google.dagger:dagger", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "javax.inject:javax.inject", + "org.checkerframework:checker-compat-qual" + ], + "com.google.dagger:dagger-spi": [ + "com.google.code.findbugs:jsr305", + "com.google.dagger:dagger", + "com.google.devtools.ksp:symbol-processing-api", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.squareup:javapoet", + "javax.inject:javax.inject" + ], + "com.google.devtools.ksp:symbol-processing-api": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "com.google.googlejavaformat:google-java-format": [ + "com.google.errorprone:javac-shaded", + "com.google.guava:guava" + ], + "com.google.guava:guava": [ + "com.google.code.findbugs:jsr305", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:failureaccess", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "org.checkerframework:checker-qual" + ], + "com.squareup.moshi:moshi": [ + "com.squareup.okio:okio-jvm", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + ], + "com.squareup.moshi:moshi-kotlin": [ + "com.squareup.moshi:moshi", + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + ], + "com.squareup.moshi:moshi-kotlin-codegen": [ + "com.google.auto.service:auto-service-annotations", + "com.google.guava:guava", + "com.squareup.moshi:moshi", + "com.squareup:kotlinpoet", + "com.squareup:kotlinpoet-ksp", + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8", + "org.ow2.asm:asm" + ], + "com.squareup.okio:okio-jvm": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "com.squareup:kotlinpoet": [ + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + ], + "com.squareup:kotlinpoet-jvm": [ + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "com.squareup:kotlinpoet-ksp": [ + "com.squareup:kotlinpoet", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + ], + "dev.zacsweers.autoservice:auto-service-ksp": [ + "com.google.auto.service:auto-service-annotations", + "com.google.guava:guava", + "com.squareup:kotlinpoet-jvm", + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.jetbrains.kotlin:kotlin-metadata-jvm": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.jetbrains.kotlin:kotlin-reflect": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "org.jetbrains:annotations" + ], + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": [ + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-core": [ + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-common" + ] + }, + "packages": { + "com.google.auto.service:auto-service-annotations": [ + "com.google.auto.service" + ], + "com.google.auto.value:auto-value": [ + "autovalue.shaded.com.google.auto.common", + "autovalue.shaded.com.google.auto.service", + "autovalue.shaded.com.google.common.annotations", + "autovalue.shaded.com.google.common.base", + "autovalue.shaded.com.google.common.cache", + "autovalue.shaded.com.google.common.collect", + "autovalue.shaded.com.google.common.escape", + "autovalue.shaded.com.google.common.eventbus", + "autovalue.shaded.com.google.common.graph", + "autovalue.shaded.com.google.common.hash", + "autovalue.shaded.com.google.common.html", + "autovalue.shaded.com.google.common.io", + "autovalue.shaded.com.google.common.math", + "autovalue.shaded.com.google.common.net", + "autovalue.shaded.com.google.common.primitives", + "autovalue.shaded.com.google.common.reflect", + "autovalue.shaded.com.google.common.util.concurrent", + "autovalue.shaded.com.google.common.xml", + "autovalue.shaded.com.google.errorprone.annotations", + "autovalue.shaded.com.google.errorprone.annotations.concurrent", + "autovalue.shaded.com.google.escapevelocity", + "autovalue.shaded.com.google.j2objc.annotations", + "autovalue.shaded.com.squareup.javapoet", + "autovalue.shaded.net.ltgt.gradle.incap", + "autovalue.shaded.org.jspecify.annotations", + "autovalue.shaded.org.objectweb.asm", + "com.google.auto.value.extension", + "com.google.auto.value.extension.memoized.processor", + "com.google.auto.value.extension.serializable.processor", + "com.google.auto.value.extension.serializable.serializer", + "com.google.auto.value.extension.serializable.serializer.impl", + "com.google.auto.value.extension.serializable.serializer.interfaces", + "com.google.auto.value.extension.serializable.serializer.runtime", + "com.google.auto.value.extension.toprettystring.processor", + "com.google.auto.value.processor" + ], + "com.google.auto.value:auto-value-annotations": [ + "com.google.auto.value", + "com.google.auto.value.extension.memoized", + "com.google.auto.value.extension.serializable", + "com.google.auto.value.extension.toprettystring" + ], + "com.google.code.findbugs:jsr305": [ + "javax.annotation", + "javax.annotation.concurrent", + "javax.annotation.meta" + ], + "com.google.dagger:dagger": [ + "dagger", + "dagger.assisted", + "dagger.internal", + "dagger.multibindings" + ], + "com.google.dagger:dagger-compiler": [ + "dagger.internal.codegen", + "dagger.internal.codegen.base", + "dagger.internal.codegen.binding", + "dagger.internal.codegen.bindinggraphvalidation", + "dagger.internal.codegen.compileroption", + "dagger.internal.codegen.componentgenerator", + "dagger.internal.codegen.kotlin", + "dagger.internal.codegen.model", + "dagger.internal.codegen.processingstep", + "dagger.internal.codegen.validation", + "dagger.internal.codegen.writing", + "dagger.internal.codegen.xprocessing", + "dagger.spi.internal.shaded.androidx.room.compiler.codegen", + "dagger.spi.internal.shaded.androidx.room.compiler.codegen.compat", + "dagger.spi.internal.shaded.androidx.room.compiler.codegen.impl", + "dagger.spi.internal.shaded.androidx.room.compiler.codegen.java", + "dagger.spi.internal.shaded.androidx.room.compiler.codegen.kotlin", + "dagger.spi.internal.shaded.androidx.room.compiler.processing", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.compat", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.javac", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.javac.kotlin", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.ksp", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.ksp.synthetic", + "dagger.spi.internal.shaded.androidx.room.compiler.processing.util" + ], + "com.google.dagger:dagger-producers": [ + "dagger.producers", + "dagger.producers.internal", + "dagger.producers.monitoring", + "dagger.producers.monitoring.internal" + ], + "com.google.dagger:dagger-spi": [ + "dagger.internal.codegen.extension", + "dagger.model", + "dagger.spi", + "dagger.spi.internal.shaded.com.google.auto.common", + "dagger.spi.internal.shaded.com.squareup.kotlinpoet.javapoet", + "dagger.spi.model" + ], + "com.google.devtools.ksp:symbol-processing-api": [ + "com.google.devtools.ksp", + "com.google.devtools.ksp.processing", + "com.google.devtools.ksp.symbol", + "com.google.devtools.ksp.visitor" + ], + "com.google.errorprone:error_prone_annotations": [ + "com.google.errorprone.annotations", + "com.google.errorprone.annotations.concurrent" + ], + "com.google.errorprone:javac-shaded": [ + "org.openjdk.javax.annotation.processing", + "org.openjdk.javax.lang.model", + "org.openjdk.javax.lang.model.element", + "org.openjdk.javax.lang.model.type", + "org.openjdk.javax.lang.model.util", + "org.openjdk.javax.tools", + "org.openjdk.source.doctree", + "org.openjdk.source.tree", + "org.openjdk.source.util", + "org.openjdk.tools.doclint", + "org.openjdk.tools.doclint.resources", + "org.openjdk.tools.javac", + "org.openjdk.tools.javac.api", + "org.openjdk.tools.javac.code", + "org.openjdk.tools.javac.comp", + "org.openjdk.tools.javac.file", + "org.openjdk.tools.javac.jvm", + "org.openjdk.tools.javac.main", + "org.openjdk.tools.javac.model", + "org.openjdk.tools.javac.parser", + "org.openjdk.tools.javac.platform", + "org.openjdk.tools.javac.processing", + "org.openjdk.tools.javac.resources", + "org.openjdk.tools.javac.tree", + "org.openjdk.tools.javac.util", + "org.openjdk.tools.javah", + "org.openjdk.tools.javah.resources", + "org.openjdk.tools.sjavac", + "org.openjdk.tools.sjavac.client", + "org.openjdk.tools.sjavac.comp", + "org.openjdk.tools.sjavac.comp.dependencies", + "org.openjdk.tools.sjavac.options", + "org.openjdk.tools.sjavac.pubapi", + "org.openjdk.tools.sjavac.server", + "org.openjdk.tools.sjavac.server.log" + ], + "com.google.googlejavaformat:google-java-format": [ + "com.google.googlejavaformat", + "com.google.googlejavaformat.java", + "com.google.googlejavaformat.java.filer", + "com.google.googlejavaformat.java.javadoc" + ], + "com.google.guava:failureaccess": [ + "com.google.common.util.concurrent.internal" + ], + "com.google.guava:guava": [ + "com.google.common.annotations", + "com.google.common.base", + "com.google.common.base.internal", + "com.google.common.cache", + "com.google.common.collect", + "com.google.common.escape", + "com.google.common.eventbus", + "com.google.common.graph", + "com.google.common.hash", + "com.google.common.html", + "com.google.common.io", + "com.google.common.math", + "com.google.common.net", + "com.google.common.primitives", + "com.google.common.reflect", + "com.google.common.util.concurrent", + "com.google.common.xml", + "com.google.thirdparty.publicsuffix" + ], + "com.google.j2objc:j2objc-annotations": [ + "com.google.j2objc.annotations" + ], + "com.squareup.moshi:moshi": [ + "com.squareup.moshi", + "com.squareup.moshi.internal" + ], + "com.squareup.moshi:moshi-kotlin": [ + "com.squareup.moshi", + "com.squareup.moshi.kotlin.reflect" + ], + "com.squareup.moshi:moshi-kotlin-codegen": [ + "com.squareup.moshi.kotlin.codegen.api", + "com.squareup.moshi.kotlin.codegen.apt", + "com.squareup.moshi.kotlin.codegen.ksp", + "com.squareup.moshi.kotlinpoet.metadata", + "com.squareup.moshi.kotlinpoet.metadata.classinspectors", + "com.squareup.moshi.kotlinpoet.metadata.specs", + "com.squareup.moshi.kotlinx.metadata", + "com.squareup.moshi.kotlinx.metadata.internal", + "com.squareup.moshi.kotlinx.metadata.internal.common", + "com.squareup.moshi.kotlinx.metadata.internal.extensions", + "com.squareup.moshi.kotlinx.metadata.internal.metadata", + "com.squareup.moshi.kotlinx.metadata.internal.metadata.builtins", + "com.squareup.moshi.kotlinx.metadata.internal.metadata.deserialization", + "com.squareup.moshi.kotlinx.metadata.internal.metadata.jvm", + "com.squareup.moshi.kotlinx.metadata.internal.metadata.jvm.deserialization", + "com.squareup.moshi.kotlinx.metadata.internal.metadata.jvm.serialization", + "com.squareup.moshi.kotlinx.metadata.internal.metadata.serialization", + "com.squareup.moshi.kotlinx.metadata.internal.protobuf", + "com.squareup.moshi.kotlinx.metadata.jvm", + "com.squareup.moshi.kotlinx.metadata.jvm.internal", + "shadow.com.google.auto.common" + ], + "com.squareup.okio:okio-jvm": [ + "okio", + "okio.internal" + ], + "com.squareup:javapoet": [ + "com.squareup.javapoet" + ], + "com.squareup:kotlinpoet": [ + "com.squareup.kotlinpoet", + "com.squareup.kotlinpoet.jvm", + "com.squareup.kotlinpoet.tags" + ], + "com.squareup:kotlinpoet-jvm": [ + "com.squareup.kotlinpoet", + "com.squareup.kotlinpoet.jvm", + "com.squareup.kotlinpoet.tags" + ], + "com.squareup:kotlinpoet-ksp": [ + "com.squareup.kotlinpoet.ksp" + ], + "dev.zacsweers.autoservice:auto-service-ksp": [ + "dev.zacsweers.autoservice.ksp" + ], + "jakarta.inject:jakarta.inject-api": [ + "jakarta.inject" + ], + "javax.inject:javax.inject": [ + "javax.inject" + ], + "net.ltgt.gradle.incap:incap": [ + "net.ltgt.gradle.incap" + ], + "org.checkerframework:checker-compat-qual": [ + "org.checkerframework.checker.nullness.compatqual" + ], + "org.checkerframework:checker-qual": [ + "org.checkerframework.checker.builder.qual", + "org.checkerframework.checker.calledmethods.qual", + "org.checkerframework.checker.compilermsgs.qual", + "org.checkerframework.checker.fenum.qual", + "org.checkerframework.checker.formatter.qual", + "org.checkerframework.checker.guieffect.qual", + "org.checkerframework.checker.i18n.qual", + "org.checkerframework.checker.i18nformatter.qual", + "org.checkerframework.checker.index.qual", + "org.checkerframework.checker.initialization.qual", + "org.checkerframework.checker.interning.qual", + "org.checkerframework.checker.lock.qual", + "org.checkerframework.checker.mustcall.qual", + "org.checkerframework.checker.nullness.qual", + "org.checkerframework.checker.optional.qual", + "org.checkerframework.checker.propkey.qual", + "org.checkerframework.checker.regex.qual", + "org.checkerframework.checker.signature.qual", + "org.checkerframework.checker.signedness.qual", + "org.checkerframework.checker.tainting.qual", + "org.checkerframework.checker.units.qual", + "org.checkerframework.common.aliasing.qual", + "org.checkerframework.common.initializedfields.qual", + "org.checkerframework.common.reflection.qual", + "org.checkerframework.common.returnsreceiver.qual", + "org.checkerframework.common.subtyping.qual", + "org.checkerframework.common.util.count.report.qual", + "org.checkerframework.common.value.qual", + "org.checkerframework.dataflow.qual", + "org.checkerframework.framework.qual" + ], + "org.jetbrains.kotlin:kotlin-metadata-jvm": [ + "kotlin.metadata", + "kotlin.metadata.internal", + "kotlin.metadata.internal.common", + "kotlin.metadata.internal.extensions", + "kotlin.metadata.internal.metadata", + "kotlin.metadata.internal.metadata.builtins", + "kotlin.metadata.internal.metadata.deserialization", + "kotlin.metadata.internal.metadata.jvm", + "kotlin.metadata.internal.metadata.jvm.deserialization", + "kotlin.metadata.internal.metadata.jvm.serialization", + "kotlin.metadata.internal.metadata.serialization", + "kotlin.metadata.internal.protobuf", + "kotlin.metadata.jvm", + "kotlin.metadata.jvm.internal" + ], + "org.jetbrains.kotlin:kotlin-reflect": [ + "kotlin.reflect.full", + "kotlin.reflect.jvm", + "kotlin.reflect.jvm.internal", + "kotlin.reflect.jvm.internal.calls", + "kotlin.reflect.jvm.internal.impl", + "kotlin.reflect.jvm.internal.impl.builtins", + "kotlin.reflect.jvm.internal.impl.builtins.functions", + "kotlin.reflect.jvm.internal.impl.builtins.jvm", + "kotlin.reflect.jvm.internal.impl.descriptors", + "kotlin.reflect.jvm.internal.impl.descriptors.annotations", + "kotlin.reflect.jvm.internal.impl.descriptors.deserialization", + "kotlin.reflect.jvm.internal.impl.descriptors.impl", + "kotlin.reflect.jvm.internal.impl.descriptors.java", + "kotlin.reflect.jvm.internal.impl.descriptors.runtime.components", + "kotlin.reflect.jvm.internal.impl.descriptors.runtime.structure", + "kotlin.reflect.jvm.internal.impl.incremental", + "kotlin.reflect.jvm.internal.impl.incremental.components", + "kotlin.reflect.jvm.internal.impl.load.java", + "kotlin.reflect.jvm.internal.impl.load.java.components", + "kotlin.reflect.jvm.internal.impl.load.java.descriptors", + "kotlin.reflect.jvm.internal.impl.load.java.lazy", + "kotlin.reflect.jvm.internal.impl.load.java.lazy.descriptors", + "kotlin.reflect.jvm.internal.impl.load.java.lazy.types", + "kotlin.reflect.jvm.internal.impl.load.java.sources", + "kotlin.reflect.jvm.internal.impl.load.java.structure", + "kotlin.reflect.jvm.internal.impl.load.java.typeEnhancement", + "kotlin.reflect.jvm.internal.impl.load.kotlin", + "kotlin.reflect.jvm.internal.impl.load.kotlin.header", + "kotlin.reflect.jvm.internal.impl.metadata", + "kotlin.reflect.jvm.internal.impl.metadata.builtins", + "kotlin.reflect.jvm.internal.impl.metadata.deserialization", + "kotlin.reflect.jvm.internal.impl.metadata.jvm", + "kotlin.reflect.jvm.internal.impl.metadata.jvm.deserialization", + "kotlin.reflect.jvm.internal.impl.name", + "kotlin.reflect.jvm.internal.impl.platform", + "kotlin.reflect.jvm.internal.impl.protobuf", + "kotlin.reflect.jvm.internal.impl.renderer", + "kotlin.reflect.jvm.internal.impl.resolve", + "kotlin.reflect.jvm.internal.impl.resolve.calls.inference", + "kotlin.reflect.jvm.internal.impl.resolve.constants", + "kotlin.reflect.jvm.internal.impl.resolve.deprecation", + "kotlin.reflect.jvm.internal.impl.resolve.descriptorUtil", + "kotlin.reflect.jvm.internal.impl.resolve.jvm", + "kotlin.reflect.jvm.internal.impl.resolve.sam", + "kotlin.reflect.jvm.internal.impl.resolve.scopes", + "kotlin.reflect.jvm.internal.impl.resolve.scopes.receivers", + "kotlin.reflect.jvm.internal.impl.serialization", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.builtins", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors", + "kotlin.reflect.jvm.internal.impl.storage", + "kotlin.reflect.jvm.internal.impl.types", + "kotlin.reflect.jvm.internal.impl.types.checker", + "kotlin.reflect.jvm.internal.impl.types.error", + "kotlin.reflect.jvm.internal.impl.types.extensions", + "kotlin.reflect.jvm.internal.impl.types.model", + "kotlin.reflect.jvm.internal.impl.types.typeUtil", + "kotlin.reflect.jvm.internal.impl.types.typesApproximation", + "kotlin.reflect.jvm.internal.impl.util", + "kotlin.reflect.jvm.internal.impl.util.capitalizeDecapitalize", + "kotlin.reflect.jvm.internal.impl.util.collectionUtils", + "kotlin.reflect.jvm.internal.impl.utils", + "kotlin.reflect.jvm.internal.impl.utils.addToStdlib" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "kotlin", + "kotlin.annotation", + "kotlin.collections", + "kotlin.collections.builders", + "kotlin.collections.jdk8", + "kotlin.collections.unsigned", + "kotlin.comparisons", + "kotlin.concurrent", + "kotlin.concurrent.atomics", + "kotlin.concurrent.internal", + "kotlin.contracts", + "kotlin.coroutines", + "kotlin.coroutines.cancellation", + "kotlin.coroutines.intrinsics", + "kotlin.coroutines.jvm.internal", + "kotlin.enums", + "kotlin.experimental", + "kotlin.internal", + "kotlin.internal.jdk7", + "kotlin.internal.jdk8", + "kotlin.io", + "kotlin.io.encoding", + "kotlin.io.path", + "kotlin.jdk7", + "kotlin.js", + "kotlin.jvm", + "kotlin.jvm.functions", + "kotlin.jvm.internal", + "kotlin.jvm.internal.markers", + "kotlin.jvm.internal.unsafe", + "kotlin.jvm.jdk8", + "kotlin.jvm.optionals", + "kotlin.math", + "kotlin.properties", + "kotlin.random", + "kotlin.random.jdk8", + "kotlin.ranges", + "kotlin.reflect", + "kotlin.sequences", + "kotlin.streams.jdk8", + "kotlin.system", + "kotlin.text", + "kotlin.text.jdk8", + "kotlin.time", + "kotlin.time.jdk8", + "kotlin.uuid" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-core": [ + "kotlinx.coroutines", + "kotlinx.coroutines.channels", + "kotlinx.coroutines.debug", + "kotlinx.coroutines.debug.internal", + "kotlinx.coroutines.flow", + "kotlinx.coroutines.flow.internal", + "kotlinx.coroutines.internal", + "kotlinx.coroutines.intrinsics", + "kotlinx.coroutines.scheduling", + "kotlinx.coroutines.selects", + "kotlinx.coroutines.sync", + "kotlinx.coroutines.test" + ], + "org.jetbrains:annotations": [ + "org.intellij.lang.annotations", + "org.jetbrains.annotations" + ], + "org.jspecify:jspecify": [ + "org.jspecify.annotations" + ], + "org.ow2.asm:asm": [ + "org.objectweb.asm", + "org.objectweb.asm.signature" + ] + }, + "repositories": { + "https://maven.google.com/": [ + "com.google.auto.service:auto-service-annotations", + "com.google.auto.value:auto-value", + "com.google.auto.value:auto-value-annotations", + "com.google.code.findbugs:jsr305", + "com.google.dagger:dagger", + "com.google.dagger:dagger-compiler", + "com.google.dagger:dagger-producers", + "com.google.dagger:dagger-spi", + "com.google.devtools.ksp:symbol-processing-api", + "com.google.errorprone:error_prone_annotations", + "com.google.errorprone:javac-shaded", + "com.google.googlejavaformat:google-java-format", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "com.squareup.moshi:moshi", + "com.squareup.moshi:moshi-kotlin", + "com.squareup.moshi:moshi-kotlin-codegen", + "com.squareup.okio:okio-jvm", + "com.squareup:javapoet", + "com.squareup:kotlinpoet", + "com.squareup:kotlinpoet-jvm", + "com.squareup:kotlinpoet-ksp", + "dev.zacsweers.autoservice:auto-service-ksp", + "jakarta.inject:jakarta.inject-api", + "javax.inject:javax.inject", + "net.ltgt.gradle.incap:incap", + "org.checkerframework:checker-compat-qual", + "org.checkerframework:checker-qual", + "org.jetbrains.kotlin:kotlin-metadata-jvm", + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-common", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8", + "org.jetbrains.kotlinx:kotlinx-coroutines-core", + "org.jetbrains:annotations", + "org.jspecify:jspecify", + "org.ow2.asm:asm" + ], + "https://repo1.maven.org/maven2/": [ + "com.google.auto.service:auto-service-annotations", + "com.google.auto.value:auto-value", + "com.google.auto.value:auto-value-annotations", + "com.google.code.findbugs:jsr305", + "com.google.dagger:dagger", + "com.google.dagger:dagger-compiler", + "com.google.dagger:dagger-producers", + "com.google.dagger:dagger-spi", + "com.google.devtools.ksp:symbol-processing-api", + "com.google.errorprone:error_prone_annotations", + "com.google.errorprone:javac-shaded", + "com.google.googlejavaformat:google-java-format", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "com.squareup.moshi:moshi", + "com.squareup.moshi:moshi-kotlin", + "com.squareup.moshi:moshi-kotlin-codegen", + "com.squareup.okio:okio-jvm", + "com.squareup:javapoet", + "com.squareup:kotlinpoet", + "com.squareup:kotlinpoet-jvm", + "com.squareup:kotlinpoet-ksp", + "dev.zacsweers.autoservice:auto-service-ksp", + "jakarta.inject:jakarta.inject-api", + "javax.inject:javax.inject", + "net.ltgt.gradle.incap:incap", + "org.checkerframework:checker-compat-qual", + "org.checkerframework:checker-qual", + "org.jetbrains.kotlin:kotlin-metadata-jvm", + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-common", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8", + "org.jetbrains.kotlinx:kotlinx-coroutines-core", + "org.jetbrains:annotations", + "org.jspecify:jspecify", + "org.ow2.asm:asm" + ] + }, + "services": { + "com.google.auto.value:auto-value": { + "com.google.auto.value.extension.AutoValueExtension": [ + "com.google.auto.value.extension.memoized.processor.MemoizeExtension", + "com.google.auto.value.extension.serializable.processor.SerializableAutoValueExtension", + "com.google.auto.value.extension.toprettystring.processor.ToPrettyStringExtension" + ], + "com.google.auto.value.extension.serializable.serializer.interfaces.SerializerExtension": [ + "com.google.auto.value.extension.serializable.serializer.impl.ImmutableListSerializerExtension", + "com.google.auto.value.extension.serializable.serializer.impl.ImmutableMapSerializerExtension", + "com.google.auto.value.extension.serializable.serializer.impl.OptionalSerializerExtension" + ], + "javax.annotation.processing.Processor": [ + "com.google.auto.value.extension.memoized.processor.MemoizedValidator", + "com.google.auto.value.extension.toprettystring.processor.ToPrettyStringValidator", + "com.google.auto.value.processor.AutoAnnotationProcessor", + "com.google.auto.value.processor.AutoBuilderProcessor", + "com.google.auto.value.processor.AutoOneOfProcessor", + "com.google.auto.value.processor.AutoValueBuilderProcessor", + "com.google.auto.value.processor.AutoValueProcessor" + ] + }, + "com.google.dagger:dagger-compiler": { + "com.google.devtools.ksp.processing.SymbolProcessorProvider": [ + "dagger.internal.codegen.KspComponentProcessor$Provider" + ], + "javax.annotation.processing.Processor": [ + "dagger.internal.codegen.ComponentProcessor" + ] + }, + "com.squareup.moshi:moshi-kotlin-codegen": { + "com.google.devtools.ksp.processing.SymbolProcessorProvider": [ + "com.squareup.moshi.kotlin.codegen.ksp.JsonClassSymbolProcessorProvider" + ], + "com.squareup.moshi.kotlinx.metadata.internal.extensions.MetadataExtensions": [ + "com.squareup.moshi.kotlinx.metadata.jvm.internal.JvmMetadataExtensions" + ], + "javax.annotation.processing.Processor": [ + "com.squareup.moshi.kotlin.codegen.apt.JsonClassCodegenProcessor" + ] + }, + "dev.zacsweers.autoservice:auto-service-ksp": { + "com.google.devtools.ksp.processing.SymbolProcessorProvider": [ + "dev.zacsweers.autoservice.ksp.AutoServiceSymbolProcessor$Provider" + ] + }, + "org.jetbrains.kotlin:kotlin-metadata-jvm": { + "kotlin.metadata.internal.extensions.MetadataExtensions": [ + "kotlin.metadata.jvm.internal.JvmMetadataExtensions" + ] + }, + "org.jetbrains.kotlin:kotlin-reflect": { + "kotlin.reflect.jvm.internal.impl.builtins.BuiltInsLoader": [ + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.builtins.BuiltInsLoaderImpl" + ], + "kotlin.reflect.jvm.internal.impl.resolve.ExternalOverridabilityCondition": [ + "kotlin.reflect.jvm.internal.impl.load.java.ErasedOverridabilityCondition", + "kotlin.reflect.jvm.internal.impl.load.java.FieldOverridabilityCondition", + "kotlin.reflect.jvm.internal.impl.load.java.JavaIncompatibilityRulesOverridabilityCondition" + ] + } + }, + "version": "3" +} diff --git a/examples/multiplex/MODULE.bazel b/examples/multiplex/MODULE.bazel index db4dcaa07..87aa66261 100644 --- a/examples/multiplex/MODULE.bazel +++ b/examples/multiplex/MODULE.bazel @@ -2,7 +2,7 @@ module(name = "multiplex-example") bazel_dep(name = "rules_java", version = "8.9.0") bazel_dep(name = "rules_kotlin", version = "1.9.5") -bazel_dep(name = "rules_jvm_external", version = "6.6") +bazel_dep(name = "rules_jvm_external", version = "6.10") bazel_dep(name = "bazel_features", version = "1.30.0") maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") @@ -12,6 +12,7 @@ maven.install( "junit:junit:4.13.2", "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.0.1", ], + lock_file = "//:maven_install.json", repositories = [ "https://repo1.maven.org/maven2", ], diff --git a/examples/multiplex/maven_install.json b/examples/multiplex/maven_install.json new file mode 100644 index 000000000..0011dcca7 --- /dev/null +++ b/examples/multiplex/maven_install.json @@ -0,0 +1,164 @@ +{ + "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", + "__INPUT_ARTIFACTS_HASH": { + "junit:junit": -744267592, + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm": 968281399, + "repositories": -1949687017 + }, + "__RESOLVED_ARTIFACTS_HASH": { + "junit:junit": -1256429642, + "org.hamcrest:hamcrest-core": 649657847, + "org.jetbrains.kotlin:kotlin-stdlib": -499249615, + "org.jetbrains.kotlin:kotlin-stdlib-common": 710545460, + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm": -1124027529, + "org.jetbrains:annotations": 554168982 + }, + "artifacts": { + "junit:junit": { + "shasums": { + "jar": "8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3" + }, + "version": "4.13.2" + }, + "org.hamcrest:hamcrest-core": { + "shasums": { + "jar": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9" + }, + "version": "1.3" + }, + "org.jetbrains.kotlin:kotlin-stdlib": { + "shasums": { + "jar": "01ecb09782c042b931c1839acf21a188340b295d05400afd6e3415d4475b8daa" + }, + "version": "1.4.10" + }, + "org.jetbrains.kotlin:kotlin-stdlib-common": { + "shasums": { + "jar": "4681f2d436a68c7523595d84ed5758e1382f9da0f67c91e6a848690d711274fe" + }, + "version": "1.4.10" + }, + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm": { + "shasums": { + "jar": "16dd687a3c4b8ac09eb20859da8c80372dca494d321e2c64823848ccd7f23651" + }, + "version": "1.0.1" + }, + "org.jetbrains:annotations": { + "shasums": { + "jar": "ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478" + }, + "version": "13.0" + } + }, + "dependencies": { + "junit:junit": [ + "org.hamcrest:hamcrest-core" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "org.jetbrains.kotlin:kotlin-stdlib-common", + "org.jetbrains:annotations" + ], + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm": [ + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-common" + ] + }, + "packages": { + "junit:junit": [ + "junit.extensions", + "junit.framework", + "junit.runner", + "junit.textui", + "org.junit", + "org.junit.experimental", + "org.junit.experimental.categories", + "org.junit.experimental.max", + "org.junit.experimental.results", + "org.junit.experimental.runners", + "org.junit.experimental.theories", + "org.junit.experimental.theories.internal", + "org.junit.experimental.theories.suppliers", + "org.junit.function", + "org.junit.internal", + "org.junit.internal.builders", + "org.junit.internal.management", + "org.junit.internal.matchers", + "org.junit.internal.requests", + "org.junit.internal.runners", + "org.junit.internal.runners.model", + "org.junit.internal.runners.rules", + "org.junit.internal.runners.statements", + "org.junit.matchers", + "org.junit.rules", + "org.junit.runner", + "org.junit.runner.manipulation", + "org.junit.runner.notification", + "org.junit.runners", + "org.junit.runners.model", + "org.junit.runners.parameterized", + "org.junit.validator" + ], + "org.hamcrest:hamcrest-core": [ + "org.hamcrest", + "org.hamcrest.core", + "org.hamcrest.internal" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "kotlin", + "kotlin.annotation", + "kotlin.collections", + "kotlin.collections.builders", + "kotlin.collections.unsigned", + "kotlin.comparisons", + "kotlin.concurrent", + "kotlin.contracts", + "kotlin.coroutines", + "kotlin.coroutines.cancellation", + "kotlin.coroutines.intrinsics", + "kotlin.coroutines.jvm.internal", + "kotlin.experimental", + "kotlin.internal", + "kotlin.io", + "kotlin.js", + "kotlin.jvm", + "kotlin.jvm.functions", + "kotlin.jvm.internal", + "kotlin.jvm.internal.markers", + "kotlin.jvm.internal.unsafe", + "kotlin.math", + "kotlin.properties", + "kotlin.random", + "kotlin.ranges", + "kotlin.reflect", + "kotlin.sequences", + "kotlin.system", + "kotlin.text", + "kotlin.time" + ], + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm": [ + "kotlinx.serialization", + "kotlinx.serialization.builtins", + "kotlinx.serialization.descriptors", + "kotlinx.serialization.encoding", + "kotlinx.serialization.internal", + "kotlinx.serialization.modules" + ], + "org.jetbrains:annotations": [ + "org.intellij.lang.annotations", + "org.jetbrains.annotations" + ] + }, + "repositories": { + "https://repo1.maven.org/maven2/": [ + "junit:junit", + "org.hamcrest:hamcrest-core", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-common", + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm", + "org.jetbrains:annotations" + ] + }, + "services": {}, + "version": "3" +} diff --git a/examples/plugin/MODULE.bazel b/examples/plugin/MODULE.bazel new file mode 100644 index 000000000..1e1916c47 --- /dev/null +++ b/examples/plugin/MODULE.bazel @@ -0,0 +1,28 @@ +module(name = "plugin-example") + +bazel_dep(name = "rules_android", version = "0.7.0") +bazel_dep(name = "bazel_skylib", version = "1.7.1") +bazel_dep(name = "rules_java", version = "8.9.0") +bazel_dep(name = "rules_kotlin", version = "2.2.0") +bazel_dep(name = "rules_jvm_external", version = "6.10") + +android_sdk_repository_extension = use_extension("@rules_android//rules/android_sdk_repository:rule.bzl", "android_sdk_repository_extension") +use_repo(android_sdk_repository_extension, "androidsdk") + +register_toolchains("@androidsdk//:sdk-toolchain", "@androidsdk//:all") + +maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") +maven.install( + name = "maven_rules_kotlin_example", + aar_import_bzl_label = "@rules_android//rules:rules.bzl", + artifacts = [ + "junit:junit:4.13.2", + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.0.1", + ], + lock_file = "//:maven_install.json", + repositories = [ + "https://repo1.maven.org/maven2", + ], + use_starlark_android_rules = True, +) +use_repo(maven, "maven_rules_kotlin_example") diff --git a/examples/plugin/maven_install.json b/examples/plugin/maven_install.json new file mode 100644 index 000000000..0011dcca7 --- /dev/null +++ b/examples/plugin/maven_install.json @@ -0,0 +1,164 @@ +{ + "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", + "__INPUT_ARTIFACTS_HASH": { + "junit:junit": -744267592, + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm": 968281399, + "repositories": -1949687017 + }, + "__RESOLVED_ARTIFACTS_HASH": { + "junit:junit": -1256429642, + "org.hamcrest:hamcrest-core": 649657847, + "org.jetbrains.kotlin:kotlin-stdlib": -499249615, + "org.jetbrains.kotlin:kotlin-stdlib-common": 710545460, + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm": -1124027529, + "org.jetbrains:annotations": 554168982 + }, + "artifacts": { + "junit:junit": { + "shasums": { + "jar": "8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3" + }, + "version": "4.13.2" + }, + "org.hamcrest:hamcrest-core": { + "shasums": { + "jar": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9" + }, + "version": "1.3" + }, + "org.jetbrains.kotlin:kotlin-stdlib": { + "shasums": { + "jar": "01ecb09782c042b931c1839acf21a188340b295d05400afd6e3415d4475b8daa" + }, + "version": "1.4.10" + }, + "org.jetbrains.kotlin:kotlin-stdlib-common": { + "shasums": { + "jar": "4681f2d436a68c7523595d84ed5758e1382f9da0f67c91e6a848690d711274fe" + }, + "version": "1.4.10" + }, + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm": { + "shasums": { + "jar": "16dd687a3c4b8ac09eb20859da8c80372dca494d321e2c64823848ccd7f23651" + }, + "version": "1.0.1" + }, + "org.jetbrains:annotations": { + "shasums": { + "jar": "ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478" + }, + "version": "13.0" + } + }, + "dependencies": { + "junit:junit": [ + "org.hamcrest:hamcrest-core" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "org.jetbrains.kotlin:kotlin-stdlib-common", + "org.jetbrains:annotations" + ], + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm": [ + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-common" + ] + }, + "packages": { + "junit:junit": [ + "junit.extensions", + "junit.framework", + "junit.runner", + "junit.textui", + "org.junit", + "org.junit.experimental", + "org.junit.experimental.categories", + "org.junit.experimental.max", + "org.junit.experimental.results", + "org.junit.experimental.runners", + "org.junit.experimental.theories", + "org.junit.experimental.theories.internal", + "org.junit.experimental.theories.suppliers", + "org.junit.function", + "org.junit.internal", + "org.junit.internal.builders", + "org.junit.internal.management", + "org.junit.internal.matchers", + "org.junit.internal.requests", + "org.junit.internal.runners", + "org.junit.internal.runners.model", + "org.junit.internal.runners.rules", + "org.junit.internal.runners.statements", + "org.junit.matchers", + "org.junit.rules", + "org.junit.runner", + "org.junit.runner.manipulation", + "org.junit.runner.notification", + "org.junit.runners", + "org.junit.runners.model", + "org.junit.runners.parameterized", + "org.junit.validator" + ], + "org.hamcrest:hamcrest-core": [ + "org.hamcrest", + "org.hamcrest.core", + "org.hamcrest.internal" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "kotlin", + "kotlin.annotation", + "kotlin.collections", + "kotlin.collections.builders", + "kotlin.collections.unsigned", + "kotlin.comparisons", + "kotlin.concurrent", + "kotlin.contracts", + "kotlin.coroutines", + "kotlin.coroutines.cancellation", + "kotlin.coroutines.intrinsics", + "kotlin.coroutines.jvm.internal", + "kotlin.experimental", + "kotlin.internal", + "kotlin.io", + "kotlin.js", + "kotlin.jvm", + "kotlin.jvm.functions", + "kotlin.jvm.internal", + "kotlin.jvm.internal.markers", + "kotlin.jvm.internal.unsafe", + "kotlin.math", + "kotlin.properties", + "kotlin.random", + "kotlin.ranges", + "kotlin.reflect", + "kotlin.sequences", + "kotlin.system", + "kotlin.text", + "kotlin.time" + ], + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm": [ + "kotlinx.serialization", + "kotlinx.serialization.builtins", + "kotlinx.serialization.descriptors", + "kotlinx.serialization.encoding", + "kotlinx.serialization.internal", + "kotlinx.serialization.modules" + ], + "org.jetbrains:annotations": [ + "org.intellij.lang.annotations", + "org.jetbrains.annotations" + ] + }, + "repositories": { + "https://repo1.maven.org/maven2/": [ + "junit:junit", + "org.hamcrest:hamcrest-core", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-common", + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm", + "org.jetbrains:annotations" + ] + }, + "services": {}, + "version": "3" +} diff --git a/examples/trivial/MODULE.bazel b/examples/trivial/MODULE.bazel index 4a140a561..21720c701 100644 --- a/examples/trivial/MODULE.bazel +++ b/examples/trivial/MODULE.bazel @@ -2,7 +2,12 @@ module(name = "trival-example") bazel_dep(name = "rules_java", version = "8.9.0") bazel_dep(name = "rules_kotlin", version = "2.2.0") -bazel_dep(name = "rules_jvm_external", version = "6.6") +local_path_override( + module_name = "rules_kotlin", + path = "../..", +) + +bazel_dep(name = "rules_jvm_external", version = "6.10") bazel_dep(name = "rules_shell", version = "0.4.0") maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") @@ -20,6 +25,7 @@ maven.install( "org.junit.jupiter:junit-jupiter-params:5.4.2", "org.apache.logging.log4j:log4j-core:2.16.0", ], + lock_file = "//:maven_install.json", repositories = [ "https://maven-central.storage.googleapis.com/repos/central/data/", "https://repo1.maven.org/maven2", diff --git a/examples/trivial/maven_install.json b/examples/trivial/maven_install.json new file mode 100644 index 000000000..ea7005a11 --- /dev/null +++ b/examples/trivial/maven_install.json @@ -0,0 +1,783 @@ +{ + "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", + "__INPUT_ARTIFACTS_HASH": { + "com.expedia:graphql-kotlin": 1460696318, + "com.expedia:graphql-kotlin-federation": 306197646, + "com.expedia:graphql-kotlin-schema-generator": 2113612594, + "com.graphql-java:graphql-java": 1978720571, + "org.apache.logging.log4j:log4j-core": 1938714884, + "org.apiguardian:apiguardian-api": 1641152574, + "org.junit.jupiter:junit-jupiter-api": -413282547, + "org.junit.jupiter:junit-jupiter-params": 2143737197, + "org.junit.platform:junit-platform-commons": -1378500181, + "org.opentest4j:opentest4j": -1163502943, + "repositories": 652083157 + }, + "__RESOLVED_ARTIFACTS_HASH": { + "com.expedia:graphql-kotlin-federation": -242604373, + "com.expedia:graphql-kotlin-schema-generator": 387372387, + "com.expedia:graphql-kotlin:pom": -846515718, + "com.fasterxml.jackson.core:jackson-annotations": 1723324878, + "com.fasterxml.jackson.core:jackson-core": 216667274, + "com.fasterxml.jackson.core:jackson-databind": -1534251498, + "com.fasterxml.jackson.module:jackson-module-kotlin": -1302119250, + "com.google.guava:guava": 734675670, + "com.graphql-java:graphql-java": -131080030, + "com.graphql-java:java-dataloader": -512318920, + "org.antlr:antlr4-runtime": -63006028, + "org.apache.logging.log4j:log4j-api": 1938301611, + "org.apache.logging.log4j:log4j-core": -922583796, + "org.apiguardian:apiguardian-api": -1281242630, + "org.javassist:javassist": 2023479029, + "org.jetbrains.kotlin:kotlin-reflect": 1204636879, + "org.jetbrains.kotlin:kotlin-stdlib": -1599115617, + "org.jetbrains.kotlin:kotlin-stdlib-common": 984039788, + "org.jetbrains.kotlinx:kotlinx-coroutines-core": 1854453034, + "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8": 1099651608, + "org.jetbrains:annotations": 554168982, + "org.junit.jupiter:junit-jupiter-api": 2131949578, + "org.junit.jupiter:junit-jupiter-params": 2069787113, + "org.junit.platform:junit-platform-commons": 1448456812, + "org.opentest4j:opentest4j": 1181848109, + "org.reactivestreams:reactive-streams": -1213709076, + "org.reflections:reflections": 613312211, + "org.slf4j:slf4j-api": 78054556 + }, + "artifacts": { + "com.expedia:graphql-kotlin-federation": { + "shasums": { + "jar": "800da3248b74932345aac9cb8ddfb96e07b50acf6431cbcaa1f8e458acc24065" + }, + "version": "1.0.0-RC5" + }, + "com.expedia:graphql-kotlin-schema-generator": { + "shasums": { + "jar": "24397eb7f4f52f67a3507a9c5ac18532793cf62b4c023661a24659ef7642246b" + }, + "version": "1.0.0-RC5" + }, + "com.expedia:graphql-kotlin:pom": { + "shasums": { + "jar": "8bd20af5ecea4e61aeccccca4e31dec272cb1dfa06cfb75dc8b90a352b815f0e" + }, + "version": "1.0.0-RC5" + }, + "com.fasterxml.jackson.core:jackson-annotations": { + "shasums": { + "jar": "45d32ac61ef8a744b464c54c2b3414be571016dd46bfc2bec226761cf7ae457a" + }, + "version": "2.9.0" + }, + "com.fasterxml.jackson.core:jackson-core": { + "shasums": { + "jar": "d934dab0bd48994eeea2c1b493cb547158a338a80b58c4fbc8e85fb0905e105f" + }, + "version": "2.9.8" + }, + "com.fasterxml.jackson.core:jackson-databind": { + "shasums": { + "jar": "2351c3eba73a545db9079f5d6d768347ad72666537362c8220fe3e950a55a864" + }, + "version": "2.9.8" + }, + "com.fasterxml.jackson.module:jackson-module-kotlin": { + "shasums": { + "jar": "2da7755cf2b63118dbd0527fd59c7972d5aeabbffb539ee5d49c6b0fc0d0cc1f" + }, + "version": "2.9.8" + }, + "com.google.guava:guava": { + "shasums": { + "jar": "36a666e3b71ae7f0f0dca23654b67e086e6c93d192f60ba5dfd5519db6c288c8" + }, + "version": "20.0" + }, + "com.graphql-java:graphql-java": { + "shasums": { + "jar": "5f6329db718c402746acc6054a1f332173b39d8022aabd28c69a277e66c2e6d7" + }, + "version": "13.0" + }, + "com.graphql-java:java-dataloader": { + "shasums": { + "jar": "90025f2c2eb402496695d99ca35b55918b7986fd68eaff0443e7df6bdc180012" + }, + "version": "2.1.1" + }, + "org.antlr:antlr4-runtime": { + "shasums": { + "jar": "4c518b87d4bdff8b44cd8cbc1af816e944b62a3fe5b80b781501cf1f4759bbc4" + }, + "version": "4.7.2" + }, + "org.apache.logging.log4j:log4j-api": { + "shasums": { + "jar": "cbbcef7b57fef115a788395e6e11cdf92c01c1d606652c493d40d3c81766b9fc" + }, + "version": "2.16.0" + }, + "org.apache.logging.log4j:log4j-core": { + "shasums": { + "jar": "5d241620b10e3f1475320bc9552cf7bcfa27eeb9b1b6a891449e76db4b4a02a8" + }, + "version": "2.16.0" + }, + "org.apiguardian:apiguardian-api": { + "shasums": { + "jar": "1f58b77470d8d147a0538d515347dd322f49a83b9e884b8970051160464b65b3" + }, + "version": "1.0.0" + }, + "org.javassist:javassist": { + "shasums": { + "jar": "7aa59e031f941984af07dacc6ca85e6dc9bd3a485e9aa2494cbc034efa1225d0" + }, + "version": "3.21.0-GA" + }, + "org.jetbrains.kotlin:kotlin-reflect": { + "shasums": { + "jar": "a0172daf57e511e8e0df9251b508db8aa6b885cdf0c5849addc9b840db4814f0" + }, + "version": "1.3.31" + }, + "org.jetbrains.kotlin:kotlin-stdlib": { + "shasums": { + "jar": "f38c84326543e66ed4895b20fb3ea0fca527fd5a040e1f49d0946ecf3d2b3b23" + }, + "version": "1.3.31" + }, + "org.jetbrains.kotlin:kotlin-stdlib-common": { + "shasums": { + "jar": "d6e9c54c1e6c4df21be9395de558665544c6bdc8f8076ea7518f089f82cd34fc" + }, + "version": "1.3.31" + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-core": { + "shasums": { + "jar": "7177ed4629704537e0252537629886f5409526ecd041d8d8e308e20624b14394" + }, + "version": "1.2.1" + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8": { + "shasums": { + "jar": "5045d1feceb0327b558ccaa3dad4d3152a4cde9a68a40d3cd2b9b9cae82f381c" + }, + "version": "1.2.1" + }, + "org.jetbrains:annotations": { + "shasums": { + "jar": "ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478" + }, + "version": "13.0" + }, + "org.junit.jupiter:junit-jupiter-api": { + "shasums": { + "jar": "cdfb355fee661633f15f2763b8c2029c2e1958585b97b9162d38a36b1754dc3e" + }, + "version": "5.4.2" + }, + "org.junit.jupiter:junit-jupiter-params": { + "shasums": { + "jar": "13f89bca59fb6931a0ca9e3f4dc74e1a3054e0c63863e091a5df4855605ae4ce" + }, + "version": "5.4.2" + }, + "org.junit.platform:junit-platform-commons": { + "shasums": { + "jar": "104bfa65b30ceb425a6de19d66b976caf38443ff5978ae931c103fa0f99d04ce" + }, + "version": "1.4.2" + }, + "org.opentest4j:opentest4j": { + "shasums": { + "jar": "f106351abd941110226745ed103c85863b3f04e9fa82ddea1084639ae0c5336c" + }, + "version": "1.1.1" + }, + "org.reactivestreams:reactive-streams": { + "shasums": { + "jar": "cc09ab0b140e0d0496c2165d4b32ce24f4d6446c0a26c5dc77b06bdf99ee8fae" + }, + "version": "1.0.2" + }, + "org.reflections:reflections": { + "shasums": { + "jar": "cca88428f8a8919df885105833d45ff07bd26f985f96ee55690551216b58b4a1" + }, + "version": "0.9.11" + }, + "org.slf4j:slf4j-api": { + "shasums": { + "jar": "18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79" + }, + "version": "1.7.25" + } + }, + "dependencies": { + "com.expedia:graphql-kotlin-federation": [ + "com.expedia:graphql-kotlin-schema-generator", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.junit.jupiter:junit-jupiter-params" + ], + "com.expedia:graphql-kotlin-schema-generator": [ + "com.fasterxml.jackson.module:jackson-module-kotlin", + "com.graphql-java:graphql-java", + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8", + "org.reflections:reflections" + ], + "com.expedia:graphql-kotlin:pom": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "com.fasterxml.jackson.core:jackson-databind": [ + "com.fasterxml.jackson.core:jackson-annotations", + "com.fasterxml.jackson.core:jackson-core" + ], + "com.fasterxml.jackson.module:jackson-module-kotlin": [ + "com.fasterxml.jackson.core:jackson-annotations", + "com.fasterxml.jackson.core:jackson-databind" + ], + "com.graphql-java:graphql-java": [ + "com.graphql-java:java-dataloader", + "org.antlr:antlr4-runtime", + "org.reactivestreams:reactive-streams", + "org.slf4j:slf4j-api" + ], + "org.apache.logging.log4j:log4j-core": [ + "org.apache.logging.log4j:log4j-api" + ], + "org.jetbrains.kotlin:kotlin-reflect": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "org.jetbrains.kotlin:kotlin-stdlib-common", + "org.jetbrains:annotations" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-core": [ + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-common" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8": [ + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlinx:kotlinx-coroutines-core" + ], + "org.junit.jupiter:junit-jupiter-api": [ + "org.apiguardian:apiguardian-api", + "org.junit.platform:junit-platform-commons", + "org.opentest4j:opentest4j" + ], + "org.junit.jupiter:junit-jupiter-params": [ + "org.apiguardian:apiguardian-api", + "org.junit.jupiter:junit-jupiter-api" + ], + "org.junit.platform:junit-platform-commons": [ + "org.apiguardian:apiguardian-api" + ], + "org.reflections:reflections": [ + "com.google.guava:guava", + "org.javassist:javassist" + ] + }, + "packages": { + "com.expedia:graphql-kotlin-federation": [ + "com.expedia.graphql.federation", + "com.expedia.graphql.federation.directives", + "com.expedia.graphql.federation.exception", + "com.expedia.graphql.federation.execution", + "com.expedia.graphql.federation.types" + ], + "com.expedia:graphql-kotlin-schema-generator": [ + "com.expedia.graphql", + "com.expedia.graphql.annotations", + "com.expedia.graphql.directives", + "com.expedia.graphql.exceptions", + "com.expedia.graphql.execution", + "com.expedia.graphql.extensions", + "com.expedia.graphql.generator", + "com.expedia.graphql.generator.extensions", + "com.expedia.graphql.generator.filters", + "com.expedia.graphql.generator.state", + "com.expedia.graphql.generator.types", + "com.expedia.graphql.hooks" + ], + "com.fasterxml.jackson.core:jackson-annotations": [ + "com.fasterxml.jackson.annotation" + ], + "com.fasterxml.jackson.core:jackson-core": [ + "com.fasterxml.jackson.core", + "com.fasterxml.jackson.core.async", + "com.fasterxml.jackson.core.base", + "com.fasterxml.jackson.core.filter", + "com.fasterxml.jackson.core.format", + "com.fasterxml.jackson.core.io", + "com.fasterxml.jackson.core.json", + "com.fasterxml.jackson.core.json.async", + "com.fasterxml.jackson.core.sym", + "com.fasterxml.jackson.core.type", + "com.fasterxml.jackson.core.util" + ], + "com.fasterxml.jackson.core:jackson-databind": [ + "com.fasterxml.jackson.databind", + "com.fasterxml.jackson.databind.annotation", + "com.fasterxml.jackson.databind.cfg", + "com.fasterxml.jackson.databind.deser", + "com.fasterxml.jackson.databind.deser.impl", + "com.fasterxml.jackson.databind.deser.std", + "com.fasterxml.jackson.databind.exc", + "com.fasterxml.jackson.databind.ext", + "com.fasterxml.jackson.databind.introspect", + "com.fasterxml.jackson.databind.jsonFormatVisitors", + "com.fasterxml.jackson.databind.jsonschema", + "com.fasterxml.jackson.databind.jsontype", + "com.fasterxml.jackson.databind.jsontype.impl", + "com.fasterxml.jackson.databind.module", + "com.fasterxml.jackson.databind.node", + "com.fasterxml.jackson.databind.ser", + "com.fasterxml.jackson.databind.ser.impl", + "com.fasterxml.jackson.databind.ser.std", + "com.fasterxml.jackson.databind.type", + "com.fasterxml.jackson.databind.util" + ], + "com.fasterxml.jackson.module:jackson-module-kotlin": [ + "com.fasterxml.jackson.module.kotlin" + ], + "com.google.guava:guava": [ + "com.google.common.annotations", + "com.google.common.base", + "com.google.common.base.internal", + "com.google.common.cache", + "com.google.common.collect", + "com.google.common.escape", + "com.google.common.eventbus", + "com.google.common.graph", + "com.google.common.hash", + "com.google.common.html", + "com.google.common.io", + "com.google.common.math", + "com.google.common.net", + "com.google.common.primitives", + "com.google.common.reflect", + "com.google.common.util.concurrent", + "com.google.common.xml", + "com.google.thirdparty.publicsuffix" + ], + "com.graphql-java:graphql-java": [ + "graphql", + "graphql.analysis", + "graphql.cachecontrol", + "graphql.execution", + "graphql.execution.batched", + "graphql.execution.defer", + "graphql.execution.directives", + "graphql.execution.instrumentation", + "graphql.execution.instrumentation.dataloader", + "graphql.execution.instrumentation.fieldvalidation", + "graphql.execution.instrumentation.nextgen", + "graphql.execution.instrumentation.parameters", + "graphql.execution.instrumentation.tracing", + "graphql.execution.nextgen", + "graphql.execution.nextgen.result", + "graphql.execution.preparsed", + "graphql.execution.reactive", + "graphql.introspection", + "graphql.language", + "graphql.nextgen", + "graphql.parser", + "graphql.parser.antlr", + "graphql.relay", + "graphql.schema", + "graphql.schema.diff", + "graphql.schema.diff.reporting", + "graphql.schema.idl", + "graphql.schema.idl.errors", + "graphql.schema.validation", + "graphql.schema.visibility", + "graphql.util", + "graphql.validation", + "graphql.validation.rules" + ], + "com.graphql-java:java-dataloader": [ + "org.dataloader", + "org.dataloader.impl", + "org.dataloader.stats" + ], + "org.antlr:antlr4-runtime": [ + "org.antlr.v4.runtime", + "org.antlr.v4.runtime.atn", + "org.antlr.v4.runtime.dfa", + "org.antlr.v4.runtime.misc", + "org.antlr.v4.runtime.tree", + "org.antlr.v4.runtime.tree.pattern", + "org.antlr.v4.runtime.tree.xpath" + ], + "org.apache.logging.log4j:log4j-api": [ + "org.apache.logging.log4j", + "org.apache.logging.log4j.internal", + "org.apache.logging.log4j.message", + "org.apache.logging.log4j.simple", + "org.apache.logging.log4j.spi", + "org.apache.logging.log4j.status", + "org.apache.logging.log4j.util", + "org.apache.logging.log4j.util.internal" + ], + "org.apache.logging.log4j:log4j-core": [ + "org.apache.logging.log4j.core", + "org.apache.logging.log4j.core.appender", + "org.apache.logging.log4j.core.appender.db", + "org.apache.logging.log4j.core.appender.db.jdbc", + "org.apache.logging.log4j.core.appender.mom", + "org.apache.logging.log4j.core.appender.mom.jeromq", + "org.apache.logging.log4j.core.appender.mom.kafka", + "org.apache.logging.log4j.core.appender.nosql", + "org.apache.logging.log4j.core.appender.rewrite", + "org.apache.logging.log4j.core.appender.rolling", + "org.apache.logging.log4j.core.appender.rolling.action", + "org.apache.logging.log4j.core.appender.routing", + "org.apache.logging.log4j.core.async", + "org.apache.logging.log4j.core.config", + "org.apache.logging.log4j.core.config.arbiters", + "org.apache.logging.log4j.core.config.builder.api", + "org.apache.logging.log4j.core.config.builder.impl", + "org.apache.logging.log4j.core.config.composite", + "org.apache.logging.log4j.core.config.json", + "org.apache.logging.log4j.core.config.plugins", + "org.apache.logging.log4j.core.config.plugins.convert", + "org.apache.logging.log4j.core.config.plugins.processor", + "org.apache.logging.log4j.core.config.plugins.util", + "org.apache.logging.log4j.core.config.plugins.validation", + "org.apache.logging.log4j.core.config.plugins.validation.constraints", + "org.apache.logging.log4j.core.config.plugins.validation.validators", + "org.apache.logging.log4j.core.config.plugins.visitors", + "org.apache.logging.log4j.core.config.properties", + "org.apache.logging.log4j.core.config.status", + "org.apache.logging.log4j.core.config.xml", + "org.apache.logging.log4j.core.config.yaml", + "org.apache.logging.log4j.core.filter", + "org.apache.logging.log4j.core.impl", + "org.apache.logging.log4j.core.jackson", + "org.apache.logging.log4j.core.jmx", + "org.apache.logging.log4j.core.layout", + "org.apache.logging.log4j.core.layout.internal", + "org.apache.logging.log4j.core.lookup", + "org.apache.logging.log4j.core.message", + "org.apache.logging.log4j.core.net", + "org.apache.logging.log4j.core.net.ssl", + "org.apache.logging.log4j.core.osgi", + "org.apache.logging.log4j.core.parser", + "org.apache.logging.log4j.core.pattern", + "org.apache.logging.log4j.core.script", + "org.apache.logging.log4j.core.selector", + "org.apache.logging.log4j.core.time", + "org.apache.logging.log4j.core.time.internal", + "org.apache.logging.log4j.core.tools", + "org.apache.logging.log4j.core.tools.picocli", + "org.apache.logging.log4j.core.util", + "org.apache.logging.log4j.core.util.datetime" + ], + "org.apiguardian:apiguardian-api": [ + "org.apiguardian.api" + ], + "org.javassist:javassist": [ + "javassist", + "javassist.bytecode", + "javassist.bytecode.analysis", + "javassist.bytecode.annotation", + "javassist.bytecode.stackmap", + "javassist.compiler", + "javassist.compiler.ast", + "javassist.convert", + "javassist.expr", + "javassist.runtime", + "javassist.scopedpool", + "javassist.tools", + "javassist.tools.reflect", + "javassist.tools.rmi", + "javassist.tools.web", + "javassist.util", + "javassist.util.proxy" + ], + "org.jetbrains.kotlin:kotlin-reflect": [ + "kotlin.reflect.full", + "kotlin.reflect.jvm", + "kotlin.reflect.jvm.internal", + "kotlin.reflect.jvm.internal.calls", + "kotlin.reflect.jvm.internal.components", + "kotlin.reflect.jvm.internal.impl.builtins", + "kotlin.reflect.jvm.internal.impl.builtins.functions", + "kotlin.reflect.jvm.internal.impl.builtins.jvm", + "kotlin.reflect.jvm.internal.impl.descriptors", + "kotlin.reflect.jvm.internal.impl.descriptors.annotations", + "kotlin.reflect.jvm.internal.impl.descriptors.deserialization", + "kotlin.reflect.jvm.internal.impl.descriptors.impl", + "kotlin.reflect.jvm.internal.impl.incremental", + "kotlin.reflect.jvm.internal.impl.incremental.components", + "kotlin.reflect.jvm.internal.impl.load.java", + "kotlin.reflect.jvm.internal.impl.load.java.components", + "kotlin.reflect.jvm.internal.impl.load.java.descriptors", + "kotlin.reflect.jvm.internal.impl.load.java.lazy", + "kotlin.reflect.jvm.internal.impl.load.java.lazy.descriptors", + "kotlin.reflect.jvm.internal.impl.load.java.lazy.types", + "kotlin.reflect.jvm.internal.impl.load.java.sources", + "kotlin.reflect.jvm.internal.impl.load.java.structure", + "kotlin.reflect.jvm.internal.impl.load.java.typeEnhancement", + "kotlin.reflect.jvm.internal.impl.load.kotlin", + "kotlin.reflect.jvm.internal.impl.load.kotlin.header", + "kotlin.reflect.jvm.internal.impl.metadata", + "kotlin.reflect.jvm.internal.impl.metadata.builtins", + "kotlin.reflect.jvm.internal.impl.metadata.deserialization", + "kotlin.reflect.jvm.internal.impl.metadata.jvm", + "kotlin.reflect.jvm.internal.impl.metadata.jvm.deserialization", + "kotlin.reflect.jvm.internal.impl.name", + "kotlin.reflect.jvm.internal.impl.protobuf", + "kotlin.reflect.jvm.internal.impl.renderer", + "kotlin.reflect.jvm.internal.impl.resolve", + "kotlin.reflect.jvm.internal.impl.resolve.calls.inference", + "kotlin.reflect.jvm.internal.impl.resolve.constants", + "kotlin.reflect.jvm.internal.impl.resolve.deprecation", + "kotlin.reflect.jvm.internal.impl.resolve.descriptorUtil", + "kotlin.reflect.jvm.internal.impl.resolve.jvm", + "kotlin.reflect.jvm.internal.impl.resolve.scopes", + "kotlin.reflect.jvm.internal.impl.resolve.scopes.receivers", + "kotlin.reflect.jvm.internal.impl.serialization", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.builtins", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors", + "kotlin.reflect.jvm.internal.impl.storage", + "kotlin.reflect.jvm.internal.impl.types", + "kotlin.reflect.jvm.internal.impl.types.checker", + "kotlin.reflect.jvm.internal.impl.types.error", + "kotlin.reflect.jvm.internal.impl.types.typeUtil", + "kotlin.reflect.jvm.internal.impl.types.typesApproximation", + "kotlin.reflect.jvm.internal.impl.util", + "kotlin.reflect.jvm.internal.impl.util.capitalizeDecapitalize", + "kotlin.reflect.jvm.internal.impl.util.collectionUtils", + "kotlin.reflect.jvm.internal.impl.utils", + "kotlin.reflect.jvm.internal.pcollections", + "kotlin.reflect.jvm.internal.structure" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "kotlin", + "kotlin.annotation", + "kotlin.collections", + "kotlin.collections.unsigned", + "kotlin.comparisons", + "kotlin.concurrent", + "kotlin.contracts", + "kotlin.coroutines", + "kotlin.coroutines.experimental", + "kotlin.coroutines.experimental.intrinsics", + "kotlin.coroutines.experimental.jvm.internal", + "kotlin.coroutines.experimental.migration", + "kotlin.coroutines.intrinsics", + "kotlin.coroutines.jvm.internal", + "kotlin.experimental", + "kotlin.internal", + "kotlin.io", + "kotlin.js", + "kotlin.jvm", + "kotlin.jvm.functions", + "kotlin.jvm.internal", + "kotlin.jvm.internal.markers", + "kotlin.jvm.internal.unsafe", + "kotlin.math", + "kotlin.native.concurrent", + "kotlin.properties", + "kotlin.random", + "kotlin.ranges", + "kotlin.reflect", + "kotlin.sequences", + "kotlin.system", + "kotlin.text" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-core": [ + "kotlinx.coroutines", + "kotlinx.coroutines.channels", + "kotlinx.coroutines.flow", + "kotlinx.coroutines.flow.internal", + "kotlinx.coroutines.internal", + "kotlinx.coroutines.intrinsics", + "kotlinx.coroutines.scheduling", + "kotlinx.coroutines.selects", + "kotlinx.coroutines.sync", + "kotlinx.coroutines.test" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8": [ + "kotlinx.coroutines.future", + "kotlinx.coroutines.time" + ], + "org.jetbrains:annotations": [ + "org.intellij.lang.annotations", + "org.jetbrains.annotations" + ], + "org.junit.jupiter:junit-jupiter-api": [ + "org.junit.jupiter.api", + "org.junit.jupiter.api.condition", + "org.junit.jupiter.api.extension", + "org.junit.jupiter.api.function", + "org.junit.jupiter.api.io", + "org.junit.jupiter.api.parallel" + ], + "org.junit.jupiter:junit-jupiter-params": [ + "org.junit.jupiter.params", + "org.junit.jupiter.params.aggregator", + "org.junit.jupiter.params.converter", + "org.junit.jupiter.params.provider", + "org.junit.jupiter.params.shadow.com.univocity.parsers.annotations", + "org.junit.jupiter.params.shadow.com.univocity.parsers.annotations.helpers", + "org.junit.jupiter.params.shadow.com.univocity.parsers.common", + "org.junit.jupiter.params.shadow.com.univocity.parsers.common.beans", + "org.junit.jupiter.params.shadow.com.univocity.parsers.common.fields", + "org.junit.jupiter.params.shadow.com.univocity.parsers.common.input", + "org.junit.jupiter.params.shadow.com.univocity.parsers.common.input.concurrent", + "org.junit.jupiter.params.shadow.com.univocity.parsers.common.iterators", + "org.junit.jupiter.params.shadow.com.univocity.parsers.common.processor", + "org.junit.jupiter.params.shadow.com.univocity.parsers.common.processor.core", + "org.junit.jupiter.params.shadow.com.univocity.parsers.common.record", + "org.junit.jupiter.params.shadow.com.univocity.parsers.common.routine", + "org.junit.jupiter.params.shadow.com.univocity.parsers.conversions", + "org.junit.jupiter.params.shadow.com.univocity.parsers.csv", + "org.junit.jupiter.params.shadow.com.univocity.parsers.fixed", + "org.junit.jupiter.params.shadow.com.univocity.parsers.tsv", + "org.junit.jupiter.params.support" + ], + "org.junit.platform:junit-platform-commons": [ + "org.junit.platform.commons", + "org.junit.platform.commons.annotation", + "org.junit.platform.commons.function", + "org.junit.platform.commons.logging", + "org.junit.platform.commons.support", + "org.junit.platform.commons.util" + ], + "org.opentest4j:opentest4j": [ + "org.opentest4j" + ], + "org.reactivestreams:reactive-streams": [ + "org.reactivestreams" + ], + "org.reflections:reflections": [ + "org.reflections", + "org.reflections.adapters", + "org.reflections.scanners", + "org.reflections.serializers", + "org.reflections.util", + "org.reflections.vfs" + ], + "org.slf4j:slf4j-api": [ + "org.slf4j", + "org.slf4j.event", + "org.slf4j.helpers", + "org.slf4j.spi" + ] + }, + "repositories": { + "https://maven-central.storage.googleapis.com/repos/central/data/": [ + "com.expedia:graphql-kotlin-federation", + "com.expedia:graphql-kotlin-schema-generator", + "com.expedia:graphql-kotlin:pom", + "com.fasterxml.jackson.core:jackson-annotations", + "com.fasterxml.jackson.core:jackson-core", + "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.module:jackson-module-kotlin", + "com.google.guava:guava", + "com.graphql-java:graphql-java", + "com.graphql-java:java-dataloader", + "org.antlr:antlr4-runtime", + "org.apache.logging.log4j:log4j-api", + "org.apache.logging.log4j:log4j-core", + "org.apiguardian:apiguardian-api", + "org.javassist:javassist", + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-common", + "org.jetbrains.kotlinx:kotlinx-coroutines-core", + "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8", + "org.jetbrains:annotations", + "org.junit.jupiter:junit-jupiter-api", + "org.junit.jupiter:junit-jupiter-params", + "org.junit.platform:junit-platform-commons", + "org.opentest4j:opentest4j", + "org.reactivestreams:reactive-streams", + "org.reflections:reflections", + "org.slf4j:slf4j-api" + ], + "https://repo1.maven.org/maven2/": [ + "com.expedia:graphql-kotlin-federation", + "com.expedia:graphql-kotlin-schema-generator", + "com.expedia:graphql-kotlin:pom", + "com.fasterxml.jackson.core:jackson-annotations", + "com.fasterxml.jackson.core:jackson-core", + "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.module:jackson-module-kotlin", + "com.google.guava:guava", + "com.graphql-java:graphql-java", + "com.graphql-java:java-dataloader", + "org.antlr:antlr4-runtime", + "org.apache.logging.log4j:log4j-api", + "org.apache.logging.log4j:log4j-core", + "org.apiguardian:apiguardian-api", + "org.javassist:javassist", + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-common", + "org.jetbrains.kotlinx:kotlinx-coroutines-core", + "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8", + "org.jetbrains:annotations", + "org.junit.jupiter:junit-jupiter-api", + "org.junit.jupiter:junit-jupiter-params", + "org.junit.platform:junit-platform-commons", + "org.opentest4j:opentest4j", + "org.reactivestreams:reactive-streams", + "org.reflections:reflections", + "org.slf4j:slf4j-api" + ] + }, + "services": { + "com.fasterxml.jackson.core:jackson-core": { + "com.fasterxml.jackson.core.JsonFactory": [ + "com.fasterxml.jackson.core.JsonFactory" + ] + }, + "com.fasterxml.jackson.core:jackson-databind": { + "com.fasterxml.jackson.core.ObjectCodec": [ + "com.fasterxml.jackson.databind.ObjectMapper" + ] + }, + "com.fasterxml.jackson.module:jackson-module-kotlin": { + "com.fasterxml.jackson.databind.Module": [ + "com.fasterxml.jackson.module.kotlin.KotlinModule" + ] + }, + "org.apache.logging.log4j:log4j-api": { + "org.apache.logging.log4j.util.PropertySource": [ + "org.apache.logging.log4j.util.EnvironmentPropertySource", + "org.apache.logging.log4j.util.SystemPropertiesPropertySource" + ] + }, + "org.apache.logging.log4j:log4j-core": { + "javax.annotation.processing.Processor": [ + "org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor" + ], + "org.apache.logging.log4j.core.util.ContextDataProvider": [ + "org.apache.logging.log4j.core.impl.ThreadContextDataProvider" + ], + "org.apache.logging.log4j.message.ThreadDumpMessage$ThreadInfoFactory": [ + "org.apache.logging.log4j.core.message.ExtendedThreadInfoFactory" + ], + "org.apache.logging.log4j.spi.Provider": [ + "org.apache.logging.log4j.core.impl.Log4jProvider" + ] + }, + "org.jetbrains.kotlin:kotlin-reflect": { + "kotlin.reflect.jvm.internal.impl.builtins.BuiltInsLoader": [ + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.builtins.BuiltInsLoaderImpl" + ], + "kotlin.reflect.jvm.internal.impl.resolve.ExternalOverridabilityCondition": [ + "kotlin.reflect.jvm.internal.impl.load.java.ErasedOverridabilityCondition", + "kotlin.reflect.jvm.internal.impl.load.java.FieldOverridabilityCondition", + "kotlin.reflect.jvm.internal.impl.load.java.JavaIncompatibilityRulesOverridabilityCondition" + ] + } + }, + "version": "3" +} From d55bd0c10d54449eaea85380a286bacf776172a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20G=C5=82uszak?= Date: Mon, 9 Feb 2026 15:23:06 +0100 Subject: [PATCH 5/8] chore: reformat generated Kotlin 2.3 capabilities file Keep generated capabilities metadata in the normalized formatting emitted by current tooling. --- ..._2.3.bzl.com_github_jetbrains_kotlin.bazel | 1464 ++++++++--------- 1 file changed, 732 insertions(+), 732 deletions(-) diff --git a/src/main/starlark/core/repositories/kotlin/capabilities_2.3.bzl.com_github_jetbrains_kotlin.bazel b/src/main/starlark/core/repositories/kotlin/capabilities_2.3.bzl.com_github_jetbrains_kotlin.bazel index 7eb43849c..4f8d0b5d1 100644 --- a/src/main/starlark/core/repositories/kotlin/capabilities_2.3.bzl.com_github_jetbrains_kotlin.bazel +++ b/src/main/starlark/core/repositories/kotlin/capabilities_2.3.bzl.com_github_jetbrains_kotlin.bazel @@ -14,362 +14,362 @@ # DO NOT EDIT: generated by bazel run //src/main/kotlin/io/bazel/kotlin/generate:kotlin_release_options KOTLIN_OPTS = { - "-Werror" : struct( - flag = "-Werror", - doc = "Report an error if there are any warnings.", - default = False - ), - "-Wextra" : struct( - flag = "-Wextra", - doc = "Enable extra checkers for K2.", - default = False - ), - "-XXLanguage" : struct( - flag = "-XXLanguage", - doc = """Enables/disables specified language feature. + "-Werror": struct( + flag = "-Werror", + doc = "Report an error if there are any warnings.", + default = False, + ), + "-Wextra": struct( + flag = "-Wextra", + doc = "Enable extra checkers for K2.", + default = False, + ), + "-XXLanguage": struct( + flag = "-XXLanguage", + doc = """Enables/disables specified language feature. Warning: this flag is not intended for production use. If you want to configure the language behaviour use the -language-version or corresponding experimental feature flags.""", - default = [] + default = [], ), - "-XXdebug-level-compiler-checks" : struct( - flag = "-XXdebug-level-compiler-checks", - doc = "Enable debug level compiler checks. ATTENTION: these checks can slow compiler down or even crash it.", - default = False + "-XXdebug-level-compiler-checks": struct( + flag = "-XXdebug-level-compiler-checks", + doc = "Enable debug level compiler checks. ATTENTION: these checks can slow compiler down or even crash it.", + default = False, ), - "-XXdump-model" : struct( - flag = "-XXdump-model", - doc = "Dump compilation model to specified directory for use in modularized tests.", - default = None + "-XXdump-model": struct( + flag = "-XXdump-model", + doc = "Dump compilation model to specified directory for use in modularized tests.", + default = None, ), - "-XXexplicit-return-types" : struct( - flag = "-XXexplicit-return-types", - doc = """Force the compiler to report errors on all public API declarations without an explicit return type. + "-XXexplicit-return-types": struct( + flag = "-XXexplicit-return-types", + doc = """Force the compiler to report errors on all public API declarations without an explicit return type. Use the 'warning' level to issue warnings instead of errors. This flag partially enables functionality of `-Xexplicit-api` flag, so please don't use them altogether""", - default = "disable" + default = "disable", ), - "-XXlenient-mode" : struct( - flag = "-XXlenient-mode", - doc = "Lenient compiler mode. When actuals are missing, placeholder declarations are generated.", - default = False + "-XXlenient-mode": struct( + flag = "-XXlenient-mode", + doc = "Lenient compiler mode. When actuals are missing, placeholder declarations are generated.", + default = False, ), - "-Xabi-stability" : struct( - flag = "-Xabi-stability", - doc = """When using unstable compiler features such as FIR, use 'stable' to mark generated class files as stable + "-Xabi-stability": struct( + flag = "-Xabi-stability", + doc = """When using unstable compiler features such as FIR, use 'stable' to mark generated class files as stable to prevent diagnostics from being reported when using stable compilers at the call site. When using the JVM IR backend, conversely, use 'unstable' to mark generated class files as unstable to force diagnostics to be reported.""", - default = None - ), - "-Xadd-modules" : struct( - flag = "-Xadd-modules", - doc = "Root modules to resolve in addition to the initial modules, or all modules on the module path if is ALL-MODULE-PATH.", - default = [] - ), - "-Xallow-any-scripts-in-source-roots" : struct( - flag = "-Xallow-any-scripts-in-source-roots", - doc = "Allow compiling scripts along with regular Kotlin sources.", - default = False - ), - "-Xallow-condition-implies-returns-contracts" : struct( - flag = "-Xallow-condition-implies-returns-contracts", - doc = "Allow contracts that specify a limited conditional returns postcondition.", - default = False - ), - "-Xallow-contracts-on-more-functions" : struct( - flag = "-Xallow-contracts-on-more-functions", - doc = "Allow contracts on some operators and accessors, and allow checks for erased types.", - default = False - ), - "-Xallow-holdsin-contract" : struct( - flag = "-Xallow-holdsin-contract", - doc = "Allow contracts that specify a condition that holds true inside a lambda argument.", - default = False - ), - "-Xallow-kotlin-package" : struct( - flag = "-Xallow-kotlin-package", - doc = "Allow compiling code in the 'kotlin' package, and allow not requiring 'kotlin.stdlib' in 'module-info'.", - default = False - ), - "-Xallow-no-source-files" : struct( - flag = "-Xallow-no-source-files", - doc = "Allow the set of source files to be empty.", - default = False - ), - "-Xallow-reified-type-in-catch" : struct( - flag = "-Xallow-reified-type-in-catch", - doc = "Allow 'catch' parameters to have reified types.", - default = False - ), - "-Xallow-unstable-dependencies" : struct( - flag = "-Xallow-unstable-dependencies", - doc = "Do not report errors on classes in dependencies that were compiled by an unstable version of the Kotlin compiler.", - default = False - ), - "-Xannotation-default-target" : struct( - flag = "-Xannotation-default-target", - doc = """Change the default annotation targets for constructor properties: + default = None, + ), + "-Xadd-modules": struct( + flag = "-Xadd-modules", + doc = "Root modules to resolve in addition to the initial modules, or all modules on the module path if is ALL-MODULE-PATH.", + default = [], + ), + "-Xallow-any-scripts-in-source-roots": struct( + flag = "-Xallow-any-scripts-in-source-roots", + doc = "Allow compiling scripts along with regular Kotlin sources.", + default = False, + ), + "-Xallow-condition-implies-returns-contracts": struct( + flag = "-Xallow-condition-implies-returns-contracts", + doc = "Allow contracts that specify a limited conditional returns postcondition.", + default = False, + ), + "-Xallow-contracts-on-more-functions": struct( + flag = "-Xallow-contracts-on-more-functions", + doc = "Allow contracts on some operators and accessors, and allow checks for erased types.", + default = False, + ), + "-Xallow-holdsin-contract": struct( + flag = "-Xallow-holdsin-contract", + doc = "Allow contracts that specify a condition that holds true inside a lambda argument.", + default = False, + ), + "-Xallow-kotlin-package": struct( + flag = "-Xallow-kotlin-package", + doc = "Allow compiling code in the 'kotlin' package, and allow not requiring 'kotlin.stdlib' in 'module-info'.", + default = False, + ), + "-Xallow-no-source-files": struct( + flag = "-Xallow-no-source-files", + doc = "Allow the set of source files to be empty.", + default = False, + ), + "-Xallow-reified-type-in-catch": struct( + flag = "-Xallow-reified-type-in-catch", + doc = "Allow 'catch' parameters to have reified types.", + default = False, + ), + "-Xallow-unstable-dependencies": struct( + flag = "-Xallow-unstable-dependencies", + doc = "Do not report errors on classes in dependencies that were compiled by an unstable version of the Kotlin compiler.", + default = False, + ), + "-Xannotation-default-target": struct( + flag = "-Xannotation-default-target", + doc = """Change the default annotation targets for constructor properties: -Xannotation-default-target=first-only: use the first of the following allowed targets: '@param:', '@property:', '@field:'; -Xannotation-default-target=first-only-warn: same as first-only, and raise warnings when both '@param:' and either '@property:' or '@field:' are allowed; -Xannotation-default-target=param-property: use '@param:' target if applicable, and also use the first of either '@property:' or '@field:'; default: 'first-only-warn' in language version 2.2+, 'first-only' in version 2.1 and before.""", - default = None + default = None, ), - "-Xannotation-target-all" : struct( - flag = "-Xannotation-target-all", - doc = "Enable experimental language support for @all: annotation use-site target.", - default = False + "-Xannotation-target-all": struct( + flag = "-Xannotation-target-all", + doc = "Enable experimental language support for @all: annotation use-site target.", + default = False, ), - "-Xannotations-in-metadata" : struct( - flag = "-Xannotations-in-metadata", - doc = "Write annotations on declarations into the metadata (in addition to the JVM bytecode), and read annotations from the metadata if they are present.", - default = False + "-Xannotations-in-metadata": struct( + flag = "-Xannotations-in-metadata", + doc = "Write annotations on declarations into the metadata (in addition to the JVM bytecode), and read annotations from the metadata if they are present.", + default = False, ), - "-Xassertions" : struct( - flag = "-Xassertions", - doc = """'kotlin.assert' call behavior: + "-Xassertions": struct( + flag = "-Xassertions", + doc = """'kotlin.assert' call behavior: -Xassertions=always-enable: enable, ignore JVM assertion settings; -Xassertions=always-disable: disable, ignore JVM assertion settings; -Xassertions=jvm: enable, depend on JVM assertion settings; -Xassertions=legacy: calculate the condition on each call, the behavior depends on JVM assertion settings in the kotlin package; default: legacy""", - default = "legacy" + default = "legacy", ), - "-Xbackend-threads" : struct( - flag = "-Xbackend-threads", - doc = """Run codegen phase in N parallel threads. + "-Xbackend-threads": struct( + flag = "-Xbackend-threads", + doc = """Run codegen phase in N parallel threads. 0 means use one thread per processor core. The default value is 1.""", - default = "1" + default = "1", ), - "-Xcheck-phase-conditions" : struct( - flag = "-Xcheck-phase-conditions", - doc = "Check pre- and postconditions of IR lowering phases.", - default = False + "-Xcheck-phase-conditions": struct( + flag = "-Xcheck-phase-conditions", + doc = "Check pre- and postconditions of IR lowering phases.", + default = False, ), - "-Xcommon-sources" : struct( - flag = "-Xcommon-sources", - doc = """Sources of the common module that need to be compiled together with this module in multiplatform mode. + "-Xcommon-sources": struct( + flag = "-Xcommon-sources", + doc = """Sources of the common module that need to be compiled together with this module in multiplatform mode. They should be a subset of sources passed as free arguments.""", - default = [] + default = [], ), - "-Xcompile-builtins-as-part-of-stdlib" : struct( - flag = "-Xcompile-builtins-as-part-of-stdlib", - doc = "Enable behaviour needed to compile builtins as part of JVM stdlib", - default = False + "-Xcompile-builtins-as-part-of-stdlib": struct( + flag = "-Xcompile-builtins-as-part-of-stdlib", + doc = "Enable behaviour needed to compile builtins as part of JVM stdlib", + default = False, ), - "-Xcompile-java" : struct( - flag = "-Xcompile-java", - doc = "Reuse 'javac' analysis and compile Java source files.", - default = False + "-Xcompile-java": struct( + flag = "-Xcompile-java", + doc = "Reuse 'javac' analysis and compile Java source files.", + default = False, ), - "-Xcompiler-plugin-order" : struct( - flag = "-Xcompiler-plugin-order", - doc = """Specify an execution order constraint for compiler plugins. + "-Xcompiler-plugin-order": struct( + flag = "-Xcompiler-plugin-order", + doc = """Specify an execution order constraint for compiler plugins. Order constraint can be specified using the 'pluginId' of compiler plugins. The first specified plugin will be executed before the second plugin. Multiple constraints can be specified by repeating this option. Cycles in constraints will cause an error.""", - default = [] - ), - "-Xconsistent-data-class-copy-visibility" : struct( - flag = "-Xconsistent-data-class-copy-visibility", - doc = "The effect of this compiler flag is the same as applying @ConsistentCopyVisibility annotation to all data classes in the module. See https://youtrack.jetbrains.com/issue/KT-11914", - default = False - ), - "-Xcontext-parameters" : struct( - flag = "-Xcontext-parameters", - doc = "Enable experimental context parameters.", - default = False - ), - "-Xcontext-receivers" : struct( - flag = "-Xcontext-receivers", - doc = "Enable experimental context receivers.", - default = False - ), - "-Xcontext-sensitive-resolution" : struct( - flag = "-Xcontext-sensitive-resolution", - doc = "Enable experimental context-sensitive resolution.", - default = False - ), - "-Xdata-flow-based-exhaustiveness" : struct( - flag = "-Xdata-flow-based-exhaustiveness", - doc = "Enable `when` exhaustiveness improvements that rely on data-flow analysis.", - default = False - ), - "-Xdebug" : struct( - flag = "-Xdebug", - doc = """Enable debug mode for compilation. + default = [], + ), + "-Xconsistent-data-class-copy-visibility": struct( + flag = "-Xconsistent-data-class-copy-visibility", + doc = "The effect of this compiler flag is the same as applying @ConsistentCopyVisibility annotation to all data classes in the module. See https://youtrack.jetbrains.com/issue/KT-11914", + default = False, + ), + "-Xcontext-parameters": struct( + flag = "-Xcontext-parameters", + doc = "Enable experimental context parameters.", + default = False, + ), + "-Xcontext-receivers": struct( + flag = "-Xcontext-receivers", + doc = "Enable experimental context receivers.", + default = False, + ), + "-Xcontext-sensitive-resolution": struct( + flag = "-Xcontext-sensitive-resolution", + doc = "Enable experimental context-sensitive resolution.", + default = False, + ), + "-Xdata-flow-based-exhaustiveness": struct( + flag = "-Xdata-flow-based-exhaustiveness", + doc = "Enable `when` exhaustiveness improvements that rely on data-flow analysis.", + default = False, + ), + "-Xdebug": struct( + flag = "-Xdebug", + doc = """Enable debug mode for compilation. Currently this includes spilling all variables in a suspending context regardless of whether they are alive. If API Level >= 2.2 -- no-op.""", - default = False + default = False, ), - "-Xdefault-script-extension" : struct( - flag = "-Xdefault-script-extension", - doc = "Compile expressions and unrecognized scripts passed with the -script argument as scripts with the given filename extension.", - default = None + "-Xdefault-script-extension": struct( + flag = "-Xdefault-script-extension", + doc = "Compile expressions and unrecognized scripts passed with the -script argument as scripts with the given filename extension.", + default = None, ), - "-Xdetailed-perf" : struct( - flag = "-Xdetailed-perf", - doc = """Enable more detailed performance statistics (Experimental). + "-Xdetailed-perf": struct( + flag = "-Xdetailed-perf", + doc = """Enable more detailed performance statistics (Experimental). For Native, the performance report includes execution time and lines processed per second for every individual lowering. For WASM and JS, the performance report includes execution time and lines per second for each lowering of the first stage of compilation.""", - default = False - ), - "-Xdirect-java-actualization" : struct( - flag = "-Xdirect-java-actualization", - doc = "Enable experimental direct Java actualization support.", - default = False - ), - "-Xdisable-default-scripting-plugin" : struct( - flag = "-Xdisable-default-scripting-plugin", - doc = "Don't enable the scripting plugin by default.", - default = False - ), - "-Xdisable-phases" : struct( - flag = "-Xdisable-phases", - doc = "Disable backend phases.", - default = [] - ), - "-Xdisable-standard-script" : struct( - flag = "-Xdisable-standard-script", - doc = "Disable standard Kotlin scripting support.", - default = False - ), - "-Xdont-warn-on-error-suppression" : struct( - flag = "-Xdont-warn-on-error-suppression", - doc = "Don't report warnings when errors are suppressed. This only affects K2.", - default = False - ), - "-Xemit-jvm-type-annotations" : struct( - flag = "-Xemit-jvm-type-annotations", - doc = "Emit JVM type annotations in bytecode.", - default = False - ), - "-Xenable-incremental-compilation" : struct( - flag = "-Xenable-incremental-compilation", - doc = "Enable incremental compilation.", - default = False - ), - "-Xenhance-type-parameter-types-to-def-not-null" : struct( - flag = "-Xenhance-type-parameter-types-to-def-not-null", - doc = "Enhance not-null-annotated type parameter types to definitely-non-nullable types ('@NotNull T' => 'T & Any').", - default = False - ), - "-Xenhanced-coroutines-debugging" : struct( - flag = "-Xenhanced-coroutines-debugging", - doc = """Generate additional linenumber instruction for compiler-generated code + default = False, + ), + "-Xdirect-java-actualization": struct( + flag = "-Xdirect-java-actualization", + doc = "Enable experimental direct Java actualization support.", + default = False, + ), + "-Xdisable-default-scripting-plugin": struct( + flag = "-Xdisable-default-scripting-plugin", + doc = "Don't enable the scripting plugin by default.", + default = False, + ), + "-Xdisable-phases": struct( + flag = "-Xdisable-phases", + doc = "Disable backend phases.", + default = [], + ), + "-Xdisable-standard-script": struct( + flag = "-Xdisable-standard-script", + doc = "Disable standard Kotlin scripting support.", + default = False, + ), + "-Xdont-warn-on-error-suppression": struct( + flag = "-Xdont-warn-on-error-suppression", + doc = "Don't report warnings when errors are suppressed. This only affects K2.", + default = False, + ), + "-Xemit-jvm-type-annotations": struct( + flag = "-Xemit-jvm-type-annotations", + doc = "Emit JVM type annotations in bytecode.", + default = False, + ), + "-Xenable-incremental-compilation": struct( + flag = "-Xenable-incremental-compilation", + doc = "Enable incremental compilation.", + default = False, + ), + "-Xenhance-type-parameter-types-to-def-not-null": struct( + flag = "-Xenhance-type-parameter-types-to-def-not-null", + doc = "Enhance not-null-annotated type parameter types to definitely-non-nullable types ('@NotNull T' => 'T & Any').", + default = False, + ), + "-Xenhanced-coroutines-debugging": struct( + flag = "-Xenhanced-coroutines-debugging", + doc = """Generate additional linenumber instruction for compiler-generated code inside suspend functions and lambdas to distinguish them from user code by debugger.""", - default = False + default = False, ), - "-Xexpect-actual-classes" : struct( - flag = "-Xexpect-actual-classes", - doc = """'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. + "-Xexpect-actual-classes": struct( + flag = "-Xexpect-actual-classes", + doc = """'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Kotlin reports a warning every time you use one of them. You can use this flag to mute the warning.""", - default = False + default = False, ), - "-Xexplicit-api" : struct( - flag = "-Xexplicit-api", - doc = """Force the compiler to report errors on all public API declarations without an explicit visibility or a return type. + "-Xexplicit-api": struct( + flag = "-Xexplicit-api", + doc = """Force the compiler to report errors on all public API declarations without an explicit visibility or a return type. Use the 'warning' level to issue warnings instead of errors.""", - default = "disable" + default = "disable", ), - "-Xexplicit-backing-fields" : struct( - flag = "-Xexplicit-backing-fields", - doc = "Enable experimental language support for explicit backing fields.", - default = False + "-Xexplicit-backing-fields": struct( + flag = "-Xexplicit-backing-fields", + doc = "Enable experimental language support for explicit backing fields.", + default = False, ), - "-Xfragment-dependency" : struct( - flag = "-Xfragment-dependency", - doc = """Declare common klib dependencies for the specific fragment. + "-Xfragment-dependency": struct( + flag = "-Xfragment-dependency", + doc = """Declare common klib dependencies for the specific fragment. This argument is required for any HMPP module except the platform leaf module: it takes dependencies from -cp/-libraries. The argument should be used only if the new compilation scheme is enabled with -Xseparate-kmp-compilation """, - default = [] + default = [], ), - "-Xfragment-friend-dependency" : struct( - flag = "-Xfragment-friend-dependency", - doc = """Declare common klib friend dependencies for the specific fragment. + "-Xfragment-friend-dependency": struct( + flag = "-Xfragment-friend-dependency", + doc = """Declare common klib friend dependencies for the specific fragment. This argument can be specified for any HMPP module except the platform leaf module: it takes dependencies from the platform specific friend module arguments. The argument should be used only if the new compilation scheme is enabled with -Xseparate-kmp-compilation """, - default = [] - ), - "-Xfragment-refines" : struct( - flag = "-Xfragment-refines", - doc = "Declare that refines with the dependsOn/refines relation.", - default = [] - ), - "-Xfragment-sources" : struct( - flag = "-Xfragment-sources", - doc = "Add sources to a specific fragment of a multiplatform compilation.", - default = [] - ), - "-Xfragments" : struct( - flag = "-Xfragments", - doc = "Declare all known fragments of a multiplatform compilation.", - default = [] - ), - "-Xfriend-paths" : struct( - flag = "-Xfriend-paths", - doc = "Paths to output directories for friend modules (modules whose internals should be visible).", - default = [] - ), - "-Xgenerate-strict-metadata-version" : struct( - flag = "-Xgenerate-strict-metadata-version", - doc = "Generate metadata with strict version semantics (see the KDoc entry on 'Metadata.extraInt').", - default = False - ), - "-Xignore-const-optimization-errors" : struct( - flag = "-Xignore-const-optimization-errors", - doc = "Ignore all compilation exceptions while optimizing some constant expressions.", - default = False - ), - "-Xindy-allow-annotated-lambdas" : struct( - flag = "-Xindy-allow-annotated-lambdas", - doc = "Allow using 'invokedynamic' for lambda expressions with annotations", - default = False - ), - "-Xinline-classes" : struct( - flag = "-Xinline-classes", - doc = "Enable experimental inline classes.", - default = False - ), - "-Xir-do-not-clear-binding-context" : struct( - flag = "-Xir-do-not-clear-binding-context", - doc = "When using the IR backend, do not clear BindingContext between 'psi2ir' and lowerings.", - default = False - ), - "-Xjava-package-prefix" : struct( - flag = "-Xjava-package-prefix", - doc = "Package prefix for Java files.", - default = None - ), - "-Xjava-source-roots" : struct( - flag = "-Xjava-source-roots", - doc = "Paths to directories with Java source files.", - default = [] - ), - "-Xjavac-arguments" : struct( - flag = "-Xjavac-arguments", - doc = "Java compiler arguments.", - default = [] - ), - "-Xjdk-release" : struct( - flag = "-Xjdk-release", - doc = """Compile against the specified JDK API version, similarly to javac's '-release'. This requires JDK 9 or newer. + default = [], + ), + "-Xfragment-refines": struct( + flag = "-Xfragment-refines", + doc = "Declare that refines with the dependsOn/refines relation.", + default = [], + ), + "-Xfragment-sources": struct( + flag = "-Xfragment-sources", + doc = "Add sources to a specific fragment of a multiplatform compilation.", + default = [], + ), + "-Xfragments": struct( + flag = "-Xfragments", + doc = "Declare all known fragments of a multiplatform compilation.", + default = [], + ), + "-Xfriend-paths": struct( + flag = "-Xfriend-paths", + doc = "Paths to output directories for friend modules (modules whose internals should be visible).", + default = [], + ), + "-Xgenerate-strict-metadata-version": struct( + flag = "-Xgenerate-strict-metadata-version", + doc = "Generate metadata with strict version semantics (see the KDoc entry on 'Metadata.extraInt').", + default = False, + ), + "-Xignore-const-optimization-errors": struct( + flag = "-Xignore-const-optimization-errors", + doc = "Ignore all compilation exceptions while optimizing some constant expressions.", + default = False, + ), + "-Xindy-allow-annotated-lambdas": struct( + flag = "-Xindy-allow-annotated-lambdas", + doc = "Allow using 'invokedynamic' for lambda expressions with annotations", + default = False, + ), + "-Xinline-classes": struct( + flag = "-Xinline-classes", + doc = "Enable experimental inline classes.", + default = False, + ), + "-Xir-do-not-clear-binding-context": struct( + flag = "-Xir-do-not-clear-binding-context", + doc = "When using the IR backend, do not clear BindingContext between 'psi2ir' and lowerings.", + default = False, + ), + "-Xjava-package-prefix": struct( + flag = "-Xjava-package-prefix", + doc = "Package prefix for Java files.", + default = None, + ), + "-Xjava-source-roots": struct( + flag = "-Xjava-source-roots", + doc = "Paths to directories with Java source files.", + default = [], + ), + "-Xjavac-arguments": struct( + flag = "-Xjavac-arguments", + doc = "Java compiler arguments.", + default = [], + ), + "-Xjdk-release": struct( + flag = "-Xjdk-release", + doc = """Compile against the specified JDK API version, similarly to javac's '-release'. This requires JDK 9 or newer. The supported versions depend on the JDK used; for JDK 17+, the supported versions are 1.8 and 9–25. This also sets the value of '-jvm-target' to be equal to the selected JDK version.""", - default = None + default = None, ), - "-Xjspecify-annotations" : struct( - flag = "-Xjspecify-annotations", - doc = """Specify the behavior of 'jspecify' annotations. + "-Xjspecify-annotations": struct( + flag = "-Xjspecify-annotations", + doc = """Specify the behavior of 'jspecify' annotations. The default value is 'strict'.""", - default = None + default = None, ), - "-Xjsr305" : struct( - flag = "-Xjsr305", - doc = """Specify the behavior of 'JSR-305' nullability annotations: + "-Xjsr305": struct( + flag = "-Xjsr305", + doc = """Specify the behavior of 'JSR-305' nullability annotations: -Xjsr305={ignore/strict/warn} global (all non-@UnderMigration annotations) -Xjsr305=under-migration:{ignore/strict/warn} all @UnderMigration annotations -Xjsr305=@:{ignore/strict/warn} annotation with the given fully qualified class name @@ -377,504 +377,504 @@ Modes: * ignore * strict (experimental; treat like other supported nullability annotations) * warn (report a warning)""", - default = [] + default = [], ), - "-Xjvm-default" : struct( - flag = "-Xjvm-default", - doc = """This option is deprecated. Migrate to -jvm-default as follows: + "-Xjvm-default": struct( + flag = "-Xjvm-default", + doc = """This option is deprecated. Migrate to -jvm-default as follows: -Xjvm-default=disable -> -jvm-default=disable -Xjvm-default=all-compatibility -> -jvm-default=enable -Xjvm-default=all -> -jvm-default=no-compatibility""", - default = None + default = None, ), - "-Xjvm-enable-preview" : struct( - flag = "-Xjvm-enable-preview", - doc = """Allow using Java features that are in the preview phase. + "-Xjvm-enable-preview": struct( + flag = "-Xjvm-enable-preview", + doc = """Allow using Java features that are in the preview phase. This works like '--enable-preview' in Java. All class files are marked as compiled with preview features, meaning it won't be possible to use them in release environments.""", - default = False + default = False, ), - "-Xjvm-expose-boxed" : struct( - flag = "-Xjvm-expose-boxed", - doc = "Expose inline classes and functions, accepting and returning them, to Java.", - default = False + "-Xjvm-expose-boxed": struct( + flag = "-Xjvm-expose-boxed", + doc = "Expose inline classes and functions, accepting and returning them, to Java.", + default = False, ), - "-Xklib" : struct( - flag = "-Xklib", - doc = "Paths to cross-platform libraries in the .klib format.", - default = None + "-Xklib": struct( + flag = "-Xklib", + doc = "Paths to cross-platform libraries in the .klib format.", + default = None, ), - "-Xlambdas" : struct( - flag = "-Xlambdas", - doc = """Select the code generation scheme for lambdas. + "-Xlambdas": struct( + flag = "-Xlambdas", + doc = """Select the code generation scheme for lambdas. -Xlambdas=indy Generate lambdas using 'invokedynamic' with 'LambdaMetafactory.metafactory'. A lambda object created using 'LambdaMetafactory.metafactory' will have a different 'toString()'. -Xlambdas=class Generate lambdas as explicit classes. The default value is 'indy' if language version is 2.0+, and 'class' otherwise.""", - default = None + default = None, ), - "-Xlink-via-signatures" : struct( - flag = "-Xlink-via-signatures", - doc = """Link JVM IR symbols via signatures instead of descriptors. + "-Xlink-via-signatures": struct( + flag = "-Xlink-via-signatures", + doc = """Link JVM IR symbols via signatures instead of descriptors. This mode is slower, but it can be useful for troubleshooting problems with the JVM IR backend. This option is deprecated and will be deleted in future versions. It has no effect when -language-version is 2.0 or higher.""", - default = False - ), - "-Xlist-phases" : struct( - flag = "-Xlist-phases", - doc = "List backend phases.", - default = False - ), - "-Xmetadata-klib" : struct( - flag = "-Xmetadata-klib", - doc = "Produce a klib that only contains the metadata of declarations.", - default = False - ), - "-Xmetadata-version" : struct( - flag = "-Xmetadata-version", - doc = "Change the metadata version of the generated binary files.", - default = None - ), - "-Xmodule-path" : struct( - flag = "-Xmodule-path", - doc = "Paths to Java 9+ modules.", - default = None - ), - "-Xmulti-dollar-interpolation" : struct( - flag = "-Xmulti-dollar-interpolation", - doc = "Enable experimental multi-dollar interpolation.", - default = False - ), - "-Xmulti-platform" : struct( - flag = "-Xmulti-platform", - doc = "Enable language support for multiplatform projects.", - default = False - ), - "-Xmultifile-parts-inherit" : struct( - flag = "-Xmultifile-parts-inherit", - doc = "Compile multifile classes as a hierarchy of parts and a facade.", - default = False - ), - "-Xname-based-destructuring" : struct( - flag = "-Xname-based-destructuring", - doc = """Enables the following destructuring features: + default = False, + ), + "-Xlist-phases": struct( + flag = "-Xlist-phases", + doc = "List backend phases.", + default = False, + ), + "-Xmetadata-klib": struct( + flag = "-Xmetadata-klib", + doc = "Produce a klib that only contains the metadata of declarations.", + default = False, + ), + "-Xmetadata-version": struct( + flag = "-Xmetadata-version", + doc = "Change the metadata version of the generated binary files.", + default = None, + ), + "-Xmodule-path": struct( + flag = "-Xmodule-path", + doc = "Paths to Java 9+ modules.", + default = None, + ), + "-Xmulti-dollar-interpolation": struct( + flag = "-Xmulti-dollar-interpolation", + doc = "Enable experimental multi-dollar interpolation.", + default = False, + ), + "-Xmulti-platform": struct( + flag = "-Xmulti-platform", + doc = "Enable language support for multiplatform projects.", + default = False, + ), + "-Xmultifile-parts-inherit": struct( + flag = "-Xmultifile-parts-inherit", + doc = "Compile multifile classes as a hierarchy of parts and a facade.", + default = False, + ), + "-Xname-based-destructuring": struct( + flag = "-Xname-based-destructuring", + doc = """Enables the following destructuring features: -Xname-based-destructuring=only-syntax: Enables syntax for positional destructuring with square brackets and the full form of name-based destructuring with parentheses; -Xname-based-destructuring=name-mismatch: Reports warnings when short form positional destructuring of data classes uses names that don't match the property names; -Xname-based-destructuring=complete: Enables short-form name-based destructuring with parentheses;""", - default = None - ), - "-Xnested-type-aliases" : struct( - flag = "-Xnested-type-aliases", - doc = "Enable experimental language support for nested type aliases.", - default = False - ), - "-Xnew-inference" : struct( - flag = "-Xnew-inference", - doc = "Enable the new experimental generic type inference algorithm.", - default = False - ), - "-Xno-call-assertions" : struct( - flag = "-Xno-call-assertions", - doc = "Don't generate not-null assertions for arguments of platform types.", - default = False - ), - "-Xno-check-actual" : struct( - flag = "-Xno-check-actual", - doc = "Do not check for the presence of the 'actual' modifier in multiplatform projects.", - default = False - ), - "-Xno-inline" : struct( - flag = "-Xno-inline", - doc = "Disable method inlining.", - default = False - ), - "-Xno-new-java-annotation-targets" : struct( - flag = "-Xno-new-java-annotation-targets", - doc = "Don't generate Java 1.8+ targets for Kotlin annotation classes.", - default = False - ), - "-Xno-optimize" : struct( - flag = "-Xno-optimize", - doc = "Disable optimizations.", - default = False - ), - "-Xno-param-assertions" : struct( - flag = "-Xno-param-assertions", - doc = "Don't generate not-null assertions on parameters of methods accessible from Java.", - default = False - ), - "-Xno-receiver-assertions" : struct( - flag = "-Xno-receiver-assertions", - doc = "Don't generate not-null assertions for extension receiver arguments of platform types.", - default = False - ), - "-Xno-reset-jar-timestamps" : struct( - flag = "-Xno-reset-jar-timestamps", - doc = "Don't reset jar entry timestamps to a fixed date.", - default = False - ), - "-Xno-source-debug-extension" : struct( - flag = "-Xno-source-debug-extension", - doc = "Don't generate the '@kotlin.jvm.internal.SourceDebugExtension' annotation with an SMAP copy on classes.", - default = False - ), - "-Xno-unified-null-checks" : struct( - flag = "-Xno-unified-null-checks", - doc = "Use pre-1.4 exception types instead of 'java.lang.NPE' in null checks. See KT-22275 for more details.", - default = False - ), - "-Xnon-local-break-continue" : struct( - flag = "-Xnon-local-break-continue", - doc = "Enable experimental non-local break and continue.", - default = False - ), - "-Xnullability-annotations" : struct( - flag = "-Xnullability-annotations", - doc = """Specify the behavior for specific Java nullability annotations (provided with fully qualified package name). + default = None, + ), + "-Xnested-type-aliases": struct( + flag = "-Xnested-type-aliases", + doc = "Enable experimental language support for nested type aliases.", + default = False, + ), + "-Xnew-inference": struct( + flag = "-Xnew-inference", + doc = "Enable the new experimental generic type inference algorithm.", + default = False, + ), + "-Xno-call-assertions": struct( + flag = "-Xno-call-assertions", + doc = "Don't generate not-null assertions for arguments of platform types.", + default = False, + ), + "-Xno-check-actual": struct( + flag = "-Xno-check-actual", + doc = "Do not check for the presence of the 'actual' modifier in multiplatform projects.", + default = False, + ), + "-Xno-inline": struct( + flag = "-Xno-inline", + doc = "Disable method inlining.", + default = False, + ), + "-Xno-new-java-annotation-targets": struct( + flag = "-Xno-new-java-annotation-targets", + doc = "Don't generate Java 1.8+ targets for Kotlin annotation classes.", + default = False, + ), + "-Xno-optimize": struct( + flag = "-Xno-optimize", + doc = "Disable optimizations.", + default = False, + ), + "-Xno-param-assertions": struct( + flag = "-Xno-param-assertions", + doc = "Don't generate not-null assertions on parameters of methods accessible from Java.", + default = False, + ), + "-Xno-receiver-assertions": struct( + flag = "-Xno-receiver-assertions", + doc = "Don't generate not-null assertions for extension receiver arguments of platform types.", + default = False, + ), + "-Xno-reset-jar-timestamps": struct( + flag = "-Xno-reset-jar-timestamps", + doc = "Don't reset jar entry timestamps to a fixed date.", + default = False, + ), + "-Xno-source-debug-extension": struct( + flag = "-Xno-source-debug-extension", + doc = "Don't generate the '@kotlin.jvm.internal.SourceDebugExtension' annotation with an SMAP copy on classes.", + default = False, + ), + "-Xno-unified-null-checks": struct( + flag = "-Xno-unified-null-checks", + doc = "Use pre-1.4 exception types instead of 'java.lang.NPE' in null checks. See KT-22275 for more details.", + default = False, + ), + "-Xnon-local-break-continue": struct( + flag = "-Xnon-local-break-continue", + doc = "Enable experimental non-local break and continue.", + default = False, + ), + "-Xnullability-annotations": struct( + flag = "-Xnullability-annotations", + doc = """Specify the behavior for specific Java nullability annotations (provided with fully qualified package name). Modes: * ignore * strict * warn (report a warning)""", - default = [] - ), - "-Xoutput-builtins-metadata" : struct( - flag = "-Xoutput-builtins-metadata", - doc = "Output builtins metadata as .kotlin_builtins files", - default = False - ), - "-Xphases-to-dump" : struct( - flag = "-Xphases-to-dump", - doc = "Dump the backend's state both before and after these phases.", - default = [] - ), - "-Xphases-to-dump-after" : struct( - flag = "-Xphases-to-dump-after", - doc = "Dump the backend's state after these phases.", - default = [] - ), - "-Xphases-to-dump-before" : struct( - flag = "-Xphases-to-dump-before", - doc = "Dump the backend's state before these phases.", - default = [] - ), - "-Xphases-to-validate" : struct( - flag = "-Xphases-to-validate", - doc = "Validate the backend's state both before and after these phases.", - default = [] - ), - "-Xphases-to-validate-after" : struct( - flag = "-Xphases-to-validate-after", - doc = "Validate the backend's state after these phases.", - default = [] - ), - "-Xphases-to-validate-before" : struct( - flag = "-Xphases-to-validate-before", - doc = "Validate the backend's state before these phases.", - default = [] - ), - "-Xprofile" : struct( - flag = "-Xprofile", - doc = """Debug option: Run the compiler with the async profiler and save snapshots to `outputDir`; `command` is passed to the async profiler on start. + default = [], + ), + "-Xoutput-builtins-metadata": struct( + flag = "-Xoutput-builtins-metadata", + doc = "Output builtins metadata as .kotlin_builtins files", + default = False, + ), + "-Xphases-to-dump": struct( + flag = "-Xphases-to-dump", + doc = "Dump the backend's state both before and after these phases.", + default = [], + ), + "-Xphases-to-dump-after": struct( + flag = "-Xphases-to-dump-after", + doc = "Dump the backend's state after these phases.", + default = [], + ), + "-Xphases-to-dump-before": struct( + flag = "-Xphases-to-dump-before", + doc = "Dump the backend's state before these phases.", + default = [], + ), + "-Xphases-to-validate": struct( + flag = "-Xphases-to-validate", + doc = "Validate the backend's state both before and after these phases.", + default = [], + ), + "-Xphases-to-validate-after": struct( + flag = "-Xphases-to-validate-after", + doc = "Validate the backend's state after these phases.", + default = [], + ), + "-Xphases-to-validate-before": struct( + flag = "-Xphases-to-validate-before", + doc = "Validate the backend's state before these phases.", + default = [], + ), + "-Xprofile": struct( + flag = "-Xprofile", + doc = """Debug option: Run the compiler with the async profiler and save snapshots to `outputDir`; `command` is passed to the async profiler on start. `profilerPath` is the path to libasyncProfiler.so; async-profiler.jar should be on the compiler classpath. If it's not on the classpath, the compiler will attempt to load async-profiler.jar from the containing directory of profilerPath. Example: -Xprofile=/async-profiler/build/libasyncProfiler.so:event=cpu,interval=1ms,threads,start:""", - default = None - ), - "-Xprofile-phases" : struct( - flag = "-Xprofile-phases", - doc = "Profile backend phases.", - default = False - ), - "-Xrender-internal-diagnostic-names" : struct( - flag = "-Xrender-internal-diagnostic-names", - doc = "Render the internal names of warnings and errors.", - default = False - ), - "-Xrepl" : struct( - flag = "-Xrepl", - doc = "Run Kotlin REPL (deprecated)", - default = False - ), - "-Xreport-all-warnings" : struct( - flag = "-Xreport-all-warnings", - doc = "Report all warnings even if errors are found.", - default = False - ), - "-Xreport-output-files" : struct( - flag = "-Xreport-output-files", - doc = "Report the source-to-output file mapping.", - default = False - ), - "-Xreport-perf" : struct( - flag = "-Xreport-perf", - doc = "Report detailed performance statistics.", - default = False - ), - "-Xreturn-value-checker" : struct( - flag = "-Xreturn-value-checker", - doc = "Set improved unused return value checker mode. Use 'check' to run checker only and use 'full' to also enable automatic annotation insertion.", - default = "disable" - ), - "-Xsam-conversions" : struct( - flag = "-Xsam-conversions", - doc = """Select the code generation scheme for SAM conversions. + default = None, + ), + "-Xprofile-phases": struct( + flag = "-Xprofile-phases", + doc = "Profile backend phases.", + default = False, + ), + "-Xrender-internal-diagnostic-names": struct( + flag = "-Xrender-internal-diagnostic-names", + doc = "Render the internal names of warnings and errors.", + default = False, + ), + "-Xrepl": struct( + flag = "-Xrepl", + doc = "Run Kotlin REPL (deprecated)", + default = False, + ), + "-Xreport-all-warnings": struct( + flag = "-Xreport-all-warnings", + doc = "Report all warnings even if errors are found.", + default = False, + ), + "-Xreport-output-files": struct( + flag = "-Xreport-output-files", + doc = "Report the source-to-output file mapping.", + default = False, + ), + "-Xreport-perf": struct( + flag = "-Xreport-perf", + doc = "Report detailed performance statistics.", + default = False, + ), + "-Xreturn-value-checker": struct( + flag = "-Xreturn-value-checker", + doc = "Set improved unused return value checker mode. Use 'check' to run checker only and use 'full' to also enable automatic annotation insertion.", + default = "disable", + ), + "-Xsam-conversions": struct( + flag = "-Xsam-conversions", + doc = """Select the code generation scheme for SAM conversions. -Xsam-conversions=indy Generate SAM conversions using 'invokedynamic' with 'LambdaMetafactory.metafactory'. -Xsam-conversions=class Generate SAM conversions as explicit classes. The default value is 'indy'.""", - default = None + default = None, ), - "-Xsanitize-parentheses" : struct( - flag = "-Xsanitize-parentheses", - doc = """Transform '(' and ')' in method names to some other character sequence. + "-Xsanitize-parentheses": struct( + flag = "-Xsanitize-parentheses", + doc = """Transform '(' and ')' in method names to some other character sequence. This mode can BREAK BINARY COMPATIBILITY and should only be used as a workaround for problems with parentheses in identifiers on certain platforms.""", - default = False - ), - "-Xscript-resolver-environment" : struct( - flag = "-Xscript-resolver-environment", - doc = "Set the script resolver environment in key-value pairs (the value can be quoted and escaped).", - default = [] - ), - "-Xseparate-kmp-compilation" : struct( - flag = "-Xseparate-kmp-compilation", - doc = "Enables the separated compilation scheme, in which common source sets are analyzed against their own dependencies", - default = False - ), - "-Xserialize-ir" : struct( - flag = "-Xserialize-ir", - doc = "Save the IR to metadata (Experimental).", - default = "none" - ), - "-Xskip-metadata-version-check" : struct( - flag = "-Xskip-metadata-version-check", - doc = "Allow loading classes with bad metadata versions and pre-release classes.", - default = False - ), - "-Xskip-prerelease-check" : struct( - flag = "-Xskip-prerelease-check", - doc = "Allow loading pre-release classes.", - default = False - ), - "-Xstdlib-compilation" : struct( - flag = "-Xstdlib-compilation", - doc = "Enables special features which are relevant only for stdlib compilation.", - default = False - ), - "-Xstring-concat" : struct( - flag = "-Xstring-concat", - doc = """Select the code generation scheme for string concatenation: + default = False, + ), + "-Xscript-resolver-environment": struct( + flag = "-Xscript-resolver-environment", + doc = "Set the script resolver environment in key-value pairs (the value can be quoted and escaped).", + default = [], + ), + "-Xseparate-kmp-compilation": struct( + flag = "-Xseparate-kmp-compilation", + doc = "Enables the separated compilation scheme, in which common source sets are analyzed against their own dependencies", + default = False, + ), + "-Xserialize-ir": struct( + flag = "-Xserialize-ir", + doc = "Save the IR to metadata (Experimental).", + default = "none", + ), + "-Xskip-metadata-version-check": struct( + flag = "-Xskip-metadata-version-check", + doc = "Allow loading classes with bad metadata versions and pre-release classes.", + default = False, + ), + "-Xskip-prerelease-check": struct( + flag = "-Xskip-prerelease-check", + doc = "Allow loading pre-release classes.", + default = False, + ), + "-Xstdlib-compilation": struct( + flag = "-Xstdlib-compilation", + doc = "Enables special features which are relevant only for stdlib compilation.", + default = False, + ), + "-Xstring-concat": struct( + flag = "-Xstring-concat", + doc = """Select the code generation scheme for string concatenation: -Xstring-concat=indy-with-constants Concatenate strings using 'invokedynamic' and 'makeConcatWithConstants'. This requires '-jvm-target 9' or greater. -Xstring-concat=indy Concatenate strings using 'invokedynamic' and 'makeConcat'. This requires '-jvm-target 9' or greater. -Xstring-concat=inline Concatenate strings using 'StringBuilder' default: 'indy-with-constants' for JVM targets 9 or greater, 'inline' otherwise.""", - default = None + default = None, ), - "-Xsupport-compatqual-checker-framework-annotations" : struct( - flag = "-Xsupport-compatqual-checker-framework-annotations", - doc = """Specify the behavior for Checker Framework 'compatqual' annotations ('NullableDecl'/'NonNullDecl'). + "-Xsupport-compatqual-checker-framework-annotations": struct( + flag = "-Xsupport-compatqual-checker-framework-annotations", + doc = """Specify the behavior for Checker Framework 'compatqual' annotations ('NullableDecl'/'NonNullDecl'). The default value is 'enable'.""", - default = None + default = None, ), - "-Xsuppress-api-version-greater-than-language-version-error" : struct( - flag = "-Xsuppress-api-version-greater-than-language-version-error", - doc = """Suppress error about API version greater than language version. + "-Xsuppress-api-version-greater-than-language-version-error": struct( + flag = "-Xsuppress-api-version-greater-than-language-version-error", + doc = """Suppress error about API version greater than language version. Warning: This is temporary solution (see KT-63712) intended to be used only for stdlib build.""", - default = False + default = False, ), - "-Xsuppress-deprecated-jvm-target-warning" : struct( - flag = "-Xsuppress-deprecated-jvm-target-warning", - doc = """Suppress warnings about deprecated JVM target versions. + "-Xsuppress-deprecated-jvm-target-warning": struct( + flag = "-Xsuppress-deprecated-jvm-target-warning", + doc = """Suppress warnings about deprecated JVM target versions. This option has no effect and will be deleted in a future version.""", - default = False - ), - "-Xsuppress-missing-builtins-error" : struct( - flag = "-Xsuppress-missing-builtins-error", - doc = """Suppress the "cannot access built-in declaration" error (useful with '-no-stdlib').""", - default = False - ), - "-Xsuppress-version-warnings" : struct( - flag = "-Xsuppress-version-warnings", - doc = "Suppress warnings about outdated, inconsistent, or experimental language or API versions.", - default = False - ), - "-Xsuppress-warning" : struct( - flag = "-Xsuppress-warning", - doc = """Suppress specified warning module-wide. This option is deprecated in favor of "-Xwarning-level" flag""", - default = [] - ), - "-Xtype-enhancement-improvements-strict-mode" : struct( - flag = "-Xtype-enhancement-improvements-strict-mode", - doc = """Enable strict mode for improvements to type enhancement for loaded Java types based on nullability annotations, + default = False, + ), + "-Xsuppress-missing-builtins-error": struct( + flag = "-Xsuppress-missing-builtins-error", + doc = """Suppress the "cannot access built-in declaration" error (useful with '-no-stdlib').""", + default = False, + ), + "-Xsuppress-version-warnings": struct( + flag = "-Xsuppress-version-warnings", + doc = "Suppress warnings about outdated, inconsistent, or experimental language or API versions.", + default = False, + ), + "-Xsuppress-warning": struct( + flag = "-Xsuppress-warning", + doc = """Suppress specified warning module-wide. This option is deprecated in favor of "-Xwarning-level" flag""", + default = [], + ), + "-Xtype-enhancement-improvements-strict-mode": struct( + flag = "-Xtype-enhancement-improvements-strict-mode", + doc = """Enable strict mode for improvements to type enhancement for loaded Java types based on nullability annotations, including the ability to read type-use annotations from class files. See KT-45671 for more details.""", - default = False - ), - "-Xunrestricted-builder-inference" : struct( - flag = "-Xunrestricted-builder-inference", - doc = "Eliminate builder inference restrictions, for example by allowing type variables to be returned from builder inference calls.", - default = False - ), - "-Xuse-14-inline-classes-mangling-scheme" : struct( - flag = "-Xuse-14-inline-classes-mangling-scheme", - doc = "Use the scheme for inline class mangling from version 1.4 instead of the one from 1.4.30.", - default = False - ), - "-Xuse-fast-jar-file-system" : struct( - flag = "-Xuse-fast-jar-file-system", - doc = "Use the fast implementation of Jar FS. This may speed up compilation time, but it is experimental.", - default = False - ), - "-Xuse-fir-experimental-checkers" : struct( - flag = "-Xuse-fir-experimental-checkers", - doc = "Enable experimental frontend IR checkers that are not yet ready for production.", - default = False - ), - "-Xuse-fir-ic" : struct( - flag = "-Xuse-fir-ic", - doc = """Compile using frontend IR internal incremental compilation. + default = False, + ), + "-Xunrestricted-builder-inference": struct( + flag = "-Xunrestricted-builder-inference", + doc = "Eliminate builder inference restrictions, for example by allowing type variables to be returned from builder inference calls.", + default = False, + ), + "-Xuse-14-inline-classes-mangling-scheme": struct( + flag = "-Xuse-14-inline-classes-mangling-scheme", + doc = "Use the scheme for inline class mangling from version 1.4 instead of the one from 1.4.30.", + default = False, + ), + "-Xuse-fast-jar-file-system": struct( + flag = "-Xuse-fast-jar-file-system", + doc = "Use the fast implementation of Jar FS. This may speed up compilation time, but it is experimental.", + default = False, + ), + "-Xuse-fir-experimental-checkers": struct( + flag = "-Xuse-fir-experimental-checkers", + doc = "Enable experimental frontend IR checkers that are not yet ready for production.", + default = False, + ), + "-Xuse-fir-ic": struct( + flag = "-Xuse-fir-ic", + doc = """Compile using frontend IR internal incremental compilation. Warning: This feature is not yet production-ready.""", - default = False - ), - "-Xuse-fir-lt" : struct( - flag = "-Xuse-fir-lt", - doc = "Compile using the LightTree parser with the frontend IR.", - default = True - ), - "-Xuse-inline-scopes-numbers" : struct( - flag = "-Xuse-inline-scopes-numbers", - doc = "Use inline scopes numbers for inline marker variables.", - default = False - ), - "-Xuse-javac" : struct( - flag = "-Xuse-javac", - doc = "Use javac for Java source and class file analysis.", - default = False - ), - "-Xuse-k2" : struct( - flag = "-Xuse-k2", - doc = "Compile using the experimental K2 compiler pipeline. No compatibility guarantees are provided yet.", - default = False - ), - "-Xuse-old-class-files-reading" : struct( - flag = "-Xuse-old-class-files-reading", - doc = """Use the old implementation for reading class files. This may slow down the compilation and cause problems with Groovy interop. + default = False, + ), + "-Xuse-fir-lt": struct( + flag = "-Xuse-fir-lt", + doc = "Compile using the LightTree parser with the frontend IR.", + default = True, + ), + "-Xuse-inline-scopes-numbers": struct( + flag = "-Xuse-inline-scopes-numbers", + doc = "Use inline scopes numbers for inline marker variables.", + default = False, + ), + "-Xuse-javac": struct( + flag = "-Xuse-javac", + doc = "Use javac for Java source and class file analysis.", + default = False, + ), + "-Xuse-k2": struct( + flag = "-Xuse-k2", + doc = "Compile using the experimental K2 compiler pipeline. No compatibility guarantees are provided yet.", + default = False, + ), + "-Xuse-old-class-files-reading": struct( + flag = "-Xuse-old-class-files-reading", + doc = """Use the old implementation for reading class files. This may slow down the compilation and cause problems with Groovy interop. This can be used in the event of problems with the new implementation.""", - default = False - ), - "-Xuse-type-table" : struct( - flag = "-Xuse-type-table", - doc = "Use a type table in metadata serialization.", - default = False - ), - "-Xvalidate-bytecode" : struct( - flag = "-Xvalidate-bytecode", - doc = "Validate generated JVM bytecode before and after optimizations.", - default = False - ), - "-Xvalue-classes" : struct( - flag = "-Xvalue-classes", - doc = "Enable experimental value classes.", - default = False - ), - "-Xverbose-phases" : struct( - flag = "-Xverbose-phases", - doc = "Be verbose while performing the given backend phases.", - default = [] - ), - "-Xverify-ir" : struct( - flag = "-Xverify-ir", - doc = "IR verification mode (no verification by default).", - default = None - ), - "-Xverify-ir-visibility" : struct( - flag = "-Xverify-ir-visibility", - doc = "Check for visibility violations in IR when validating it before running any lowerings. Only has effect if '-Xverify-ir' is not 'none'.", - default = False - ), - "-Xwarning-level" : struct( - flag = "-Xwarning-level", - doc = """Set the severity of the given warning. + default = False, + ), + "-Xuse-type-table": struct( + flag = "-Xuse-type-table", + doc = "Use a type table in metadata serialization.", + default = False, + ), + "-Xvalidate-bytecode": struct( + flag = "-Xvalidate-bytecode", + doc = "Validate generated JVM bytecode before and after optimizations.", + default = False, + ), + "-Xvalue-classes": struct( + flag = "-Xvalue-classes", + doc = "Enable experimental value classes.", + default = False, + ), + "-Xverbose-phases": struct( + flag = "-Xverbose-phases", + doc = "Be verbose while performing the given backend phases.", + default = [], + ), + "-Xverify-ir": struct( + flag = "-Xverify-ir", + doc = "IR verification mode (no verification by default).", + default = None, + ), + "-Xverify-ir-visibility": struct( + flag = "-Xverify-ir-visibility", + doc = "Check for visibility violations in IR when validating it before running any lowerings. Only has effect if '-Xverify-ir' is not 'none'.", + default = False, + ), + "-Xwarning-level": struct( + flag = "-Xwarning-level", + doc = """Set the severity of the given warning. - `error` level raises the severity of a warning to error level (similar to -Werror but more granular) - `disabled` level suppresses reporting of a warning (similar to -nowarn but more granular) - `warning` level overrides -nowarn and -Werror for this specific warning (the warning will be reported/won't be considered as an error)""", - default = [] + default = [], ), - "-Xwhen-expressions" : struct( - flag = "-Xwhen-expressions", - doc = """Select the code generation scheme for type-checking 'when' expressions: + "-Xwhen-expressions": struct( + flag = "-Xwhen-expressions", + doc = """Select the code generation scheme for type-checking 'when' expressions: -Xwhen-expressions=indy Generate type-checking 'when' expressions using 'invokedynamic' with 'SwitchBootstraps.typeSwitch(..)' and following 'tableswitch' or 'lookupswitch'. This requires '-jvm-target 21' or greater. -Xwhen-expressions=inline Generate type-checking 'when' expressions as a chain of type checks. The default value is 'inline'.""", - default = None - ), - "-Xwhen-guards" : struct( - flag = "-Xwhen-guards", - doc = "Enable experimental language support for when guards.", - default = False - ), - "-api-version" : struct( - flag = "-api-version", - doc = "Allow using declarations from only the specified version of bundled libraries.", - default = None - ), - "-java-parameters" : struct( - flag = "-java-parameters", - doc = "Generate metadata for Java 1.8 reflection on method parameters.", - default = False - ), - "-jvm-default" : struct( - flag = "-jvm-default", - doc = """Emit JVM default methods for interface declarations with bodies. The default is 'enable'. + default = None, + ), + "-Xwhen-guards": struct( + flag = "-Xwhen-guards", + doc = "Enable experimental language support for when guards.", + default = False, + ), + "-api-version": struct( + flag = "-api-version", + doc = "Allow using declarations from only the specified version of bundled libraries.", + default = None, + ), + "-java-parameters": struct( + flag = "-java-parameters", + doc = "Generate metadata for Java 1.8 reflection on method parameters.", + default = False, + ), + "-jvm-default": struct( + flag = "-jvm-default", + doc = """Emit JVM default methods for interface declarations with bodies. The default is 'enable'. -jvm-default=enable Generate default methods for non-abstract interface declarations, as well as 'DefaultImpls' classes with static methods for compatibility with code compiled in the 'disable' mode. This is the default behavior since language version 2.2. -jvm-default=no-compatibility Generate default methods for non-abstract interface declarations. Do not generate 'DefaultImpls' classes. -jvm-default=disable Do not generate JVM default methods. This is the default behavior up to language version 2.1.""", - default = None - ), - "-jvm-target" : struct( - flag = "-jvm-target", - doc = "The target version of the generated JVM bytecode (1.8 and 9–25), with 1.8 as the default.", - default = None - ), - "-language-version" : struct( - flag = "-language-version", - doc = "Provide source compatibility with the specified version of Kotlin.", - default = None - ), - "-no-reflect" : struct( - flag = "-no-reflect", - doc = "Don't automatically include the Kotlin reflection dependency in the classpath.", - default = False - ), - "-nowarn" : struct( - flag = "-nowarn", - doc = "Don't generate any warnings.", - default = False - ), - "-opt-in" : struct( - flag = "-opt-in", - doc = "Enable API usages that require opt-in with an opt-in requirement marker with the given fully qualified name.", - default = [] - ), - "-progressive" : struct( - flag = "-progressive", - doc = """Enable progressive compiler mode. + default = None, + ), + "-jvm-target": struct( + flag = "-jvm-target", + doc = "The target version of the generated JVM bytecode (1.8 and 9–25), with 1.8 as the default.", + default = None, + ), + "-language-version": struct( + flag = "-language-version", + doc = "Provide source compatibility with the specified version of Kotlin.", + default = None, + ), + "-no-reflect": struct( + flag = "-no-reflect", + doc = "Don't automatically include the Kotlin reflection dependency in the classpath.", + default = False, + ), + "-nowarn": struct( + flag = "-nowarn", + doc = "Don't generate any warnings.", + default = False, + ), + "-opt-in": struct( + flag = "-opt-in", + doc = "Enable API usages that require opt-in with an opt-in requirement marker with the given fully qualified name.", + default = [], + ), + "-progressive": struct( + flag = "-progressive", + doc = """Enable progressive compiler mode. In this mode, deprecations and bug fixes for unstable code take effect immediately instead of going through a graceful migration cycle. Code written in progressive mode is backward compatible; however, code written without progressive mode enabled may cause compilation errors in progressive mode.""", - default = False - ), - "-verbose" : struct( - flag = "-verbose", - doc = "Enable verbose logging output.", - default = False - ), - "-version" : struct( - flag = "-version", - doc = "Display the compiler version.", - default = False - ) -} \ No newline at end of file + default = False, + ), + "-verbose": struct( + flag = "-verbose", + doc = "Enable verbose logging output.", + default = False, + ), + "-version": struct( + flag = "-version", + doc = "Display the compiler version.", + default = False, + ), +} From e9222281dd8eedb05c42964f32209e663c1faedb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20G=C5=82uszak?= Date: Mon, 9 Feb 2026 15:23:12 +0100 Subject: [PATCH 6/8] ci: limit integration shards to 3 local test jobs Reduce local integration test parallelism in bazelci presubmit shards to avoid resource contention and flakiness. --- .bazelci/presubmit.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index 6c64a80d6..f16e8b5dd 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml @@ -36,9 +36,9 @@ # bazelci pipeline matrix: integration_shard_flags: - - ["--test_tag_filters=shard_0"] - - ["--test_tag_filters=shard_1"] - - ["--test_tag_filters=shard_2"] + - ["--test_tag_filters=shard_0", "--local_test_jobs=3" ] + - ["--test_tag_filters=shard_1", "--local_test_jobs=3" ] + - ["--test_tag_filters=shard_2", "--local_test_jobs=3" ] test_flags: - ["--enable_bzlmod=true"] validate_config: 1 From b7a58e23077b54d06dd4eafe4a0e9873f6e7bb4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20G=C5=82uszak?= Date: Wed, 11 Feb 2026 00:22:40 +0100 Subject: [PATCH 7/8] Update stardoc --- MODULE.bazel | 2 +- docs/kotlin.md | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index f63899d72..8af54e015 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -143,7 +143,7 @@ use_repo(maven, "kotlin_rules_maven", "unpinned_kotlin_rules_maven") bazel_dep(name = "rules_pkg", version = "1.0.1") -bazel_dep(name = "stardoc", version = "0.8.0", dev_dependency = True, repo_name = "io_bazel_stardoc") +bazel_dep(name = "stardoc", version = "0.8.1", dev_dependency = True, repo_name = "io_bazel_stardoc") bazel_dep(name = "rules_testing", version = "0.9.0", dev_dependency = True) bazel_dep(name = "rules_bazel_integration_test", version = "0.37.1", dev_dependency = True) diff --git a/docs/kotlin.md b/docs/kotlin.md index 5e0b1a334..3d98e6e83 100644 --- a/docs/kotlin.md +++ b/docs/kotlin.md @@ -60,7 +60,7 @@ It is appropriate for building workspace utilities. `java_binary` should be pref | data | The list of files needed by this rule at runtime. See general comments about `data` at [Attributes common to all build rules](https://docs.bazel.build/versions/master/be/common-definitions.html#common-attributes). | List of labels | optional | `[]` | | resources | A list of files that should be include in a Java jar. | List of labels | optional | `[]` | | associates | Kotlin deps who should be considered part of the same module/compilation-unit for the purposes of "internal" access. Such deps must all share the same module space and so a target cannot associate to two deps from two different modules. | List of labels | optional | `[]` | -| env | Environment variables to set when this binary is executed with `bazel run`. Note: for Starlark rules, values are used as-is (no automatic $(location) / make variable expansion). | Dictionary: String -> String | optional | `{}` | +| env | Environment variables to set when this binary is executed with `bazel run`. Note: for Starlark rules, values are used as-is (no automatic $(location) / make variable expansion). | Dictionary: String -> String | optional | `{}` | | env_inherit | Names of environment variables to inherit from the shell when executed with `bazel run`. | List of strings | optional | `[]` | | java_stub_template | - | Label | optional | `"@rules_kotlin//third_party:java_stub_template.txt"` | | javac_opts | Javac options to be used when compiling this target. These opts if provided will be used instead of the ones provided to the toolchain. | Label | optional | `None` | @@ -199,7 +199,7 @@ Setup a simple kotlin_test. | data | The list of files needed by this rule at runtime. See general comments about `data` at [Attributes common to all build rules](https://docs.bazel.build/versions/master/be/common-definitions.html#common-attributes). | List of labels | optional | `[]` | | resources | A list of files that should be include in a Java jar. | List of labels | optional | `[]` | | associates | Kotlin deps who should be considered part of the same module/compilation-unit for the purposes of "internal" access. Such deps must all share the same module space and so a target cannot associate to two deps from two different modules. | List of labels | optional | `[]` | -| env | Specifies additional environment variables to set when the target is executed by bazel test. | Dictionary: String -> String | optional | `{}` | +| env | Specifies additional environment variables to set when the target is executed by bazel test. | Dictionary: String -> String | optional | `{}` | | env_inherit | Environment variables to inherit from the external environment. | List of strings | optional | `[]` | | java_stub_template | - | Label | optional | `"@rules_kotlin//third_party:java_stub_template.txt"` | | javac_opts | Javac options to be used when compiling this target. These opts if provided will be used instead of the ones provided to the toolchain. | Label | optional | `None` | @@ -345,7 +345,7 @@ kt_jvm_library( | data | The list of data files to be used by compiler's plugin | List of labels | optional | `[]` | | compile_phase | Runs the compiler plugin during kotlin compilation. Known examples: `allopen`, `sam_with_reciever` | Boolean | optional | `True` | | id | The ID of the plugin | String | required | | -| options | Dictionary of options to be passed to the plugin. Supports the following template values:

- `{generatedClasses}`: directory for generated class output - `{temp}`: temporary directory, discarded between invocations - `{generatedSources}`: directory for generated source output - `{classpath}` : replaced with a list of jars separated by the filesystem appropriate separator. | Dictionary: String -> String | optional | `{}` | +| options | Dictionary of options to be passed to the plugin. Supports the following template values:

- `{generatedClasses}`: directory for generated class output - `{temp}`: temporary directory, discarded between invocations - `{generatedSources}`: directory for generated source output - `{classpath}` : replaced with a list of jars separated by the filesystem appropriate separator. | Dictionary: String -> String | optional | `{}` | | stubs_phase | Runs the compiler plugin in kapt stub generation. | Boolean | optional | `True` | | target_embedded_compiler | Plugin was compiled against the embeddable kotlin compiler. These plugins expect shaded kotlinc dependencies, and will fail when running against a non-embeddable compiler. | Boolean | optional | `False` | @@ -441,7 +441,7 @@ Define kotlin compiler options. | x_type_enhancement_improvements_strict_mode | Enables strict mode for type enhancement improvements, enforcing stricter type checking and enhancements. | Boolean | optional | `False` | | x_use_fir_lt | Compile using LightTree parser with Front-end IR. Warning: this feature is far from being production-ready | Boolean | optional | `False` | | x_use_k2 | Compile using experimental K2. K2 is a new compiler pipeline, no compatibility guarantees are yet provided | Boolean | optional | `False` | -| x_warning_level | Suppress specific warnings globally. Ex: 'OPTION': '(error\|warning\|disabled)' | Dictionary: String -> String | optional | `{}` | +| x_warning_level | Suppress specific warnings globally. Ex: 'OPTION': '(error\|warning\|disabled)' | Dictionary: String -> String | optional | `{}` | @@ -511,7 +511,7 @@ This allows setting options and dependencies independently from the initial plug | name | A unique name for this target. | Name | required | | | deps | Dependencies for this configuration. | List of labels | optional | `[]` | | data | The list of data files to be used by compiler's plugin | List of labels | optional | `[]` | -| options | A dictionary of flag to values to be used as plugin configuration options. | Dictionary: String -> List of strings | optional | `{}` | +| options | A dictionary of flag to values to be used as plugin configuration options. | Dictionary: String -> List of strings | optional | `{}` | | plugin | The plugin to associate with this configuration | Label | required | | From 2ceeb015e5c8fe2b5b5e6cd49234917f25adb8f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20G=C5=82uszak?= Date: Fri, 13 Feb 2026 20:37:04 +0100 Subject: [PATCH 8/8] Add rules_shell to examples/associates/WORKSPACE --- examples/associates/WORKSPACE | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/examples/associates/WORKSPACE b/examples/associates/WORKSPACE index e73813e7e..a09dfc01d 100644 --- a/examples/associates/WORKSPACE +++ b/examples/associates/WORKSPACE @@ -22,6 +22,13 @@ http_archive( urls = [url.format(version = versions.RULES_ANDROID.version) for url in versions.RULES_ANDROID.url_templates], ) +http_archive( + name = "rules_shell", + sha256 = "3e114424a5c7e4fd43e0133cc6ecdfe54e45ae8affa14fadd839f29901424043", + strip_prefix = "rules_shell-0.4.0", + url = "https://github.com/bazelbuild/rules_shell/releases/download/v0.4.0/rules_shell-v0.4.0.tar.gz", +) + http_archive( name = "bazel_skylib", sha256 = versions.BAZEL_SKYLIB.sha256, @@ -96,6 +103,12 @@ load("@rules_kotlin//kotlin:core.bzl", "kt_register_toolchains") kt_register_toolchains() +load("@rules_shell//shell:repositories.bzl", "rules_shell_dependencies", "rules_shell_toolchains") + +rules_shell_dependencies() + +rules_shell_toolchains() + load("@rules_jvm_external//:defs.bzl", "maven_install") maven_install(