blob: b7cc291647ad71907a8b675d5f404e4ca7d69c83 [file]
module(
name = "bazel-diff",
version = "31.3.2",
compatibility_level = 0,
)
bazel_dep(name = "rules_license", version = "1.0.0", dev_dependency = True)
bazel_dep(name = "aspect_rules_lint", version = "2.1.0", dev_dependency = True)
bazel_dep(name = "buildifier_prebuilt", version = "8.5.1.2", dev_dependency = True)
bazel_dep(name = "aspect_bazel_lib", version = "2.22.5", dev_dependency = True)
bazel_dep(name = "bazel_skylib", version = "1.9.0")
bazel_dep(name = "rules_proto", version = "7.1.0")
bazel_dep(name = "rules_java", version = "9.3.0")
bazel_dep(name = "rules_kotlin", version = "2.3.0")
bazel_dep(name = "rules_jvm_external", version = "6.10")
# Add protobuf and grpc for Bazel 9 compatibility
bazel_dep(name = "protobuf", version = "33.4")
bazel_dep(name = "stardoc", version = "0.7.2")
single_version_override(
module_name = "grpc-java",
version = "1.78.0",
)
bazel_dep(name = "grpc", version = "1.76.0", repo_name = "com_github_grpc_grpc")
# Override transitive dependencies to Bazel 9 compatible versions.
# Marked dev_dependency: these are only needed when building bazel-diff itself
# (as the root module). rules_nodejs and rules_foreign_cc are not referenced by
# any bazel-diff target, and rules_python is supplied transitively (proto codegen)
# regardless, so consumers resolve their own versions via MVS.
bazel_dep(name = "rules_nodejs", version = "6.7.3", dev_dependency = True)
bazel_dep(name = "rules_foreign_cc", version = "0.15.1", dev_dependency = True)
bazel_dep(name = "rules_python", version = "1.8.4", dev_dependency = True)
# Go support is internal to building/testing bazel-diff (tooling under tools/go,
# whose line coverage is gated at >=90% in CI). Marked dev_dependency so consumers
# of bazel-diff as a module don't inherit rules_go/gazelle via MVS.
bazel_dep(name = "rules_go", version = "0.60.0", dev_dependency = True)
bazel_dep(name = "gazelle", version = "0.45.0", dev_dependency = True)
go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk", dev_dependency = True)
go_sdk.download(version = "1.23.1")
maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
maven.install(
name = "bazel_diff_maven",
artifacts = [
"com.google.code.gson:gson:2.9.0@jar",
"com.google.guava:guava:31.1-jre",
# JGit powers the `serve` command's in-process git engine. Pinned to the 5.13.x line, the
# last release series that still targets Java 8 (matching bazel-diff's documented minimum).
"org.eclipse.jgit:org.eclipse.jgit:5.13.3.202401111512-r",
"com.willowtreeapps.assertk:assertk-jvm:0.25",
"info.picocli:picocli:4.6.3@jar",
"io.insert-koin:koin-core-jvm:3.1.6",
"io.insert-koin:koin-test-junit4:4.0.0",
"junit:junit:4.13.2",
"org.apache.commons:commons-pool2:2.11.1",
"org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2",
"org.mockito.kotlin:mockito-kotlin:5.4.0",
# SLF4J binding for JGit (serve command). JGit depends on slf4j-api but ships no binding, so
# without one SLF4J prints a "Failed to load class StaticLoggerBinder / Defaulting to NOP"
# warning to stderr on first use. slf4j-nop supplies the binding (silencing the warning) and
# discards JGit's internal logs, keeping the CLI's stderr clean. Version tracks the slf4j-api
# that JGit 5.13.x resolves (1.7.30).
"org.slf4j:slf4j-nop:1.7.30",
],
fail_if_repin_required = True,
lock_file = "//:maven_install.json",
)
use_repo(
maven,
bazel_diff_maven = "bazel_diff_maven",
)
non_module_repositories = use_extension("//:extensions.bzl", "non_module_repositories", dev_dependency = True)
use_repo(non_module_repositories, "ktfmt")
register_toolchains("//:kotlin_toolchain")