Skip to content

Commit 42d4202

Browse files
committed
Convert strings to label with the correct repository
Remove `absolute_target` and use `Label` in the top-level bzl scope. This makes `Label` correctly evaluate to point to the repository where bzl file resides. Bzlmod is more stringent about labels and `absolute_target` implementation doesn't work with it - the created labels are de-funct. This works towards bazelbuild#660 It's one of the minor issues.
1 parent b96a41d commit 42d4202

File tree

3 files changed

+19
-34
lines changed

3 files changed

+19
-34
lines changed

kotlin/internal/toolchains.bzl

+19-16
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,6 @@ load(
2424
_KtJsInfo = "KtJsInfo",
2525
_TOOLCHAIN_TYPE = "TOOLCHAIN_TYPE",
2626
)
27-
load(
28-
"//src/main/starlark/core/repositories:tools.bzl",
29-
"absolute_target",
30-
)
3127

3228
"""Kotlin Toolchains
3329
@@ -264,9 +260,24 @@ _kt_toolchain = rule(
264260
provides = [platform_common.ToolchainInfo],
265261
)
266262

263+
_KT_DEFAULT_TOOLCHAIN = Label("//kotlin/internal:default_toolchain")
264+
267265
def kt_register_toolchains():
268266
"""This macro registers the kotlin toolchain."""
269-
native.register_toolchains(absolute_target("//kotlin/internal:default_toolchain"))
267+
native.register_toolchains(str(_KT_DEFAULT_TOOLCHAIN))
268+
269+
# Evaluating the select in the context of bzl file to get its repository
270+
_DEBUG_SELECT = select({
271+
Label("//kotlin/internal:builder_debug_trace"): ["trace"],
272+
"//conditions:default": [],
273+
}) + select({
274+
Label("//kotlin/internal:builder_debug_timings"): ["timings"],
275+
"//conditions:default": [],
276+
})
277+
278+
# Evaluating the labels in the context of bzl file to get its repository
279+
_EXPERIMENTAL_USE_ABI_JARS = Label("//kotlin/internal:experimental_use_abi_jars")
280+
_NOEXPERIMENTAL_USE_ABI_JARS = Label("//kotlin/internal:noexperimental_use_abi_jars")
270281

271282
def define_kt_toolchain(
272283
name,
@@ -289,18 +300,10 @@ def define_kt_toolchain(
289300
language_version = language_version,
290301
api_version = api_version,
291302
jvm_target = jvm_target,
292-
debug =
293-
select({
294-
absolute_target("//kotlin/internal:builder_debug_trace"): ["trace"],
295-
"//conditions:default": [],
296-
}) +
297-
select({
298-
absolute_target("//kotlin/internal:builder_debug_timings"): ["timings"],
299-
"//conditions:default": [],
300-
}),
303+
debug = _DEBUG_SELECT,
301304
experimental_use_abi_jars = select({
302-
absolute_target("//kotlin/internal:experimental_use_abi_jars"): True,
303-
absolute_target("//kotlin/internal:noexperimental_use_abi_jars"): False,
305+
_EXPERIMENTAL_USE_ABI_JARS: True,
306+
_NOEXPERIMENTAL_USE_ABI_JARS: False,
304307
"//conditions:default": experimental_use_abi_jars,
305308
}),
306309
experimental_multiplex_workers = experimental_multiplex_workers,

src/main/starlark/core/repositories/BUILD

-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ release_archive(
1919
srcs = [
2020
"BUILD.com_github_jetbrains_kotlin.bazel",
2121
"compiler.bzl",
22-
"tools.bzl",
2322
"versions.bzl",
2423
] + glob(["capabilities_*.bazel"]),
2524
src_map = {

src/main/starlark/core/repositories/tools.bzl

-17
This file was deleted.

0 commit comments

Comments
 (0)