module(
    name = "rules_jvm_external",
    version = "6.9",
    bazel_compatibility = [">=7.0.0"],
)

bazel_dep(name = "rules_android", version = "0.6.6")
bazel_dep(name = "bazel_features", version = "1.30.0")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "package_metadata", version = "0.0.3")
bazel_dep(name = "platforms", version = "0.0.11")
bazel_dep(name = "rules_license", version = "1.0.0")
bazel_dep(name = "rules_java", version = "8.13.0")
bazel_dep(name = "rules_kotlin", version = "1.9.6")
bazel_dep(name = "rules_shell", version = "0.4.1")

bazel_dep(name = "aspect_bazel_lib", version = "2.20.0", dev_dependency = True)
bazel_dep(name = "stardoc", version = "0.7.2", dev_dependency = True, repo_name = "io_bazel_stardoc")

# Remove this once rules_android has rolled out official Bzlmod support
remote_android_extensions = use_extension("@bazel_tools//tools/android:android_extensions.bzl", "remote_android_tools_extensions")
use_repo(remote_android_extensions, "android_gmaven_r8", "android_tools")

maven = use_extension(":extensions.bzl", "maven")

_MAVEN_VERSION = "3.9.10"

_MAVEN_RESOLVER_VERSION = "1.9.23"

_GRADLE_VERSION = "8.13"

# NOTE: Please keep any changes to this maven.install in sync with the
# definition in repositories.bzl
maven.install(
    name = "rules_jvm_external_deps",
    artifacts = [
        "ch.qos.logback:logback-classic:1.5.23",
        "com.github.jknack:handlebars:4.3.1",
        "com.google.auth:google-auth-library-credentials:1.23.0",
        "com.google.auth:google-auth-library-oauth2-http:1.23.0",
        "com.google.cloud:google-cloud-core:2.40.0",
        "com.google.cloud:google-cloud-storage:2.40.1",
        "com.google.code.findbugs:jsr305:3.0.2",
        "com.google.code.gson:gson:2.11.0",
        "com.google.googlejavaformat:google-java-format:1.22.0",
        "com.google.guava:guava:33.2.1-jre",
        "org.apache.maven:maven-artifact:%s" % _MAVEN_VERSION,
        "org.apache.maven:maven-core:%s" % _MAVEN_VERSION,
        "org.apache.maven:maven-model:%s" % _MAVEN_VERSION,
        "org.apache.maven:maven-model-builder:%s" % _MAVEN_VERSION,
        "org.apache.maven:maven-repository-metadata:%s" % _MAVEN_VERSION,
        "org.apache.maven:maven-settings:%s" % _MAVEN_VERSION,
        "org.apache.maven:maven-settings-builder:%s" % _MAVEN_VERSION,
        "org.apache.maven:maven-resolver-provider:%s" % _MAVEN_VERSION,
        "org.apache.maven.resolver:maven-resolver-api:%s" % _MAVEN_RESOLVER_VERSION,
        "org.apache.maven.resolver:maven-resolver-impl:%s" % _MAVEN_RESOLVER_VERSION,
        "org.apache.maven.resolver:maven-resolver-connector-basic:%s" % _MAVEN_RESOLVER_VERSION,
        "org.apache.maven.resolver:maven-resolver-spi:%s" % _MAVEN_RESOLVER_VERSION,
        "org.apache.maven.resolver:maven-resolver-transport-file:%s" % _MAVEN_RESOLVER_VERSION,
        "org.apache.maven.resolver:maven-resolver-transport-http:%s" % _MAVEN_RESOLVER_VERSION,
        "org.apache.maven.resolver:maven-resolver-util:%s" % _MAVEN_RESOLVER_VERSION,
        "org.bouncycastle:bcprov-jdk15on:1.68",
        "org.bouncycastle:bcpg-jdk15on:1.68",
        "org.codehaus.plexus:plexus-cipher:2.1.0",
        "org.codehaus.plexus:plexus-sec-dispatcher:2.0",
        "org.codehaus.plexus:plexus-utils:3.5.1",
        "org.fusesource.jansi:jansi:2.4.1",
        "org.gradle:gradle-tooling-api:%s" % _GRADLE_VERSION,
        "org.slf4j:jul-to-slf4j:2.0.17",
        "org.slf4j:log4j-over-slf4j:2.0.17",
        "org.slf4j:slf4j-simple:2.0.17",
        "software.amazon.awssdk:s3:2.26.12",
        "software.amazon.awssdk:sdk-core:2.26.12",
    ],
    fetch_sources = True,
    lock_file = "//:rules_jvm_external_deps_install.json",
    repositories = [
        "https://repo1.maven.org/maven2",
        "https://repo.gradle.org/gradle/libs-releases/",
    ],
    strict_visibility = True,
)
use_repo(
    maven,
    "rules_jvm_external_deps",
    "unpinned_rules_jvm_external_deps",
)

http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "gradle",
    add_prefix = "gradle-bin",
    build_file = "//:gradle.BUILD.bazel",
    integrity = "sha256-IPGxF2I3JUpvwgTYQ0GW+hGkz7OHVnUZxhVW6HEK7Xg=",
    strip_prefix = "gradle-{}".format(_GRADLE_VERSION),
    url = "https://services.gradle.org/distributions/gradle-{}-bin.zip".format(_GRADLE_VERSION),
)

http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")

_COURSIER_CLI_VERSION = "v2.1.24"

COURSIER_CLI_HTTP_FILE_NAME = ("coursier_cli_" + _COURSIER_CLI_VERSION).replace(".", "_").replace("-", "_")

