xref: /aosp_15_r20/build/bazel/rules/kotlin/BUILD (revision 7594170e27e0732bc44b93d1440d87a54b6ffe7c)
1*7594170eSAndroid Build Coastguard Worker# Copyright (C) 2023 The Android Open Source Project
2*7594170eSAndroid Build Coastguard Worker#
3*7594170eSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*7594170eSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*7594170eSAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*7594170eSAndroid Build Coastguard Worker#
7*7594170eSAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0
8*7594170eSAndroid Build Coastguard Worker#
9*7594170eSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*7594170eSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*7594170eSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*7594170eSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*7594170eSAndroid Build Coastguard Worker# limitations under the License.
14*7594170eSAndroid Build Coastguard Worker
15*7594170eSAndroid Build Coastguard Workerload("@rules_kotlin//toolchains/kotlin_jvm:kt_jvm_toolchains.bzl", "kt_jvm_toolchain", "kt_jvm_toolchains")
16*7594170eSAndroid Build Coastguard Workerload("//build/bazel/rules/java:versions.bzl", "java_versions")
17*7594170eSAndroid Build Coastguard Worker
18*7594170eSAndroid Build Coastguard Workerkt_jvm_version_select_dict = {
19*7594170eSAndroid Build Coastguard Worker    "//build/bazel/rules/java:host_" + setting: [java_versions.kt_jvm_version_from_normalized_java_version(version)]
20*7594170eSAndroid Build Coastguard Worker    for version, setting in java_versions.VERSION_TO_CONFIG_SETTING.items()
21*7594170eSAndroid Build Coastguard Worker} | {
22*7594170eSAndroid Build Coastguard Worker    "//conditions:default": [java_versions.kt_jvm_version_from_normalized_java_version(java_versions.get_version())],
23*7594170eSAndroid Build Coastguard Worker}
24*7594170eSAndroid Build Coastguard Worker
25*7594170eSAndroid Build Coastguard Workerkt_jvm_toolchain(
26*7594170eSAndroid Build Coastguard Worker    name = "kt_jvm_toolchain_linux_jdk",
27*7594170eSAndroid Build Coastguard Worker    android_java8_apis_desugared = False,
28*7594170eSAndroid Build Coastguard Worker    kotlinc_cli_flags = ["-jvm-target"] + select(kt_jvm_version_select_dict),
29*7594170eSAndroid Build Coastguard Worker    kotlinc_ide_flags = ["-jvm-target"] + select(kt_jvm_version_select_dict),
30*7594170eSAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
31*7594170eSAndroid Build Coastguard Worker)
32*7594170eSAndroid Build Coastguard Worker
33*7594170eSAndroid Build Coastguard Workertoolchain(
34*7594170eSAndroid Build Coastguard Worker    name = "kt_jvm_toolchain_linux",
35*7594170eSAndroid Build Coastguard Worker    exec_compatible_with = [
36*7594170eSAndroid Build Coastguard Worker        "@platforms//os:linux",
37*7594170eSAndroid Build Coastguard Worker    ],
38*7594170eSAndroid Build Coastguard Worker    toolchain = ":kt_jvm_toolchain_linux_jdk",
39*7594170eSAndroid Build Coastguard Worker    toolchain_type = kt_jvm_toolchains.type,
40*7594170eSAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
41*7594170eSAndroid Build Coastguard Worker)
42