Merge pull request #17716 from github/criemen/rules-kotlin-2.0.0

Upgrade rules_kotlin to 2.0.0.
This commit is contained in:
Cornelius Riemenschneider
2024-10-10 15:07:50 +02:00
committed by GitHub
7 changed files with 32 additions and 26 deletions

View File

@@ -23,7 +23,7 @@ bazel_dep(name = "bazel_skylib", version = "1.6.1")
bazel_dep(name = "abseil-cpp", version = "20240116.0", repo_name = "absl") bazel_dep(name = "abseil-cpp", version = "20240116.0", repo_name = "absl")
bazel_dep(name = "nlohmann_json", version = "3.11.3", repo_name = "json") bazel_dep(name = "nlohmann_json", version = "3.11.3", repo_name = "json")
bazel_dep(name = "fmt", version = "10.0.0") bazel_dep(name = "fmt", version = "10.0.0")
bazel_dep(name = "rules_kotlin", version = "1.9.4-codeql.1") bazel_dep(name = "rules_kotlin", version = "2.0.0-codeql.1")
bazel_dep(name = "gazelle", version = "0.38.0") bazel_dep(name = "gazelle", version = "0.38.0")
bazel_dep(name = "rules_dotnet", version = "0.15.1") bazel_dep(name = "rules_dotnet", version = "0.15.1")
bazel_dep(name = "googletest", version = "1.14.0.bcr.1") bazel_dep(name = "googletest", version = "1.14.0.bcr.1")

View File

@@ -1,9 +0,0 @@
{
"integrity": "sha256-dsD8wsI+33NjIK3tGs2d3guuQY5XMd8Skz2IbLqGt5U=",
"url": "https://github.com/bazelbuild/rules_kotlin/releases/download/v1.9.4/rules_kotlin-v1.9.4.tar.gz",
"patches": {
"codeql_do_not_emit_jdeps.patch": "sha256-x/HsujFlR1FGrgmbAbRZag9V4vKZZinBcs73tgRS478=",
"codeql_add_language_version_option.patch": "sha256-qFpP/hIvqGzjJi0h8LAQK0UuWqwlj/oCecZYGqlMVP8="
},
"patch_strip": 1
}

View File