COURSIER_CLI_GITHUB_ASSET_URL = "https://github.com/coursier/coursier/releases/download/{COURSIER_CLI_VERSION}/coursier.jar".format(COURSIER_CLI_VERSION = _COURSIER_CLI_VERSION)

# Run 'bazel run //:mirror_coursier' to upload a copy of the jar to the Bazel mirror.
COURSIER_CLI_BAZEL_MIRROR_URL = "https://mirror.bazel.build/coursier_cli/" + COURSIER_CLI_HTTP_FILE_NAME + ".jar"

COURSIER_CLI_SHA256 = "8c724dc204534353ea8263ba0af624979658f7ab62395f35b04f03ce5714f330"

http_file(
    name = "coursier_cli",
    sha256 = COURSIER_CLI_SHA256,
    urls = [COURSIER_CLI_GITHUB_ASSET_URL],
)

http_file(
    name = "buildifier-linux-arm64",
    sha256 = "c22a44eee37b8927167ee6ee67573303f4e31171e7ec3a8ea021a6a660040437",
    urls = ["https://github.com/bazelbuild/buildtools/releases/download/v7.1.2/buildifier-linux-arm64"],
)

http_file(
    name = "buildifier-linux-x86_64",
    sha256 = "28285fe7e39ed23dc1a3a525dfcdccbc96c0034ff1d4277905d2672a71b38f13",
    urls = ["https://github.com/bazelbuild/buildtools/releases/download/v7.1.2/buildifier-linux-amd64"],
)

http_file(
    name = "buildifier-macos-arm64",
    sha256 = "d0909b645496608fd6dfc67f95d9d3b01d90736d7b8c8ec41e802cb0b7ceae7c",
    urls = ["https://github.com/bazelbuild/buildtools/releases/download/v7.1.2/buildifier-darwin-arm64"],
)

http_file(
    name = "buildifier-macos-x86_64",
    sha256 = "687c49c318fb655970cf716eed3c7bfc9caeea4f2931a2fd36593c458de0c537",
    urls = ["https://github.com/bazelbuild/buildtools/releases/download/v7.1.2/buildifier-darwin-amd64"],
)

############# Dev dependencies below here

bazel_dep(
    name = "protobuf",
    # Note: In MODULE.bazel, we use a version >= 29.1 to avoid polluting the
    # default maven repo name with protobuf's dependencies.
    # https://github.com/protocolbuffers/protobuf/pull/19477
    # However, in WORKSPACE, we use version 21.7 since version 27.2 doesn't work
    # with Bazel 5.x.
    # https://github.com/protocolbuffers/protobuf/commit/a80daa2a2caaaac9ebe9ae6bb1b639c2771c5c55
    # This should be ok because we only use protobuf to pull in the google/protobuf/wrappers.proto
    # for testing.
    version = "31.1",
    dev_dependency = True,
)
bazel_dep(
    name = "bzlmod_lock_files",
    version = "0.0.0",
    dev_dependency = True,
)
local_path_override(
    module_name = "bzlmod_lock_files",
    path = "tests/integration/bzlmod_lock_files",
)

dev_maven = use_extension(
    ":extensions.bzl",
    "maven",
    dev_dependency = True,
)
dev_maven.install(
    artifacts = [
        "com.google.guava:guava:33.5.0-jre",
        "com.google.protobuf:protobuf-java:4.31.0",
        "org.hamcrest:hamcrest-core:2.1",
        "io.netty:netty-tcnative-boringssl-static:2.0.61.Final",
    ],
    known_contributing_modules = [
        "bazel_worker_java",
        "rules_jvm_external",
    ],
    lock_file = "@rules_jvm_external//:maven_install.json",
    resolver = "coursier",
)
dev_maven.install(
    name = "duplicate_version_warning",
    artifacts = [
        "com.fasterxml.jackson.core:jackson-annotations:2.10.1",
        "com.fasterxml.jackson.core:jackson-annotations:2.12.1",
        "com.fasterxml.jackson.core:jackson-annotations:2.10.1",
        "com.fasterxml.jackson.core:jackson-annotations:2.11.2",
        "com.github.jnr:jffi:1.3.4",
    ],
    repositories = [
        "https://repo1.maven.org/maven2",
        "https://maven.google.com",
    ],
)
dev_maven.artifact(
    name = "duplicate_version_warning",
    artifact = "jffi",
    classifier = "native",
    group = "com.github.jnr",
    version = "1.3.3",
)
dev_maven.artifact(
    name = "duplicate_version_warning",
    artifact = "jffi",
    classifier = "native",
    group = "com.github.jnr",
    version = "1.3.2",
)
dev_maven.install(
    name = "duplicate_version_warning_same_version",
    artifacts = [
        "com.fasterxml.jackson.core:jackson-annotations:2.10.1",
        "com.fasterxml.jackson.core:jackson-annotations:2.10.1",
    ],
    repositories = [
        "https://repo1.maven.org/maven2",
        "https://maven.google.com",
    ],
)
dev_maven.artifact(
    name = "duplicate_version_warning_same_version",
    artifact = "jffi",
    classifier = "native",
    group = "com.github.jnr",
    version = "1.3.3",
)
dev_maven.artifact(
    name = "duplicate_version_warning_same_version",
    artifact = "jffi",
    classifier = "native",
    group = "com.github.jnr",
    version = "1.3.3",
)
dev_maven.artifact(
    name = "exclusion_testing",
    artifact = "guava",
    exclusions = [
        "com.google.j2objc:j2objc-annotations",
        "org.codehaus.mojo:animal-sniffer-annotations",
    ],
    group = "com.google.guava",
    version = "27.0-jre",
)
dev_maven.install(
    name = "forcing_versions",
    artifacts = [
        # And something that depends on a more recent version of guava
        "xyz.rogfam:littleproxy:2.1.0",
    ],
)

