# Copyright © 2024-2026 Apple Inc. and the Pkl project 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 # # https://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. """apple/rules_pkl""" module( name = "rules_pkl", version = "0.15.0", bazel_compatibility = [">=7.0.0"], compatibility_level = 1, ) bazel_dep(name = "aspect_bazel_lib", version = "2.21.2") bazel_dep(name = "bazel_skylib", version = "1.8.1") bazel_dep(name = "platforms", version = "0.0.11") bazel_dep(name = "rules_java", version = "8.15.2") bazel_dep(name = "rules_jvm_external", version = "6.7") bazel_dep(name = "rules_shell", version = "0.4.1") bazel_dep(name = "buildifier_prebuilt", version = "8.2.0.2", dev_dependency = True) bazel_dep(name = "gazelle", version = "0.44.0", dev_dependency = True, repo_name = "bazel_gazelle") bazel_dep(name = "rules_bazel_integration_test", version = "0.34.0", dev_dependency = True) bazel_dep(name = "rules_python", version = "1.4.1", dev_dependency = True) bazel_dep(name = "stardoc", version = "0.8.0", dev_dependency = True) pkl = use_extension("//pkl/extensions:pkl.bzl", "pkl") use_repo( pkl, "pkl-cli-linux-aarch64", "pkl-cli-linux-amd64", "pkl-cli-macos-aarch64", "pkl-cli-macos-amd64", "pkl-doc-cli-linux-aarch64", "pkl-doc-cli-linux-amd64", "pkl-doc-cli-macos-aarch64", "pkl-doc-cli-macos-amd64", ) pkl_dev = use_extension("//pkl/extensions:pkl.bzl", "pkl", dev_dependency = True) pkl_dev.project( name = "pklproject_github_actions", pkl_project = "@rules_pkl//.github:PklProject", pkl_project_deps = "@rules_pkl//.github:PklProject.deps.json", ) use_repo( pkl_dev, "pklproject_github_actions", ) register_toolchains( "@rules_pkl//pkl:pkl_toolchain_codegen_java", "@rules_pkl//pkl:pkl_toolchain_linux_aarch64", "@rules_pkl//pkl:pkl_toolchain_linux_amd64", "@rules_pkl//pkl:pkl_toolchain_macos_aarch64", "@rules_pkl//pkl:pkl_toolchain_macos_amd64", "@rules_pkl//pkl:pkl_doc_toolchain_linux_aarch64", "@rules_pkl//pkl:pkl_doc_toolchain_linux_amd64", "@rules_pkl//pkl:pkl_doc_toolchain_macos_aarch64", "@rules_pkl//pkl:pkl_doc_toolchain_macos_amd64", ) pkl_lang_version = "0.31.0" maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") maven.install( name = "rules_pkl_deps", artifacts = [ "com.google.code.gson:gson:2.13.1", "org.junit.vintage:junit-vintage-engine:5.13.4", "org.pkl-lang:pkl-config-java:" + pkl_lang_version, "org.pkl-lang:pkl-core:" + pkl_lang_version, "org.pkl-lang:pkl-parser:" + pkl_lang_version, "org.pkl-lang:pkl-tools:" + pkl_lang_version, ], lock_file = "//pkl/private:pkl_deps_install.json", repositories = [ "https://repo1.maven.org/maven2/", ], ) use_repo( maven, "rules_pkl_deps", "unpinned_rules_pkl_deps", ) maven_dev = use_extension("@rules_jvm_external//:extensions.bzl", "maven", dev_dependency = True) maven_dev.install( name = "custom_pkl_java_library_maven_deps", artifacts = [ "org.pkl-lang:pkl-config-java:" + pkl_lang_version, ], lock_file = "//pkl/private:pkl_deps_custom_java_library_maven_deps_install.json", repositories = [ "https://repo1.maven.org/maven2/", ], ) use_repo( maven_dev, "custom_pkl_java_library_maven_deps", "unpinned_custom_pkl_java_library_maven_deps", ) python = use_extension( "@rules_python//python/extensions:python.bzl", "python", dev_dependency = True, ) python.toolchain( configure_coverage_tool = True, ignore_root_user_error = True, python_version = "3.12", ) bazel_binaries = use_extension( "@rules_bazel_integration_test//:extensions.bzl", "bazel_binaries", dev_dependency = True, ) bazel_binaries.download(version = "7.6.1") bazel_binaries.download(version = "8.2.1") use_repo( bazel_binaries, "bazel_binaries", "bazel_binaries_bazelisk", "build_bazel_bazel_7_6_1", "build_bazel_bazel_8_2_1", ) hawkeye = use_extension("//tools/lint/hawkeye:extensions.bzl", "hawkeye", dev_dependency = True) use_repo( hawkeye, "hawkeye-aarch64-apple-darwin", "hawkeye-x86_64-apple-darwin", "hawkeye-x86_64-unknown-linux-gnu", )