@@ -1,14 +1,16 @@
module( module(
name = "rules_kotlin", name = "rules_kotlin",
version = "1.9.4-codeql.1", version = "2.0.0-codeql.1",
compatibility_level = 1,
repo_name = "rules_kotlin", repo_name = "rules_kotlin",
) )
bazel_dep(name = "platforms", version = "0.0.6") bazel_dep(name = "platforms", version = "0.0.10")
bazel_dep(name = "bazel_skylib", version = "1.4.2") bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "rules_java", version = "7.2.0") bazel_dep(name = "rules_java", version = "7.2.0")
bazel_dep(name = "rules_python", version = "0.23.1") bazel_dep(name = "rules_python", version = "0.23.1")
bazel_dep(name = "rules_cc", version = "0.0.8") bazel_dep(name = "rules_cc", version = "0.0.8")
bazel_dep(name = "rules_android", version = "0.1.1")
rules_kotlin_extensions = use_extension( rules_kotlin_extensions = use_extension(
"//src/main/starlark/core/repositories:bzlmod_setup.bzl", "//src/main/starlark/core/repositories:bzlmod_setup.bzl",
@@ -19,7 +21,9 @@ use_repo(
"com_github_google_ksp", "com_github_google_ksp",
"com_github_jetbrains_kotlin", "com_github_jetbrains_kotlin",
"com_github_pinterest_ktlint", "com_github_pinterest_ktlint",
"rules_android", "kotlinx_serialization_core_jvm",
"kotlinx_serialization_json",
"kotlinx_serialization_json_jvm",
) )
register_toolchains("//kotlin/internal:default_toolchain") register_toolchains("//kotlin/internal:default_toolchain")

View File

@@ -1,13 +1,13 @@
We need to build different extractor variants with different -language-version options, which is not allowed We need to build different extractor variants with different -language-version options, which is not allowed
in current kotlin_rules in current kotlin_rules
diff --git a/src/main/starlark/core/options/opts.kotlinc.bzl b/src/main/starlark/core/options/opts.kotlinc.bzl diff --git a/src/main/starlark/core/options/opts.kotlinc.bzl b/src/main/starlark/core/options/opts.kotlinc.bzl
index 9b15fb8..c0ac2cd 100644 index 5e1461b..b93e6aa 100644
--- a/src/main/starlark/core/options/opts.kotlinc.bzl --- a/src/main/starlark/core/options/opts.kotlinc.bzl
+++ b/src/main/starlark/core/options/opts.kotlinc.bzl +++ b/src/main/starlark/core/options/opts.kotlinc.bzl
@@ -28,6 +28,11 @@ def _map_jvm_target_to_flag(version): @@ -33,6 +33,11 @@ def _map_jdk_release_to_flag(version):
return None return None
return ["-jvm-target=%s" % version] return ["-Xjdk-release=%s" % version]
+def _map_language_version_to_flag(version): +def _map_language_version_to_flag(version):
+ if not version: + if not version:
+ return None + return None
@@ -16,9 +16,9 @@ index 9b15fb8..c0ac2cd 100644
_KOPTS_ALL = { _KOPTS_ALL = {
"warn": struct( "warn": struct(
args = dict( args = dict(
@@ -349,6 +354,15 @@ _KOPTS_ALL = { @@ -417,6 +422,15 @@ _KOPTS_ALL = {
value_to_flag = None, value_to_flag = None,
map_value_to_flag = _map_jvm_target_to_flag, map_value_to_flag = _map_jdk_release_to_flag,
), ),
+ "language_version": struct( + "language_version": struct(
+ args = dict( + args = dict(
@@ -30,5 +30,5 @@ index 9b15fb8..c0ac2cd 100644
+ map_value_to_flag = _map_language_version_to_flag, + map_value_to_flag = _map_language_version_to_flag,
+ ), + ),
} }
# Filters out options that are not available in current compiler release # Filters out options that are not available in current compiler release

View File

@@ -1,9 +1,11 @@
Emitting jdeps is broken for the 2.0.0 kotlin extractor, and we don't need those files. Emitting jdeps is broken for the 2.0.0 kotlin extractor, and we don't need those files.
Patching it here rather than passing `--@rules_kotlin//kotlin/settings:jvm_emit_jdeps=false` Patching it here rather than passing `--@rules_kotlin//kotlin/settings:jvm_emit_jdeps=false`
allows us to not have to specify that option (and therefore pull in `rules_kotlin`) in `semmle-code`. allows us to not have to specify that option (and therefore pull in `rules_kotlin`) in `semmle-code`.
--- a/kotlin/settings/BUILD.bazel 2000-01-01 01:00:00.000000000 +0100 diff --git a/kotlin/settings/BUILD.bazel b/kotlin/settings/BUILD.bazel
+++ b/kotlin/settings/BUILD.bazel 2024-04-10 14:51:16.060085986 +0200 index 2c93c11..f352b80 100644
@@ -16,7 +16,7 @@ --- a/kotlin/settings/BUILD.bazel
+++ b/kotlin/settings/BUILD.bazel
@@ -25,7 +25,7 @@ release_archive(
# Flag that controls the emission of jdeps files during kotlin jvm compilation. # Flag that controls the emission of jdeps files during kotlin jvm compilation.
bool_flag( bool_flag(
name = "jvm_emit_jdeps", name = "jvm_emit_jdeps",

View File

@@ -0,0 +1,9 @@
{
"integrity": "sha256-2JcjzJ67t72y66yhr30jg+B0YVZDz5ejZrdYp2t9xEM=",
"url": "https://github.com/bazelbuild/rules_kotlin/releases/download/v2.0.0/rules_kotlin-v2.0.0.tar.gz",
"patches": {
"codeql_do_not_emit_jdeps.patch": "sha256-1ir4Aio1SICxnj1wafQ0GefT/m7bwn2n+SQwq19V3A8=",
"codeql_add_language_version_option.patch": "sha256-t8Fm0bYZ4Q4vTqcoXZjyK4WPEoAafjE4whJLNnrnRbg="
},
"patch_strip": 1
}

View File

@@ -21,7 +21,7 @@
"github:bazelbuild/rules_kotlin" "github:bazelbuild/rules_kotlin"
], ],
"versions": [ "versions": [
"1.9.4-codeql.1" "2.0.0-codeql.1"
], ],
"yanked_versions": {} "yanked_versions": {}
} }