# Specify an ancient version of guava, and force its use. If we try to use `[23.3-jre]` as the version,
# the resolution will fail when using `coursier`
dev_maven.artifact(
    name = "forcing_versions",
    artifact = "guava",
    force_version = True,
    group = "com.google.guava",
    version = "23.3-jre",
)
dev_maven.install(
    name = "from_files",
    # This must be `True` to tickle a bug where requesting source jars caused
    # a missing dependency to be declared by accident in the generated build
    # file.
    fetch_sources = True,
    lock_file = "//tests/custom_maven_install:from_files_install.json",
    repositories = [
        "https://repo1.maven.org/maven2",
        "https://maven.google.com",
    ],
)
dev_maven.from_toml(
    name = "from_files",
    bom_modules = [
        "com.google.guava:guava-bom",
    ],
    libs_versions_toml = "//tests/integration:libs.versions.toml",
)
dev_maven.amend_artifact(
    name = "from_files",
    testonly = True,
    coordinates = "org.junit.jupiter:junit-jupiter-api",
)
dev_maven.install(
    name = "global_exclusion_testing",
    artifacts = [
        "com.google.guava:guava:27.0-jre",  # depends on animal-sniffer-annotations and j2objc-annotations
        "com.squareup.okhttp3:okhttp:3.14.1",  # depends on animal-sniffer-annotations
        "com.diffplug.durian:durian-core:1.2.0",  # depends on animal-sniffer-annotations and j2objc-annotations
    ],
    excluded_artifacts = [
        "com.google.j2objc:j2objc-annotations",
        "org.codehaus.mojo:animal-sniffer-annotations",
    ],
)
dev_maven.install(
    name = "java_export_exclusion_testing",
    artifacts = [
        "com.google.protobuf:protobuf-java:4.31.1",
    ],
    lock_file = "//tests/custom_maven_install:java_export_exclusion_testing_install.json",
)

# https://github.com/bazelbuild/rules_jvm_external/issues/351
dev_maven.install(
    name = "json_artifacts_testing",
    artifacts = [
        "org.json:json:20190722",
        "io.quarkus:quarkus-maven-plugin:1.0.1.Final",
        "io.quarkus:quarkus-bom-descriptor-json:1.0.1.Final",
    ],
    fetch_sources = True,
    lock_file = "//tests/custom_maven_install:json_artifacts_testing_install.json",
    repositories = [
        "https://repo.maven.apache.org/maven2/",
        "https://repo.spring.io/plugins-release/",
    ],
)

[dev_maven.artifact(
    name = "service_indexing_testing",
    testonly = True,  # must be propagated to the generated plugin
    artifact = artifact,
    group = "org.openjdk.jmh",
    version = "1.37",
) for artifact in ("jmh-core", "jmh-generator-annprocess")]

