load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")

# Copyright 2020 The Bazel Authors. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
load("//src/main/starlark/release:packager.bzl", "release_archive")

release_archive(
    name = "pkg",
    src_map = {
        "BUILD.release.bazel": "BUILD.bazel",
    },
)

# Flag that controls the emission of jdeps files during kotlin jvm compilation.
bool_flag(
    name = "jvm_emit_jdeps",
    build_setting_default = True,  # Upstream default behavior
    visibility = ["//visibility:public"],
)

# --@rules_kotlin//kotlin/settings:experimental_prune_transitive_deps=True
bool_flag(
    name = "experimental_prune_transitive_deps",
    build_setting_default = False,
    visibility = ["//visibility:public"],
)

# --@rules_kotlin//kotlin/settings:experimental_strict_associate_dependencies=True
bool_flag(
    name = "experimental_strict_associate_dependencies",
    build_setting_default = False,
    visibility = ["//visibility:public"],
)

bool_flag(
    name = "experimental_build_tools_api",
    build_setting_default = True,
    visibility = ["//visibility:public"],
)
