| module( |
| name = "contrib_rules_jvm", |
| version = "0.29.0", |
| repo_name = "contrib_rules_jvm", |
| ) |
| |
| # TODO: This should be read from repositories.bzl, but we can't until this issue is solved: |
| # - https://github.com/bazelbuild/bazel/issues/17880 |
| PROTOBUF_VERSION = "21.7" |
| |
| # The java packages are published to maven under a different versioning scheme. |
| PROTOBUF_JAVA_VERSION = "3.{}".format(PROTOBUF_VERSION) |
| |
| bazel_dep(name = "apple_rules_lint", version = "0.4.0") |
| bazel_dep(name = "bazel_skylib", version = "1.7.1") |
| bazel_dep(name = "grpc-java", version = "1.69.0") |
| bazel_dep(name = "gazelle", version = "0.42.0", repo_name = "bazel_gazelle") |
| bazel_dep(name = "protobuf", version = "29.1", repo_name = "com_google_protobuf") |
| bazel_dep(name = "rules_cc", version = "0.0.16") |
| bazel_dep(name = "rules_go", version = "0.52.0") |
| bazel_dep(name = "rules_java", version = "7.12.2") |
| bazel_dep(name = "rules_jvm_external", version = "6.7") |
| bazel_dep(name = "rules_proto", version = "7.0.2") |
| |
| bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.7.1", dev_dependency = True) |
| bazel_dep(name = "stardoc", version = "0.7.1", dev_dependency = True, repo_name = "io_bazel_stardoc") |
| |
| linter = use_extension("@apple_rules_lint//lint:extensions.bzl", "linter") |
| linter.register(name = "java-checkstyle") |
| linter.configure( |
| name = "java-checkstyle", |
| config = "//java:checkstyle-default-config", |
| ) |
| linter.register(name = "java-pmd") |
| linter.configure( |
| name = "java-pmd", |
| config = "//java:pmd-config", |
| ) |
| linter.register(name = "java-spotbugs") |
| linter.configure( |
| name = "java-spotbugs", |
| config = "//java:spotbugs-default-config", |
| ) |
| use_repo( |
| linter, |
| "apple_linters", |
| ) |
| |
| maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") |
| |
| IO_GRPC_GRPC_JAVA_ARTIFACTS = [ |
| "com.google.android:annotations:4.1.1.4", |
| "com.google.api.grpc:proto-google-common-protos:2.9.0", |
| "com.google.auth:google-auth-library-credentials:0.22.0", |
| "com.google.auth:google-auth-library-oauth2-http:0.22.0", |
| "com.google.auto.value:auto-value-annotations:1.9", |
| "com.google.auto.value:auto-value:1.9", |
| "com.google.code.findbugs:jsr305:3.0.2", |
| "com.google.code.gson:gson:2.9.0", |
| "com.google.guava:failureaccess:1.0.1", |
| "com.google.j2objc:j2objc-annotations:1.3", |
| "com.google.re2j:re2j:1.6", |
| "com.google.truth:truth:1.0.1", |
| "com.squareup.okhttp:okhttp:2.7.5", |
| "com.squareup.okio:okio:1.17.5", |
| "io.netty:netty-buffer", |
| "io.netty:netty-codec-http2", |
| "io.netty:netty-codec-http", |
| "io.netty:netty-codec-socks", |
| "io.netty:netty-codec", |
| "io.netty:netty-common", |
| "io.netty:netty-handler-proxy", |
| "io.netty:netty-handler", |
| "io.netty:netty-resolver", |
| "io.netty:netty-tcnative-boringssl-static:2.0.56.Final", |
| "io.netty:netty-tcnative-classes:2.0.56.Final", |
| "io.netty:netty-transport-native-epoll:jar:linux-x86_64:4.1.87.Final", |
| "io.netty:netty-transport-native-unix-common", |
| "io.netty:netty-transport", |
| "io.opencensus:opencensus-api:0.24.0", |
| "io.opencensus:opencensus-contrib-grpc-metrics:0.24.0", |
| "io.perfmark:perfmark-api:0.25.0", |
| "junit:junit:4.12", |
| "org.apache.tomcat:annotations-api:6.0.53", |
| "org.codehaus.mojo:animal-sniffer-annotations:1.21", |
| ] |
| |
| slf4j_version = "1.7.32" |
| |
| spotbugs_version = "4.8.6" |
| |
| maven.install( |
| name = "contrib_rules_jvm_deps", |
| artifacts = [ |
| "com.github.spotbugs:spotbugs-annotations:%s" % spotbugs_version, |
| "com.google.code.findbugs:jsr305:3.0.2", |
| "com.google.errorprone:error_prone_annotations:2.35.1", |
| "com.google.googlejavaformat:google-java-format:1.24.0", |
| "com.google.guava:guava:33.3.1-jre", |
| "commons-cli:commons-cli:1.9.0", |
| "io.grpc:grpc-api", |
| "io.grpc:grpc-core", |
| "io.grpc:grpc-netty", |
| "io.grpc:grpc-services", |
| "io.grpc:grpc-stub", |
| |
| # These can be versioned independently of the versions in `repositories.bzl` |
| # so long as the version numbers are higher. |
| "org.junit.jupiter:junit-jupiter-engine", |
| "org.junit.jupiter:junit-jupiter-api", |
| "org.junit.platform:junit-platform-launcher", |
| "org.junit.platform:junit-platform-reporting", |
| "org.junit.vintage:junit-vintage-engine", |
| |
| # Open Test Alliance for the JVM dep |
| "org.opentest4j:opentest4j:1.3.0", |
| |
| # Checkstyle deps |
| "com.puppycrawl.tools:checkstyle:10.20.2", |
| |
| # PMD deps |
| "net.sourceforge.pmd:pmd-dist:7.8.0", |
| |
| # Spotbugs deps |
| "org.slf4j:slf4j-api:%s" % slf4j_version, |
| "org.slf4j:slf4j-jdk14:%s" % slf4j_version, |
| |
| # Used by us at runtime |
| "org.slf4j:slf4j-simple:%s" % slf4j_version, |
| |
| # We explicitly declare a protobuf runtime version |
| # so that it coincides with the one we use to generate the code. |
| "com.google.protobuf:protobuf-java:{}".format(PROTOBUF_JAVA_VERSION), |
| ] + IO_GRPC_GRPC_JAVA_ARTIFACTS, |
| boms = [ |
| "io.grpc:grpc-bom:1.68.2", |
| "io.netty:netty-bom:4.1.87.Final", |
| "org.junit:junit-bom:5.11.3", |
| ], |
| fail_if_repin_required = True, |
| generate_compat_repositories = True, |
| lock_file = "//:contrib_rules_jvm_deps_install.json", |
| resolver = "maven", |
| strict_visibility = False, |
| ) |
| |
| # Spotbugs deps |
| # We don't want to force people to use 1.8-beta |
| # but we can't use the `maven` macros because |
| # we've not loaded rules yet. Fortunately, the |
| # expansion is easy :) |
| maven.artifact( |
| name = "contrib_rules_jvm_deps", |
| artifact = "spotbugs", |
| exclusions = ["org.slf4j:slf4j-api"], |
| group = "com.github.spotbugs", |
| version = spotbugs_version, |
| ) |
| use_repo( |
| maven, |
| "com_google_api_grpc_proto_google_common_protos", |
| "com_google_code_findbugs_jsr305", |
| "com_google_errorprone_error_prone_annotations", |
| "com_google_guava_failureaccess", |
| "com_google_guava_guava", |
| "com_google_j2objc_j2objc_annotations", |
| "contrib_rules_jvm_deps", |
| "org_apache_tomcat_annotations_api", |
| ) |
| |
| dev_maven = use_extension( |
| "@rules_jvm_external//:extensions.bzl", |
| "maven", |
| dev_dependency = True, |
| ) |
| dev_maven.install( |
| name = "contrib_rules_jvm_tests", |
| artifacts = [ |
| # These can be versioned independently of the versions in `repositories.bzl` |
| # so long as the version numbers are higher. |
| "org.junit.jupiter:junit-jupiter-engine:5.8.2", |
| "org.junit.jupiter:junit-jupiter-api:5.8.2", |
| "org.junit.jupiter:junit-jupiter-params:5.8.2", |
| "org.junit.platform:junit-platform-launcher:1.8.2", |
| "org.junit.platform:junit-platform-reporting:1.8.2", |
| "org.junit.platform:junit-platform-suite:1.8.2", |
| "org.junit.platform:junit-platform-suite-api:1.8.2", |
| "org.junit.platform:junit-platform-suite-engine:1.8.2", |
| "org.junit.platform:junit-platform-testkit:1.8.2", |
| "org.junit.vintage:junit-vintage-engine:5.8.2", |
| "org.mockito:mockito-core:4.8.1", |
| ], |
| fail_if_repin_required = True, |
| fetch_sources = True, |
| lock_file = "//:contrib_rules_jvm_tests_install.json", |
| ) |
| use_repo( |
| dev_maven, |
| "contrib_rules_jvm_tests", |
| ) |
| |
| go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") |
| go_sdk.download(version = "1.23.6") |
| |
| go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps") |
| go_deps.from_file(go_mod = "//:go.mod") |
| use_repo( |
| go_deps, |
| "com_github_aristanetworks_goarista", |
| "com_github_bazelbuild_buildtools", |
| "com_github_google_btree", |
| "com_github_google_go_cmp", |
| "com_github_google_uuid", |
| "com_github_hashicorp_golang_lru", |
| "com_github_rs_zerolog", |
| "com_github_sergi_go_diff", |
| "com_github_stretchr_testify", |
| "net_starlark_go", |
| "org_golang_google_grpc", |
| "org_golang_x_tools", |
| "org_golang_x_tools_go_vcs", |
| ) |