dev_maven.install(
    name = "service_indexing_testing",
    artifacts = [
        "com.google.auto.value:auto-value:1.10.4",
        "com.google.auto.value:auto-value-annotations:1.10.4",
        "org.projectlombok:lombok:1.18.22",
    ],
    lock_file = "//tests/custom_maven_install:service_indexing_testing.json",
)
dev_maven.install(
    name = "jvm_import_test",
    artifacts = [
        "com.google.code.findbugs:jsr305:3.0.2",
    ],
    repositories = [
        "https://repo1.maven.org/maven2",
        "https://maven.google.com",
    ],
)
dev_maven.install(
    name = "m2local_testing",
    artifacts = [
        # this is a test jar built for integration
        # tests in this repo
        "com.example:kt:1.0.0",
    ],
    fail_on_missing_checksum = True,
    repositories = [
        "m2Local",
        "https://repo1.maven.org/maven2",
    ],
)
dev_maven.install(
    name = "m2local_testing_ignore_empty_files",
    artifacts = [
        # this is a test jar built for integration
        # tests in this repo
        "com.example:kt:1.0.0",
    ],
    fetch_sources = True,
    ignore_empty_files = True,
    repositories = [
        "m2Local",
        "https://repo1.maven.org/maven2",
    ],
)
dev_maven.install(
    name = "m2local_testing_ignore_empty_files_repin",
    artifacts = [
        # this is a test jar built for integration
        # tests in this repo
        "com.example:kt:1.0.0",
    ],
    fetch_sources = True,
    ignore_empty_files = True,
    lock_file = "//tests/custom_maven_install:m2local_testing_ignore_empty_files_with_pinned_file_install.json",
    repositories = [
        "m2Local",
        "https://repo1.maven.org/maven2",
    ],
)
dev_maven.install(
    name = "m2local_testing_repin",
    artifacts = [
        # this is a test jar built for integration
        # tests in this repo
        "com.example:no-docs:1.0.0",
    ],
    lock_file = "//tests/custom_maven_install:m2local_testing_with_pinned_file_install.json",
    repositories = [
        "m2Local",
        "https://repo1.maven.org/maven2",
    ],
)
dev_maven.install(
    name = "m2local_testing_without_checksum",
    artifacts = [
        # this is a test jar built for integration
        # tests in this repo
        "com.example:kt:1.0.0",
    ],
    # jar won't have checksums for this test case
    fail_on_missing_checksum = False,
    repositories = [
        "m2Local",
        "https://repo1.maven.org/maven2",
    ],
)
dev_maven.install(
    name = "artifact_with_plus",
    artifacts = [
        "ch.epfl.scala:compiler-interface:1.3.0-M4+47-d881fa2f",
    ],
    repositories = [
        "https://repo1.maven.org/maven2",
    ],
)
dev_maven.install(
    name = "artifact_with_plus_repin",
    artifacts = [
        "ch.epfl.scala:compiler-interface:1.3.0-M4+47-d881fa2f",
    ],
    lock_file = "//tests/custom_maven_install:artifact_with_plus_repin_install.json",
    repositories = [
        "https://repo1.maven.org/maven2",
    ],
)
dev_maven.install(
    name = "manifest_stamp_testing",
    artifacts = [
        "com.google.guava:guava:27.0-jre",
        "javax.inject:javax.inject:1",
        "org.apache.beam:beam-sdks-java-core:2.15.0",
        "org.bouncycastle:bcprov-jdk15on:1.64",
    ],
    lock_file = "//tests/custom_maven_install:manifest_stamp_testing_install.json",
)
dev_maven.install(
    name = "maven_install_in_custom_location",
    artifacts = ["com.google.guava:guava:27.0-jre"],
    lock_file = "//tests/custom_maven_install:maven_install.json",
)
dev_maven.install(
    # This name matches the one in `tests/integration/bzlmod_lock_files`
    name = "multiple_lock_files",
    artifacts = ["org.zeromq:jeromq:0.5.4"],
    known_contributing_modules = [
        "bzlmod_lock_files",
        "rules_jvm_external",
    ],
    lock_file = "//tests/custom_maven_install:multiple_lock_files_install.json",
)
dev_maven.install(
    name = "maven_resolved_with_boms",
    # Before adding a dependency here, add a reduced test case to `ResolverTestBase`
    # so that we have a clearer understanding of _why_ this dependency is here, and
    # what we did to fix the problem.
    artifacts = [
        # A transitive dependency pulls in a `managedDependencies` section which sets the
        # `xmlpull` version to 1.2.0, which hasn't been publicly released. Maven and Gradle
        # both handle this situation gracefully and correctly resolve to `xmlpull` 1.1.3.1
        "org.drools:drools-mvel:7.53.0.Final",
        "org.optaplanner:optaplanner-core:7.53.0.Final",
        "org.seleniumhq.selenium:selenium-java",
    ],
    boms = [
        "org.seleniumhq.selenium:selenium-bom:4.14.1",
    ],
    lock_file = "@rules_jvm_external//tests/custom_maven_install:maven_resolved_install.json",
    repositories = [
        "https://repo.spring.io/plugins-release/",  # Requires auth, but we don't have it
        "https://repo1.maven.org/maven2",
    ],
    resolver = "maven",
)
dev_maven.artifact(
    name = "maven_resolved_with_boms",
    testonly = True,
    artifact = "auto-value-annotations",
    exclusions = [
        "org.slf4j:slf4j-api",
    ],
    group = "com.google.auto.value",
    version = "1.6.3",
)
dev_maven.artifact(
    name = "maven_resolved_with_boms",
    artifact = "json-lib",
    classifier = "jdk15",
    group = "net.sf.json-lib",
    version = "2.4",
)
dev_maven.install(
    name = "coursier_resolved_with_boms",
    artifacts = [
        "com.google.auth:google-auth-library-oauth2-http",
        "com.google.auto:auto-common:1.2.2",
    ],
    boms = [
        "com.google.cloud:libraries-bom:26.59.0",
    ],
    lock_file = "@rules_jvm_external//tests/custom_maven_install:coursier_resolved_install.json",
    repositories = [
        "https://repo1.maven.org/maven2",
    ],
    version_conflict_policy = "pinned",
)
dev_maven.artifact(
    name = "coursier_resolved_with_boms",
    artifact = "google-cloud-bigquery",
    exclusions = [
        "io.grpc:grpc-auth",
        "io.grpc:grpc-netty",
    ],
    group = "com.google.cloud",
)
dev_maven.install(
    name = "override_target_in_deps",
    artifacts = [
        "io.opentelemetry:opentelemetry-sdk:1.28.0",
        "org.slf4j:slf4j-log4j12:1.7.36",
        "redis.clients:jedis:5.0.2",
    ],
    lock_file = "@rules_jvm_external//tests/custom_maven_install:override_target_in_deps_install.json",
)
dev_maven.override(
    name = "override_target_in_deps",
    coordinates = "io.opentelemetry:opentelemetry-api",
    target = "@//tests/integration/override_targets:additional_deps",
)
dev_maven.override(
    name = "override_target_in_deps",
    coordinates = "org.slf4j:slf4j-log4j12",
    target = "@override_target_in_deps//:org_slf4j_slf4j_reload4j",
)
dev_maven.install(
    name = "same_override_target",
    artifacts = [
        "org.slf4j:slf4j-log4j12:1.7.36",
    ],
    lock_file = "@rules_jvm_external//tests/custom_maven_install:same_override_target_install.json",
)

# Test that we can have the same override in two different repos
dev_maven.override(
    name = "same_override_target",
    coordinates = "org.slf4j:slf4j-log4j12",
    target = "@same_override_target//:org_slf4j_slf4j_reload4j",
)
dev_maven.install(
    name = "policy_pinned_testing",
    artifacts = [
        # https://github.com/bazelbuild/rules_jvm_external/issues/107
        "com.google.cloud:google-cloud-storage:1.66.0",
        "com.google.guava:guava:25.0-android",
    ],
    lock_file = "//tests/custom_maven_install:policy_pinned_testing_install.json",
    version_conflict_policy = "pinned",
)

