Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,10 @@ maven.install(
"com.squareup.moshi:moshi-kotlin:1.15.2",
"com.squareup.moshi:moshi-kotlin-codegen:1.15.2",
"org.codehaus.plexus:plexus-utils:3.0.24",
# kotlin-compiler-arguments-description provides JSON schema of all compiler options
# Used by generator to produce capabilities.bzl with stability metadata
"org.jetbrains.kotlin:kotlin-compiler-arguments-description:2.3.0",
"org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.7.3",
"org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2",
],
fail_if_repin_required = True,
Expand Down
206 changes: 175 additions & 31 deletions docs/kotlin.md

Large diffs are not rendered by default.

76 changes: 74 additions & 2 deletions kotlin_rules_maven_install.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"__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": 1715830214,
"__RESOLVED_ARTIFACTS_HASH": -1677814615,
"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"
Expand Down Expand Up @@ -399,6 +399,13 @@
},
"version": "1.3"
},
"org.jetbrains.kotlin:kotlin-compiler-arguments-description": {
"shasums": {
"jar": "f1bbc25e458cc0ac3ecb2dabf0ab901a53c0889118715fc02fab325cb4767d6d",
"sources": "b0be844090f96391ee5e38faed1abf9ba810c7e585db3077b3ec47d14bf0d638"
},
"version": "2.3.0"
},
"org.jetbrains.kotlin:kotlin-metadata-jvm": {
"shasums": {
"jar": "0c64203991d0232d989cd5e366d6028d27b1b087240818178bd50c268eeab56f",
Expand Down Expand Up @@ -448,6 +455,20 @@
},
"version": "1.4.2"
},
"org.jetbrains.kotlinx:kotlinx-serialization-core-jvm": {
"shasums": {
"jar": "f0adde45864144475385cf4aa7e0b7feb27f61fcf9472665ed98cc971b06b1eb",
"sources": "d084ce9bf130919d4b899db09896531440d1e330919187c7932d7fe0fa5257b8"
},
"version": "1.7.3"
},
"org.jetbrains.kotlinx:kotlinx-serialization-json-jvm": {
"shasums": {
"jar": "b1e9138499ed8d20375edda3f2b1c95f3103a258eff6af9edc5ea07100f2b29c",
"sources": "fddb3c7e3c92692769285476308dd7a39009aed1e8ae80112169d72d75a275ab"
},
"version": "1.7.3"
},
"org.jetbrains:annotations": {
"shasums": {
"jar": "ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478",
Expand Down Expand Up @@ -648,6 +669,10 @@
"org.codehaus.plexus:plexus-utils",
"org.eclipse.sisu:org.eclipse.sisu.inject"
],
"org.jetbrains.kotlin:kotlin-compiler-arguments-description": [
"org.jetbrains.kotlin:kotlin-stdlib",
"org.jetbrains.kotlinx:kotlinx-serialization-json-jvm"
],
"org.jetbrains.kotlin:kotlin-metadata-jvm": [
"org.jetbrains.kotlin:kotlin-stdlib"
],
Expand All @@ -668,6 +693,13 @@
"org.jetbrains.kotlin:kotlin-stdlib",
"org.jetbrains.kotlin:kotlin-stdlib-common"
],
"org.jetbrains.kotlinx:kotlinx-serialization-core-jvm": [
"org.jetbrains.kotlin:kotlin-stdlib"
],
"org.jetbrains.kotlinx:kotlinx-serialization-json-jvm": [
"org.jetbrains.kotlin:kotlin-stdlib",
"org.jetbrains.kotlinx:kotlinx-serialization-core-jvm"
],
"org.ow2.asm:asm-analysis": [
"org.ow2.asm:asm-tree"
],
Expand Down Expand Up @@ -1280,6 +1312,16 @@
"org.hamcrest.core",
"org.hamcrest.internal"
],
"org.jetbrains.kotlin:kotlin-compiler-arguments-description": [
"org.jetbrains.kotlin.arguments.description",
"org.jetbrains.kotlin.arguments.description.removed",
"org.jetbrains.kotlin.arguments.dsl",
"org.jetbrains.kotlin.arguments.dsl.base",
"org.jetbrains.kotlin.arguments.dsl.types",
"org.jetbrains.kotlin.arguments.serialization.json",
"org.jetbrains.kotlin.arguments.serialization.json.base",
"org.jetbrains.kotlin.cli.common.arguments"
],
"org.jetbrains.kotlin:kotlin-metadata-jvm": [
"kotlin.metadata",
"kotlin.metadata.internal",
Expand Down Expand Up @@ -1423,6 +1465,18 @@
"kotlinx.coroutines.sync",
"kotlinx.coroutines.test"
],
"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.kotlinx:kotlinx-serialization-json-jvm": [
"kotlinx.serialization.json",
"kotlinx.serialization.json.internal"
],
"org.jetbrains:annotations": [
"org.intellij.lang.annotations",
"org.jetbrains.annotations"
Expand Down Expand Up @@ -1562,6 +1616,8 @@
"org.eclipse.sisu:org.eclipse.sisu.plexus:jar:sources",
"org.hamcrest:hamcrest-core",
"org.hamcrest:hamcrest-core:jar:sources",
"org.jetbrains.kotlin:kotlin-compiler-arguments-description",
"org.jetbrains.kotlin:kotlin-compiler-arguments-description:jar:sources",
"org.jetbrains.kotlin:kotlin-metadata-jvm",
"org.jetbrains.kotlin:kotlin-metadata-jvm:jar:sources",
"org.jetbrains.kotlin:kotlin-reflect",
Expand All @@ -1576,6 +1632,10 @@
"org.jetbrains.kotlin:kotlin-stdlib:jar:sources",
"org.jetbrains.kotlinx:kotlinx-coroutines-core",
"org.jetbrains.kotlinx:kotlinx-coroutines-core:jar:sources",
"org.jetbrains.kotlinx:kotlinx-serialization-core-jvm",
"org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:jar:sources",
"org.jetbrains.kotlinx:kotlinx-serialization-json-jvm",
"org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:jar:sources",
"org.jetbrains:annotations",
"org.jetbrains:annotations:jar:sources",
"org.jspecify:jspecify",
Expand Down Expand Up @@ -1703,6 +1763,8 @@
"org.eclipse.sisu:org.eclipse.sisu.plexus:jar:sources",
"org.hamcrest:hamcrest-core",
"org.hamcrest:hamcrest-core:jar:sources",
"org.jetbrains.kotlin:kotlin-compiler-arguments-description",
"org.jetbrains.kotlin:kotlin-compiler-arguments-description:jar:sources",
"org.jetbrains.kotlin:kotlin-metadata-jvm",
"org.jetbrains.kotlin:kotlin-metadata-jvm:jar:sources",
"org.jetbrains.kotlin:kotlin-reflect",
Expand All @@ -1717,6 +1779,10 @@
"org.jetbrains.kotlin:kotlin-stdlib:jar:sources",
"org.jetbrains.kotlinx:kotlinx-coroutines-core",
"org.jetbrains.kotlinx:kotlinx-coroutines-core:jar:sources",
"org.jetbrains.kotlinx:kotlinx-serialization-core-jvm",
"org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:jar:sources",
"org.jetbrains.kotlinx:kotlinx-serialization-json-jvm",
"org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:jar:sources",
"org.jetbrains:annotations",
"org.jetbrains:annotations:jar:sources",
"org.jspecify:jspecify",
Expand Down Expand Up @@ -1844,6 +1910,8 @@
"org.eclipse.sisu:org.eclipse.sisu.plexus:jar:sources",
"org.hamcrest:hamcrest-core",
"org.hamcrest:hamcrest-core:jar:sources",
"org.jetbrains.kotlin:kotlin-compiler-arguments-description",
"org.jetbrains.kotlin:kotlin-compiler-arguments-description:jar:sources",
"org.jetbrains.kotlin:kotlin-metadata-jvm",
"org.jetbrains.kotlin:kotlin-metadata-jvm:jar:sources",
"org.jetbrains.kotlin:kotlin-reflect",
Expand All @@ -1858,6 +1926,10 @@
"org.jetbrains.kotlin:kotlin-stdlib:jar:sources",
"org.jetbrains.kotlinx:kotlinx-coroutines-core",
"org.jetbrains.kotlinx:kotlinx-coroutines-core:jar:sources",
"org.jetbrains.kotlinx:kotlinx-serialization-core-jvm",
"org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:jar:sources",
"org.jetbrains.kotlinx:kotlinx-serialization-json-jvm",
"org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:jar:sources",
"org.jetbrains:annotations",
"org.jetbrains:annotations:jar:sources",
"org.jspecify:jspecify",
Expand Down
35 changes: 14 additions & 21 deletions src/main/kotlin/io/bazel/kotlin/generate/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,35 +1,28 @@
load("//kotlin:jvm.bzl", "kt_jvm_binary", "kt_jvm_import", "kt_jvm_library")
load("//kotlin/compiler:compiler.bzl", _KOTLIN_STDLIBS = "KOTLIN_STDLIBS")
load("//kotlin:jvm.bzl", "kt_jvm_binary", "kt_jvm_import")

# Work around neverlink.
kt_jvm_import(
name = "kotlinc_jar",
jars = [
"@com_github_jetbrains_kotlin//:kotlin-compiler",
],
deps = _KOTLIN_STDLIBS,
)

kt_jvm_library(
name = "kotlin_release_options_lib",
srcs = glob(["**/*.kt"]),
visibility = [
"//src/test:__subpackages__",
],
deps = [
":kotlinc_jar",
"//kotlin/compiler:kotlin-reflect",
],
name = "kotlin-compiler-runtime",
jars = ["@com_github_jetbrains_kotlin//:kotlin-compiler"],
)

kt_jvm_binary(
name = "kotlin_release_options",
srcs = glob(["**/*.kt"]),
args = [
"--out",
"$${BUILD_WORKSPACE_DIRECTORY}/src/main/starlark/core/repositories/kotlin",
],
main_class = "io.bazel.kotlin.generate.WriteKotlincCapabilities",
visibility = [
"//src/test:__subpackages__",
],
runtime_deps = [
":kotlin_release_options_lib",
":kotlin-compiler-runtime",
],
deps = [
"//kotlin/compiler:kotlin-compiler",
"//kotlin/compiler:kotlin-reflect",
"@kotlin_rules_maven//:org_jetbrains_kotlin_kotlin_compiler_arguments_description",
"@kotlin_rules_maven//:org_jetbrains_kotlinx_kotlinx_serialization_json_jvm",
],
)
Loading