| module( |
| name = "rules_kotlin", |
| version = "2.2.0", |
| compatibility_level = 1, |
| repo_name = "rules_kotlin", |
| ) |
| |
| proto_version = "4.33.4" |
| |
| proto_version_parts = proto_version.split(".") |
| |
| proto_module_version = ".".join(proto_version_parts[-2:]) # Last 2 parts |
| |
| kotlin_version = "2.3.20-RC2" |
| |
| bazel_dep(name = "protobuf", version = proto_module_version, repo_name = "com_google_protobuf") |
| bazel_dep(name = "rules_cc", version = "0.0.16") |
| bazel_dep(name = "platforms", version = "0.0.11") |
| bazel_dep(name = "bazel_skylib", version = "1.8.2") |
| bazel_dep(name = "rules_java", version = "8.9.0") |
| bazel_dep(name = "rules_python", version = "0.23.1") |
| bazel_dep(name = "rules_android", version = "0.7.1") |
| |
| remote_android_extensions = use_extension( |
| "@rules_android//bzlmod_extensions:android_extensions.bzl", |
| "remote_android_tools_extensions", |
| ) |
| use_repo(remote_android_extensions, "android_tools") |
| |
| android_sdk_repository_extension = use_extension("@rules_android//rules/android_sdk_repository:rule.bzl", "android_sdk_repository_extension") |
| use_repo(android_sdk_repository_extension, "androidsdk") |
| |
| register_toolchains("@androidsdk//:all") |
| |
| bazel_dep(name = "bazel_features", version = "1.39.0") |
| bazel_dep(name = "bazel_lib", version = "3.1.0") |
| bazel_dep(name = "rules_shell", version = "0.4.1") |
| bazel_dep(name = "bazel_worker_api", version = "0.0.10") |
| bazel_dep(name = "bazel_worker_java", version = "0.0.10") |
| |
| bazel_dep(name = "buildifier_prebuilt", version = "8.5.1", dev_dependency = True) |
| |
| rules_java_toolchains = use_extension("@rules_java//java:extensions.bzl", "toolchains") |
| use_repo(rules_java_toolchains, "remote_java_tools") |
| |
| http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") |
| |
| http_file( |
| name = "com_github_pinterest_ktlint", |
| downloaded_file_path = "ktlint.jar", |
| sha256 = "5ba1ac917a06b0f02daaa60d10abbedd2220d60216af670c67a45b91c74cf8bb", |
| urls = [ |
| "https://github.com/pinterest/ktlint/releases/download/1.6.0/ktlint", |
| ], |
| ) |
| |
| register_toolchains("//src/main/starlark/core/compile/cli") |
| |
| register_toolchains("//kotlin/internal:default_toolchain") |
| |
| # Development dependencies |
| # TODO(bencodes) A bunch of these dependencies need to be marked as dev_dependencies but before we can do that |
| # we need to sort out a few cases around how these rules are consumed in various ways. |
| |
| bazel_dep(name = "rules_jvm_external", version = "6.10") |
| bazel_dep(name = "bazel_ci_rules", version = "1.0.0") |
| |
| rbe_preconfig = use_repo_rule("@bazel_ci_rules//:rbe_repo.bzl", "rbe_preconfig") |
| |
| rbe_preconfig( |
| name = "buildkite_config", |
| toolchain = "ubuntu2204", |
| ) |
| |
| maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") |
| maven.install( |
| name = "rules_kotlin_maven", |
| artifacts = [ |
| "org.jetbrains:annotations:13.0", |
| "org.jetbrains.kotlin:kotlin-build-tools-impl:{}".format(kotlin_version), |
| "org.jetbrains.kotlin:kotlin-daemon-client:{}".format(kotlin_version), |
| "org.jetbrains.kotlin:kotlin-stdlib:{}".format(kotlin_version), |
| "org.jetbrains.kotlin:kotlin-reflect:{}".format(kotlin_version), |
| "org.jetbrains.kotlin:kotlin-test:{}".format(kotlin_version), |
| "org.jetbrains.kotlin:kotlin-script-runtime:{}".format(kotlin_version), |
| "org.jetbrains.kotlin:kotlin-compiler:{}".format(kotlin_version), |
| "org.jetbrains.kotlin:kotlin-annotation-processing:{}".format(kotlin_version), |
| "org.jetbrains.kotlin:kotlin-annotation-processing-embeddable:{}".format(kotlin_version), |
| "org.jetbrains.kotlin:jvm-abi-gen:{}".format(kotlin_version), |
| "org.jetbrains.kotlin:kotlin-allopen-compiler-plugin:{}".format(kotlin_version), |
| "org.jetbrains.kotlin:kotlin-noarg-compiler-plugin:{}".format(kotlin_version), |
| "org.jetbrains.kotlin:kotlin-sam-with-receiver-compiler-plugin:{}".format(kotlin_version), |
| "org.jetbrains.kotlin:kotlin-serialization-compiler-plugin:{}".format(kotlin_version), |
| "org.jetbrains.kotlin:kotlin-parcelize-compiler:{}".format(kotlin_version), |
| "org.jetbrains.kotlin:kotlin-parcelize-runtime:{}".format(kotlin_version), |
| "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.2", |
| "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.8.1", |
| "org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.8.1", |
| "com.google.devtools.ksp:symbol-processing-aa:2.3.6", |
| "com.google.devtools.ksp:symbol-processing-api:2.3.6", |
| "com.google.devtools.ksp:symbol-processing-common-deps:2.3.6", |
| ], |
| fail_if_repin_required = True, |
| fetch_sources = True, |
| lock_file = "//:rules_kotlin_maven_install.json", |
| repositories = [ |
| "https://maven-central.storage.googleapis.com/repos/central/data/", |
| "https://maven.google.com", |
| "https://repo1.maven.org/maven2", |
| ], |
| resolver = "maven", |
| ) |
| maven.install( |
| name = "rules_kotlin_maven_dev", |
| artifacts = [ |
| "com.google.code.findbugs:jsr305:3.0.2", |
| "com.google.errorprone:error_prone_annotations:2.23.0", |
| "junit:junit:4.13-beta-3", |
| "com.google.protobuf:protobuf-java:{}".format(proto_version), |
| "com.google.protobuf:protobuf-java-util:{}".format(proto_version), |
| "com.google.guava:guava:33.0.0-jre", |
| "com.google.truth:truth:0.45", |
| "com.google.auto.service:auto-service:1.1.1", |
| "com.google.auto.service:auto-service-annotations:1.1.1", |
| "com.google.auto.value:auto-value:1.11.0", |
| "com.google.auto.value:auto-value-annotations:1.11.0", |
| "com.google.dagger:dagger:2.57.2", |
| "com.google.dagger:dagger-compiler:2.57.2", |
| "javax.inject:javax.inject:1", |
| "org.apache.commons:commons-compress:1.26.2", |
| "com.eed3si9n.jarjarabrams:jarjar-abrams-assembly_2.13:1.14.1", |
| "dev.zacsweers.autoservice:auto-service-ksp:jar:1.2.0", |
| "com.squareup.moshi:moshi:1.15.2", |
| "com.squareup.moshi:moshi-kotlin:1.15.2", |
| "com.squareup.moshi:moshi-kotlin-codegen:1.15.2", |
| ], |
| fail_if_repin_required = True, |
| fetch_sources = True, |
| lock_file = "//:rules_kotlin_maven_dev_install.json", |
| repositories = [ |
| "https://maven-central.storage.googleapis.com/repos/central/data/", |
| "https://maven.google.com", |
| "https://repo1.maven.org/maven2", |
| ], |
| resolver = "maven", |
| ) |
| maven.override( |
| name = "override_target_in_deps_kotlin_stdlib", |
| coordinates = "org.jetbrains.kotlin.kotlin:kotlin-stdlib", |
| target = "@rules_kotlin//kotlin/compiler:kotlin-stdlib", |
| ) |
| maven.override( |
| name = "override_target_in_deps_protobuf_java", |
| coordinates = "com.google.protobuf:protobuf-java", |
| target = "@com_google_protobuf//:protobuf_java", |
| ) |
| maven.override( |
| name = "override_target_in_deps_protobuf_java_util", |
| coordinates = "com.google.protobuf:protobuf-java-util", |
| target = "@com_google_protobuf//:protobuf_java_util", |
| ) |
| use_repo( |
| maven, |
| "rules_kotlin_maven", |
| "rules_kotlin_maven_dev", |
| "unpinned_rules_kotlin_maven", |
| "unpinned_rules_kotlin_maven_dev", |
| ) |
| |
| bazel_dep(name = "rules_pkg", version = "1.0.1") |
| |
| bazel_dep(name = "stardoc", version = "0.8.1", dev_dependency = True, repo_name = "io_bazel_stardoc") |
| bazel_dep(name = "rules_testing", version = "0.9.0", dev_dependency = True) |
| bazel_dep(name = "rules_bazel_integration_test", version = "0.37.1", dev_dependency = True) |
| |
| bazel_binaries = use_extension("@rules_bazel_integration_test//:extensions.bzl", "bazel_binaries", dev_dependency = True) |
| bazel_binaries.download(version = "7.x") |
| bazel_binaries.download(version = "8.x") |
| bazel_binaries.download(version_file = "//:.bazelversion") |
| use_repo( |
| bazel_binaries, |
| "bazel_binaries", |
| "bazel_binaries_bazelisk", |
| "build_bazel_bazel_.bazelversion", |
| "build_bazel_bazel_7_x", |
| "build_bazel_bazel_8_x", |
| ) |