# These artifacts helped discover limitations in the Coursier resolver. Each
# artifact listed here *must have* an accompanying issue. We build_test these
# targets to ensure that they remain supported by the rule.
dev_maven.install(
    name = "regression_testing_coursier",
    artifacts = [
        # https://github.com/bazelbuild/rules_jvm_external/issues/74
        "org.pantsbuild:jarjar:1.6.6",
        # https://github.com/bazelbuild/rules_jvm_external/issues/59
        "junit:junit:4.12",
        "org.jetbrains.kotlin:kotlin-test:1.3.21",
        # https://github.com/bazelbuild/rules_jvm_external/issues/101
        # As referenced in the issue, daml is not available anymore, hence
        # replacing with another artifact with a classifier.
        "org.eclipse.jetty:jetty-http:jar:tests:9.4.20.v20190813",
        # https://github.com/bazelbuild/rules_jvm_external/issues/116
        "org.eclipse.jetty.orbit:javax.servlet:3.0.0.v201112011016",
        # https://github.com/bazelbuild/rules_jvm_external/issues/98
        "com.github.fommil.netlib:all:1.1.2",
        "nz.ac.waikato.cms.weka:weka-stable:3.8.1",
        # https://github.com/bazelbuild/rules_jvm_external/issues/111
        "com.android.support:appcompat-v7:28.0.0@aar",
        "com.google.android.gms:play-services-base:16.1.0",
        # https://github.com/bazelbuild/rules_jvm_external/issues/119#issuecomment-484278260
        "org.apache.flink:flink-test-utils_2.12:1.8.0",
        # https://github.com/bazelbuild/rules_jvm_external/issues/170
        "ch.epfl.scala:compiler-interface:1.3.0-M4+20-c8a2f9bd",
        # https://github.com/bazelbuild/rules_jvm_external/issues/172
        "org.openjfx:javafx-base:11.0.1",
        # https://github.com/bazelbuild/rules_jvm_external/issues/178
        "io.kubernetes:client-java:4.0.0-beta1",
        # https://github.com/bazelbuild/rules_jvm_external/issues/199
        "com.google.ar.sceneform.ux:sceneform-ux:1.10.0",
        # https://github.com/bazelbuild/rules_jvm_external/issues/119#issuecomment-504704752
        "com.github.oshi:oshi-parent:3.4.0",
        "com.github.spinalhdl:spinalhdl-core_2.11:1.3.6",
        "com.github.spinalhdl:spinalhdl-lib_2.11:1.3.6",
        # https://github.com/bazelbuild/rules_jvm_external/issues/201
        "org.apache.kafka:kafka_2.11:2.1.1",
        "io.confluent:kafka-avro-serializer:5.0.1",
        # https://github.com/bazelbuild/rules_jvm_external/issues/309
        "io.quarkus.http:quarkus-http-servlet:3.0.0.Beta1",
        # https://github.com/bazelbuild/rules_jvm_external/issues/371
        "com.fasterxml.jackson:jackson-bom:2.9.10",
        "org.junit:junit-bom:5.3.1",
        # https://github.com/bazelbuild/rules_jvm_external/issues/686
        "io.netty:netty-tcnative-boringssl-static:2.0.51.Final",
        # https://github.com/bazelbuild/rules_jvm_external/issues/907
        # Any two platforms to ensure that it doesn't work _only_ under the host operating system
        "com.google.protobuf:protoc:exe:linux-x86_64:3.21.12",
        "com.google.protobuf:protoc:exe:osx-aarch_64:3.21.12",
        # https://github.com/bazelbuild/rules_jvm_external/issues/917
        # androidx core-testing POM has "exclusion" for "byte-buddy" but it should be downloaded as mockito-core
        # dependency when the usually omitted "jar" packaging type is specified.
        "org.mockito:mockito-core:3.3.3@jar",
        "androidx.arch.core:core-testing:2.1.0@aar",
        # https://github.com/bazelbuild/rules_jvm_external/issues/1028
        "build.buf:protovalidate:0.1.9",
        # https://github.com/bazelbuild/rules_jvm_external/issues/1250
        "com.github.spotbugs:spotbugs:4.7.0",
        # https://github.com/bazelbuild/rules_jvm_external/issues/1267
        "org.mockito:mockito-core:3.3.3@pom",
        # https://github.com/bazel-contrib/rules_jvm_external/issues/1461
        "com.almworks.sqlite4java:libsqlite4java-linux-i386:1.0.392",
    ],
    generate_compat_repositories = True,
    lock_file = "//tests/custom_maven_install:regression_testing_coursier_install.json",
    repositories = [
        "https://repo1.maven.org/maven2",
        "https://maven.google.com",
        "https://packages.confluent.io/maven/",
    ],
)
dev_maven.override(
    name = "regression_testing_coursier",
    coordinates = "com.google.ar.sceneform:rendering",
    target = "@//tests/integration/override_targets:sceneform_rendering",
)

# https://github.com/bazelbuild/rules_jvm_external/issues/92#issuecomment-478430167
dev_maven.artifact(
    name = "regression_testing_coursier",
    artifact = "javapoet",
    group = "com.squareup",
    neverlink = True,
    version = "1.11.1",
)

# https://github.com/bazelbuild/rules_jvm_external/issues/852
dev_maven.artifact(
    name = "regression_testing_coursier",
    artifact = "jaxb-ri",
    exclusions = [
        "com.sun.xml.bind:jaxb-samples",
        "com.sun.xml.bind:jaxb-release-documentation",
    ],
    group = "com.sun.xml.bind",
    version = "2.3.6",
)

