xref: /aosp_15_r20/external/bazelbuild-kotlin-rules/toolchains/kotlin_jvm/BUILD (revision 3a22c0a33dd99bcca39a024d43e6fbcc55c2806e)
1*3a22c0a3SAlix# Copyright 2022 Google LLC. All rights reserved.
2*3a22c0a3SAlix#
3*3a22c0a3SAlix# Licensed under the Apache License, Version 2.0 (the License);
4*3a22c0a3SAlix# you may not use this file except in compliance with the License.
5*3a22c0a3SAlix# You may obtain a copy of the License at
6*3a22c0a3SAlix#
7*3a22c0a3SAlix#     http://www.apache.org/licenses/LICENSE-2.0
8*3a22c0a3SAlix#
9*3a22c0a3SAlix# Unless required by applicable law or agreed to in writing, software
10*3a22c0a3SAlix# distributed under the License is distributed on an "AS IS" BASIS,
11*3a22c0a3SAlix# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*3a22c0a3SAlix# See the License for the specific language governing permissions and
13*3a22c0a3SAlix# limitations under the License.
14*3a22c0a3SAlix
15*3a22c0a3SAlix"""Kotlin/JVM toolchain."""
16*3a22c0a3SAlix
17*3a22c0a3SAlixload("//bazel:stubs.bzl", "integration_test_filegroup")
18*3a22c0a3SAlixload("@bazel_skylib//rules:common_settings.bzl", "string_flag")
19*3a22c0a3SAlixload(":kt_jvm_toolchains.bzl", "kt_jvm_toolchains")
20*3a22c0a3SAlix
21*3a22c0a3SAlixlicenses(["notice"])
22*3a22c0a3SAlix
23*3a22c0a3SAlixpackage(
24*3a22c0a3SAlix    default_visibility = ["//visibility:public"],
25*3a22c0a3SAlix)
26*3a22c0a3SAlix
27*3a22c0a3SAlixtoolchain_type(name = kt_jvm_toolchains.name)
28*3a22c0a3SAlix
29*3a22c0a3SAlixtoolchain(
30*3a22c0a3SAlix    name = "kt_jvm_toolchain_linux",
31*3a22c0a3SAlix    exec_compatible_with = [
32*3a22c0a3SAlix        "@platforms//os:linux",
33*3a22c0a3SAlix    ],
34*3a22c0a3SAlix    toolchain = ":kt_jvm_toolchain_linux_sts_jdk",
35*3a22c0a3SAlix    toolchain_type = kt_jvm_toolchains.type,
36*3a22c0a3SAlix    visibility = ["//visibility:public"],
37*3a22c0a3SAlix)
38*3a22c0a3SAlix
39*3a22c0a3SAlixkt_jvm_toolchains.declare(
40*3a22c0a3SAlix    name = "kt_jvm_toolchain_linux_sts_jdk",
41*3a22c0a3SAlix    # TODO: Required due to magic attribute for DexArchiveAspect, remove once that
42*3a22c0a3SAlix    # attribute is removed.
43*3a22c0a3SAlix    visibility = ["//visibility:public"],
44*3a22c0a3SAlix)
45*3a22c0a3SAlix
46*3a22c0a3SAlixtoolchain(
47*3a22c0a3SAlix    name = "kt_jvm_toolchain_macos",
48*3a22c0a3SAlix    exec_compatible_with = [
49*3a22c0a3SAlix        "@platforms//os:macos",
50*3a22c0a3SAlix    ],
51*3a22c0a3SAlix    toolchain = ":kt_jvm_toolchain_no_turbine_darwin_jdk",
52*3a22c0a3SAlix    toolchain_type = kt_jvm_toolchains.type,
53*3a22c0a3SAlix    visibility = ["//visibility:public"],
54*3a22c0a3SAlix)
55*3a22c0a3SAlix
56*3a22c0a3SAlixkt_jvm_toolchains.declare(
57*3a22c0a3SAlix    name = "kt_jvm_toolchain_no_turbine_darwin_jdk",
58*3a22c0a3SAlix)
59*3a22c0a3SAlix
60*3a22c0a3SAlix# Turn on profiling of Kotlin/JVM actions
61*3a22c0a3SAlix#
62*3a22c0a3SAlix# Matches if the value is a substring of the target label. Empty string matches nothing.
63*3a22c0a3SAlixstring_flag(
64*3a22c0a3SAlix    name = "profiling_filter",
65*3a22c0a3SAlix    build_setting_default = "",
66*3a22c0a3SAlix)
67*3a22c0a3SAlix
68*3a22c0a3SAlixintegration_test_filegroup(
69*3a22c0a3SAlix    name = "bazel_osx_p4deps",
70*3a22c0a3SAlix    deps = [
71*3a22c0a3SAlix        "//:visibility_bzl",
72*3a22c0a3SAlix        "//tools:bazel_osx_p4deps",
73*3a22c0a3SAlix    ],
74*3a22c0a3SAlix)
75