Skip to content

Commit 82a7050

Browse files
Paolo Tranquillismowton
authored andcommitted
Bazel: update rules_kotlin to 2.1.3
1 parent 44e4027 commit 82a7050

File tree

6 files changed

+94
-1
lines changed

6 files changed

+94
-1
lines changed

MODULE.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ bazel_dep(name = "bazel_skylib", version = "1.7.1")
2424
bazel_dep(name = "abseil-cpp", version = "20240116.1", repo_name = "absl")
2525
bazel_dep(name = "nlohmann_json", version = "3.11.3", repo_name = "json")
2626
bazel_dep(name = "fmt", version = "10.0.0")
27-
bazel_dep(name = "rules_kotlin", version = "2.0.0-codeql.1")
27+
bazel_dep(name = "rules_kotlin", version = "2.1.3-codeql.1")
2828
bazel_dep(name = "gazelle", version = "0.40.0")
2929
bazel_dep(name = "rules_dotnet", version = "0.17.4")
3030
bazel_dep(name = "googletest", version = "1.14.0.bcr.1")
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
module(
2+
name = "rules_kotlin",
3+
version = "2.1.3-codeql.1",
4+
compatibility_level = 1,
5+
repo_name = "rules_kotlin",
6+
)
7+
8+
bazel_dep(name = "platforms", version = "0.0.11")
9+
bazel_dep(name = "bazel_skylib", version = "1.7.1")
10+
bazel_dep(name = "rules_java", version = "7.2.0")
11+
bazel_dep(name = "rules_python", version = "0.23.1")
12+
bazel_dep(name = "rules_cc", version = "0.0.8")
13+
bazel_dep(name = "rules_android", version = "0.1.1")
14+
15+
rules_kotlin_extensions = use_extension(
16+
"//src/main/starlark/core/repositories:bzlmod_setup.bzl",
17+
"rules_kotlin_extensions",
18+
)
19+
use_repo(
20+
rules_kotlin_extensions,
21+
"com_github_google_ksp",
22+
"com_github_jetbrains_kotlin",
23+
"com_github_pinterest_ktlint",
24+
"kotlinx_serialization_core_jvm",
25+
"kotlinx_serialization_json",
26+
"kotlinx_serialization_json_jvm",
27+
)
28+
29+
register_toolchains("//kotlin/internal:default_toolchain")
30+
31+
# TODO(bencodes) We should be able to remove this once rules_android has rolled out official Bzlmod support
32+
remote_android_extensions = use_extension("@bazel_tools//tools/android:android_extensions.bzl", "remote_android_tools_extensions")
33+
use_repo(remote_android_extensions, "android_gmaven_r8", "android_tools")
34+
35+
bazel_dep(name = "rules_proto", version = "5.3.0-21.7")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
diff --git a/src/main/starlark/core/options/opts.kotlinc.bzl b/src/main/starlark/core/options/opts.kotlinc.bzl
2+
index 76df826..ef2d6ca 100644
3+
--- a/src/main/starlark/core/options/opts.kotlinc.bzl
4+
+++ b/src/main/starlark/core/options/opts.kotlinc.bzl
5+
@@ -33,6 +33,11 @@ def _map_jdk_release_to_flag(version):
6+
return None
7+
return ["-Xjdk-release=%s" % version]
8+
9+
+def _map_language_version_to_flag(version):
10+
+ if not version:
11+
+ return None
12+
+ return ["-language-version=%s" % version, "-api-version=%s" % version]
13+
+
14+
_KOPTS_ALL = {
15+
"warn": struct(
16+
args = dict(
17+
@@ -429,6 +434,15 @@ _KOPTS_ALL = {
18+
value_to_flag = None,
19+
map_value_to_flag = _map_jdk_release_to_flag,
20+
),
21+
+ "language_version": struct(
22+
+ args = dict(
23+
+ default = "1.9",
24+
+ doc = "-language-version",
25+
+ ),
26+
+ type = attr.string,
27+
+ value_to_flag = None,
28+
+ map_value_to_flag = _map_language_version_to_flag,
29+
+ ),
30+
}
31+
32+
def _merge(key, rule_defined):
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Emitting jdeps is broken for the 2.0.0 kotlin extractor, and we don't need those files.
2+
Patching it here rather than passing `--@rules_kotlin//kotlin/settings:jvm_emit_jdeps=false`
3+
allows us to not have to specify that option (and therefore pull in `rules_kotlin`) in `semmle-code`.
4+
diff --git a/kotlin/settings/BUILD.bazel b/kotlin/settings/BUILD.bazel
5+
index 2c93c11..f352b80 100644
6+
--- a/kotlin/settings/BUILD.bazel
7+
+++ b/kotlin/settings/BUILD.bazel
8+
@@ -25,7 +25,7 @@ release_archive(
9+
# Flag that controls the emission of jdeps files during kotlin jvm compilation.
10+
bool_flag(
11+
name = "jvm_emit_jdeps",
12+
- build_setting_default = True, # Upstream default behavior
13+
+ build_setting_default = False,
14+
visibility = ["//visibility:public"],
15+
)
16+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"integrity": "sha256-4USKVrJGJAeyaI3qht9cN1s2oJkb1HjC3dlMlxaBJeI=",
3+
"url": "https://github.com/bazelbuild/rules_kotlin/releases/download/v2.1.3/rules_kotlin-v2.1.3.tar.gz",
4+
"patches": {
5+
"codeql_do_not_emit_jdeps.patch": "sha256-1ir4Aio1SICxnj1wafQ0GefT/m7bwn2n+SQwq19V3A8=",
6+
"codeql_add_language_version_option.patch": "sha256-F7RthnrO6kJlCNcQ76L1Utqll2OwyeFZ/HmT82NwgB4="
7+
},
8+
"patch_strip": 1
9+
}

misc/bazel/registry/modules/rules_kotlin/metadata.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"github:bazelbuild/rules_kotlin"
2222
],
2323
"versions": [
24+
"2.1.3-codeql.1",
2425
"2.0.0-codeql.1"
2526
],
2627
"yanked_versions": {}

0 commit comments

Comments
 (0)