# https://github.com/bazelbuild/rules_jvm_external/issues/865
dev_maven.artifact(
    name = "regression_testing_coursier",
    artifact = "google-api-services-compute",
    classifier = "javadoc",
    group = "com.google.apis",
    version = "v1-rev235-1.25.0",
)

# https://github.com/bazelbuild/rules_jvm_external/issues/1345
dev_maven.artifact(
    name = "regression_testing_coursier",
    artifact = "jffi",
    classifier = "native",
    group = "com.github.jnr",
    version = "1.3.13",
)

# These artifacts helped discover limitations in the Maven resolver. Each
# artifact listed here *must have* an accompanying issue. We build_test these
# targets to ensure that they remain supported by the rule.
dev_maven.install(
    name = "regression_testing_maven",
    artifacts = [
        # Depends on org.apache.yetus:audience-annotations:0.11.0 which has an invalid pom
        "org.apache.parquet:parquet-common:1.11.1",
        # https://github.com/bazelbuild/rules_jvm_external/issues/1144
        "org.codehaus.plexus:plexus:1.0.4",
        "org.hamcrest:hamcrest-core:1.3",
        # https://github.com/bazelbuild/rules_jvm_external/issues/1162
        "io.opentelemetry:opentelemetry-sdk",
        # https://github.com/bazel-contrib/rules_jvm_external/issues/132
        "com.amazonaws:DynamoDBLocal:1.25.0",
        # https://github.com/bazel-contrib/rules_jvm_external/issues/1461
        "com.almworks.sqlite4java:libsqlite4java-linux-i386:1.0.392",
    ],
    boms = [
        "io.opentelemetry:opentelemetry-bom:1.31.0",
    ],
    generate_compat_repositories = True,
    lock_file = "//tests/custom_maven_install:regression_testing_maven_install.json",
    repin_instructions = "Please run `REPIN=1 bazel run @regression_testing_maven//:pin` to refresh the lock file.",
    repositories = [
        "https://repo1.maven.org/maven2",
        "https://maven.google.com",
    ],
    resolver = "maven",
)

# https://github.com/bazelbuild/rules_jvm_external/issues/1162
dev_maven.artifact(
    name = "regression_testing_maven",
    artifact = "opentelemetry-api",
    group = "io.opentelemetry",
    neverlink = True,
)
dev_maven.install(
    name = "regression_testing_gradle",
    artifacts = [
        # https://github.com/bazel-contrib/rules_jvm_external/issues/909
        "androidx.compose.foundation:foundation-layout:1.5.0-beta01",
        # https://github.com/bazel-contrib/rules_jvm_external/issues/909#issuecomment-2019217013
        "androidx.annotation:annotation:1.6.0",
        # https://github.com/bazel-contrib/rules_jvm_external/issues/1409
        "com.squareup.okhttp3:okhttp:4.12.0",
        # https://github.com/bazel-contrib/rules_jvm_external/issues/1461
        "com.almworks.sqlite4java:libsqlite4java-linux-i386:1.0.392",
        # https://github.com/bazel-contrib/rules_jvm_external/issues/1471
        "androidx.fragment:fragment-ktx:1.6.1",
        # https://github.com/bazel-contrib/rules_jvm_external/issues/250
        "org.slf4j:slf4j-log4j12:2.0.0",
    ],
    generate_compat_repositories = True,
    index_file = "//tests/custom_maven_install:regression_testing_gradle_index.json",
    lock_file = "//tests/custom_maven_install:regression_testing_gradle_install.json",
    repositories = [
        "https://repo1.maven.org/maven2",
        "https://maven.google.com",
    ],
    resolver = "gradle",
)
dev_maven.install(
    name = "starlark_aar_import_test",
    # Not actually necessary since this is the default value, but useful for
    # testing.
    aar_import_bzl_label = "@rules_android//android:rules.bzl",
    artifacts = [
        "com.android.support:appcompat-v7:28.0.0",
    ],
    fetch_sources = False,
    generate_compat_repositories = True,
    repositories = [
        "https://repo1.maven.org/maven2",
        "https://maven.google.com",
    ],
    use_starlark_android_rules = True,
)
dev_maven.install(
    name = "starlark_aar_import_with_sources_test",
    # Not actually necessary since this is the default value, but useful for
    # testing.
    aar_import_bzl_label = "@rules_android//android:rules.bzl",
    artifacts = [
        "androidx.work:work-runtime:2.6.0",
    ],
    fetch_sources = True,
    repositories = [
        "https://repo1.maven.org/maven2",
        "https://maven.google.com",
    ],
    use_starlark_android_rules = True,
)
dev_maven.install(
    name = "strict_visibility_testing",
    artifacts = [
        # https://github.com/bazelbuild/rules_jvm_external/issues/94
        "org.apache.tomcat:tomcat-catalina:9.0.24",
    ],
    strict_visibility = True,
)

# https://github.com/bazelbuild/rules_jvm_external/issues/255
dev_maven.artifact(
    name = "strict_visibility_testing",
    artifact = "jetty-http",
    classifier = "tests",
    group = "org.eclipse.jetty",
    version = "9.4.20.v20190813",
)
dev_maven.install(
    name = "strict_visibility_with_compat_testing",
    artifacts = [
        # Must not be in any other maven_install where generate_compat_repositories = True
        "com.google.http-client:google-http-client-gson:1.42.3",
    ],
    generate_compat_repositories = True,
    strict_visibility = True,
)
dev_maven.artifact(
    name = "testonly_testing",
    artifact = "guava",
    group = "com.google.guava",
    version = "27.0-jre",
)
dev_maven.artifact(
    name = "testonly_testing",
    testonly = True,
    artifact = "auto-value-annotations",
    group = "com.google.auto.value",
    version = "1.6.3",
)

# https://github.com/bazelbuild/rules_jvm_external/issues/433
dev_maven.install(
    name = "version_interval_testing",
    artifacts = [
        "io.grpc:grpc-netty-shaded:1.29.0",
    ],
)
dev_maven.install(
    name = "v1_lock_file_format",
    artifacts = [
        # Coordinates that are in no other `maven_install`
        "org.seleniumhq.selenium:selenium-remote-driver:4.8.0",
    ],
    generate_compat_repositories = True,
    lock_file = "//tests/custom_maven_install:v1_lock_file_format_install.json",
)

# https://github.com/bazelbuild/rules_jvm_external/issues/1206
dev_maven.install(
    name = "transitive_dependency_with_type_of_pom",
    artifacts = [
        # an arbitrary artifact which depends on org.javamoney:moneta:pom
        # https://github.com/quarkiverse/quarkus-moneta/blob/2.0.0/runtime/pom.xml#L16-L21
        "io.quarkiverse.moneta:quarkus-moneta:2.0.0",

        # has a transitive dependency on
        # org.apache.logging.log4j:log4j:3.0.0-beta3 which has packaging=pom.
        # enabling fetch_sources=True yields a regression documented at
        # https://github.com/bazel-contrib/rules_jvm_external/issues/1477 since
        # that artifact has no sources jar.
        "org.opencadc:cadc-util:1.12.10",
    ],
    fetch_sources = True,
    lock_file = "//tests/custom_maven_install:transitive_dependency_with_type_of_pom.json",
)
dev_maven.install(
    name = "pom_exclusion_testing_coursier",
    artifacts = [],
    excluded_artifacts = [
        "log4j:log4j",
    ],
    lock_file = "//tests/integration/pom_file:pom_exclusion_testing_coursier_install.json",
    resolver = "coursier",
)
dev_maven.artifact(
    name = "pom_exclusion_testing_coursier",
    artifact = "guava",
    exclusions = ["com.google.errorprone:error_prone_annotations"],
    group = "com.google.guava",
    version = "31.1-jre",
)
dev_maven.install(
    name = "pom_exclusion_testing_maven",
    artifacts = [],
    excluded_artifacts = [
        "log4j:log4j",
    ],
    lock_file = "//tests/integration/pom_file:pom_exclusion_testing_maven_install.json",
    resolver = "maven",
)
dev_maven.artifact(
    name = "pom_exclusion_testing_maven",
    artifact = "guava",
    exclusions = ["com.google.errorprone:error_prone_annotations"],
    group = "com.google.guava",
    version = "31.1-jre",
)
dev_maven.install(
    name = "pom_exclusion_testing_gradle",
    artifacts = [],
    excluded_artifacts = [
        "log4j:log4j",
    ],
    lock_file = "//tests/integration/pom_file:pom_exclusion_testing_gradle_install.json",
    resolver = "gradle",
)
dev_maven.artifact(
    name = "pom_exclusion_testing_gradle",
    artifact = "guava",
    exclusions = ["com.google.errorprone:error_prone_annotations"],
    group = "com.google.guava",
    version = "31.1-jre",
)

# Ensure that if a root module defines an artifact, the version from the root
# wins when artifact resolution completes.
dev_maven.install(
    name = "root_wins",
    artifacts = [
        "io.netty:netty-buffer",
    ],
    boms = [
        "io.netty:netty-bom:4.1.121.Final",
    ],
    known_contributing_modules = [
        "root_wins_layer",
        "rules_jvm_external",
    ],
    lock_file = "//tests/custom_maven_install:root_wins_install.json",
    resolver = "maven",
)
dev_maven.amend_artifact(
    name = "root_wins",
    coordinates = "io.netty:netty-buffer",
    force_version = True,
)

bazel_dep(name = "root_wins_layer", version = "0.0.0", dev_dependency = True)
local_path_override(
    module_name = "root_wins_layer",
    path = "tests/integration/root_wins_layer",
)

dev_maven.install(
    name = "root_module_can_override",
    artifacts = ["com.squareup:javapoet:1.11.1"],
    known_contributing_modules = [
        "rules_jvm_external",
        "transitive_module_can_override",
    ],
)

bazel_dep(name = "transitive_module_can_override", version = "0.0.0", dev_dependency = True)
local_path_override(
    module_name = "transitive_module_can_override",
    path = "tests/integration/override_targets/module",
)

dev_maven.override(
    name = "root_module_can_override",
    # This override demonstrates that this root module's override takes precedence over that transitive override definition.
    # Use something absurd for testing, like overriding okhttp3 to javapoet.
    # The //tests/integration/override_targets:root_module_can_override_test validates the root override take precedence over transitive ones.
    coordinates = "com.squareup.okhttp3:okhttp",
    target = "@root_module_can_override//:com_squareup_javapoet",
)

# Where there are file locks, the pinned and unpinned repos are listed
# next to each other. Where compat repositories are created, they are
# listed next to the repo that created them. The list is otherwise kept
# in alphabetical order. We use comments to space out the entries and to
# prevent `buildifier` from over-zealously sorting things more than we
# want it to
use_repo(
    dev_maven,
    "duplicate_version_warning",
    "duplicate_version_warning_same_version",
    "exclusion_testing",
    "forcing_versions",
    "from_files",
    "global_exclusion_testing",
    "m2local_testing",
    "m2local_testing_ignore_empty_files",

    # Pinned repo
    "m2local_testing_ignore_empty_files_repin",
    "unpinned_m2local_testing_ignore_empty_files_repin",

    # Pinned repo
    "java_export_exclusion_testing",
    "unpinned_java_export_exclusion_testing",

    # Pinned repo
    "json_artifacts_testing",
    "unpinned_json_artifacts_testing",

    # Pinned repo
    "service_indexing_testing",
    "unpinned_service_indexing_testing",

    # Unpinned repo
    "jvm_import_test",
    "manifest_stamp_testing",
    "unpinned_manifest_stamp_testing",

    # Pinned repo
    "artifact_with_plus",
    "artifact_with_plus_repin",
    "m2local_testing_repin",
    "m2local_testing_without_checksum",
    "unpinned_artifact_with_plus_repin",
    "unpinned_m2local_testing_repin",

    # Pinned repo
    "maven",
    "unpinned_maven",

    # Pinned repo
    "maven_install_in_custom_location",
    "unpinned_maven_install_in_custom_location",

    # Unpinned repo
    "multiple_lock_files",

    # Pinned repo
    "coursier_resolved_with_boms",
    "maven_resolved_with_boms",

    # Pinned repo
    "override_target_in_deps",
    "same_override_target",
    "unpinned_override_target_in_deps",
    "unpinned_same_override_target",

    # Pinned repo
    "policy_pinned_testing",
    "unpinned_policy_pinned_testing",

    # Pinned repo
    "transitive_dependency_with_type_of_pom",
    "unpinned_transitive_dependency_with_type_of_pom",

    # Regression testing and libraries exposed as compat repos
    "com_android_support_appcompat_v7_aar_28_0_0",
    "com_google_guava_guava_27_0_jre",
    "nz_ac_waikato_cms_weka_weka_stable",
    "org_apache_flink_flink_test_utils_2_12",
    "org_eclipse_jetty_jetty_http_tests",
    "org_pantsbuild_jarjar",
    "regression_testing_coursier",
    "regression_testing_gradle",
    "regression_testing_maven",
    "unpinned_regression_testing_coursier",
    "unpinned_regression_testing_gradle",
    "unpinned_regression_testing_maven",

    # exclusion testing
    "pom_exclusion_testing_coursier",
    "pom_exclusion_testing_gradle",
    "pom_exclusion_testing_maven",

    # Back to the testing repos
    "root_module_can_override",
    "starlark_aar_import_test",
    "starlark_aar_import_with_sources_test",
    "strict_visibility_testing",

    # Repo with compat repos
    "com_google_http_client_google_http_client_gson",
    "strict_visibility_with_compat_testing",

    # Final entries
    "com_google_http_client_google_http_client",
    "root_wins",
    "testonly_testing",
    "unpinned_v1_lock_file_format",
    "v1_lock_file_format",
    "version_interval_testing",
)

http_file(
    name = "com.google.ar.sceneform_rendering",
    downloaded_file_path = "rendering-1.10.0.aar",
    sha256 = "d2f6cd1d54eee0d5557518d1edcf77a3ba37494ae94f9bb862e570ee426a3431",
    urls = [
        "https://dl.google.com/android/maven2/com/google/ar/sceneform/rendering/1.10.0/rendering-1.10.0.aar",
    ],
)

http_file(
    name = "hamcrest_core_for_test",
    downloaded_file_path = "hamcrest-core-1.3.jar",
    sha256 = "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9",
    urls = [
        "https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar",
    ],
)

http_file(
    name = "hamcrest_core_srcs_for_test",
    downloaded_file_path = "hamcrest-core-1.3-sources.jar",
    sha256 = "e223d2d8fbafd66057a8848cc94222d63c3cedd652cc48eddc0ab5c39c0f84df",
    urls = [
        "https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar",
    ],
)

http_file(
    name = "gson_for_test",
    downloaded_file_path = "gson-2.9.0.jar",
    sha256 = "c96d60551331a196dac54b745aa642cd078ef89b6f267146b705f2c2cbef052d",
    urls = [
        "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.9.0/gson-2.9.0.jar",
    ],
)

http_file(
    name = "junit_platform_commons_for_test",
    downloaded_file_path = "junit-platform-commons-1.8.2.jar",
    sha256 = "d2e015fca7130e79af2f4608dc54415e4b10b592d77333decb4b1a274c185050",
    urls = [
        "https://repo1.maven.org/maven2/org/junit/platform/junit-platform-commons/1.8.2/junit-platform-commons-1.8.2.jar",
    ],
)

# https://github.com/bazelbuild/rules_jvm_external/issues/865
http_file(
    name = "google_api_services_compute_javadoc_for_test",
    downloaded_file_path = "google-api-services-compute-v1-rev235-1.25.0-javadoc.jar",
    sha256 = "b03be5ee8effba3bfbaae53891a9c01d70e2e3bd82ad8889d78e641b22bd76c2",
    urls = [
        "https://repo1.maven.org/maven2/com/google/apis/google-api-services-compute/v1-rev235-1.25.0/google-api-services-compute-v1-rev235-1.25.0-javadoc.jar",
    ],
)

http_file(
    name = "lombok_for_test",
    downloaded_file_path = "lombok-1.18.22.jar",
    sha256 = "ecef1581411d7a82cc04281667ee0bac5d7c0a5aae74cfc38430396c91c31831",
    urls = [
        "https://repo1.maven.org/maven2/org/projectlombok/lombok/1.18.22/lombok-1.18.22.jar",
    ],
)
