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

bazel_dep(name = "rules_android", version = "0.7.1")
bazel_dep(name = "bazel_features", version = "1.33.0")
bazel_dep(name = "bazel_skylib", version = "1.8.1")
bazel_dep(name = "package_metadata", version = "0.0.7")
bazel_dep(name = "platforms", version = "1.0.0")
bazel_dep(name = "rules_license", version = "1.0.0")
bazel_dep(name = "rules_java", version = "9.3.0")
bazel_dep(name = "rules_kotlin", version = "2.4.0")
bazel_dep(name = "rules_shell", version = "0.6.1")
bazel_dep(name = "toml.bzl", version = "0.3.0")

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

# Use compatibility_proxy for Bazel 7 compatibility with rules_java 9.x
# For Bazel 8+, this uses rules_java implementations
# For Bazel 7, this falls back to native Java rules
compat_proxy = use_extension("@rules_java//java:rules_java_deps.bzl", "compatibility_proxy")
use_repo(compat_proxy, "compatibility_proxy")

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

_MAVEN_VERSION = "3.9.10"

_MAVEN_RESOLVER_VERSION = "1.9.27"

_GRADLE_VERSION = "9.5.0"

maven.install(
    name = "rules_jvm_external_deps",
    artifacts = [
        "com.github.jknack:handlebars:4.3.1",
        "com.google.auth:google-auth-library-credentials:1.35.0",
        "com.google.auth:google-auth-library-oauth2-http:1.35.0",
        "com.google.cloud:google-cloud-core:2.57.0",
        "com.google.cloud:google-cloud-storage:2.53.0",
        "com.google.code.findbugs:jsr305:3.0.2",
        "com.google.code.gson:gson:2.13.1",
        "com.google.googlejavaformat:google-java-format:1.27.0",
        "com.google.guava:guava:33.4.8-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.70",
        "org.bouncycastle:bcpg-jdk15on:1.70",
        "org.codehaus.plexus:plexus-cipher:2.1.0",
        "org.codehaus.plexus:plexus-sec-dispatcher:2.0",
        "org.codehaus.plexus:plexus-utils:4.0.2",
        "org.codehaus.plexus:plexus-xml:3.0.1",
        "org.fusesource.jansi:jansi:2.4.2",
        "org.gradle:gradle-tooling-api:%s" % _GRADLE_VERSION,
        "org.jetbrains.kotlin:kotlin-metadata-jvm:2.2.0",
        "org.jetbrains.kotlin:kotlin-stdlib:2.2.0",
        "org.ow2.asm:asm:9.8",
        "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.34.0",
        "software.amazon.awssdk:sdk-core:2.34.0",
    ],
    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")

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-VTx49Q2vzVTWW5pERkkFeFdGnt+DZDE4lpVghTbWt0Y=",
    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 = "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.33.4",
        "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 = "amend_artifacts",
    artifacts = [
        "com.google.guava:guava:31.1-jre",
        "org.apache.commons:commons-lang3:3.12.0",
        "org.slf4j:slf4j-api:1.7.32",
    ],
    lock_file = "//tests/custom_maven_install:amend_artifacts_install.json",
)

# Toggle the `testonly` flag on guava
dev_maven.amend_artifact(
    name = "amend_artifacts",
    testonly = "on",
    coordinates = "com.google.guava:guava",
)
dev_maven.amend_artifact(
    name = "amend_artifacts",
    testonly = "off",
    coordinates = "com.google.guava:guava",
)
dev_maven.amend_artifact(
    name = "amend_artifacts",
    testonly = "true",
    coordinates = "org.apache.commons:commons-lang3",
)
dev_maven.amend_artifact(
    name = "amend_artifacts",
    coordinates = "org.slf4j:slf4j-api",
    neverlink = "on",
)
dev_maven.install(
    name = "duplicate_version_error",
    artifacts = [
        "com.fasterxml.jackson.core:jackson-annotations:2.10.1",
        "com.fasterxml.jackson.core:jackson-annotations:2.12.1",
    ],
    duplicate_version_warning = "error",
    repositories = [
        "https://repo1.maven.org/maven2",
        "https://maven.google.com",
    ],
)
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",
    ],
    # The TOML file includes AAR artifacts (e.g. play-services-tasks) which
    # pull in transitive AAR deps like androidx.fragment:fragment. On Bazel 8+
    # the native aar_import no longer exists so the Starlark version from
    # rules_android is used automatically. On Bazel 7 we must opt in
    # explicitly, otherwise the native aar_import requires an Android SDK
    # toolchain that is not registered in this module.
    use_starlark_android_rules = True,
)
dev_maven.from_toml(
    name = "from_files",
    bom_modules = [
        "com.google.guava:guava-bom",
    ],
    libs_versions_toml = "//tests/integration:libs.versions.toml",
)
dev_maven.override(
    name = "from_files",
    coordinates = "com.google.android.gms:play-services-tasks",
    target = "@//tests/integration/override_targets:play_services_tasks_override",
)
dev_maven.amend_artifact(
    name = "from_files",
    testonly = "true",
    coordinates = "org.junit.jupiter:junit-jupiter-api",
)

# Requests the main jar and the test-fixtures jar of one module at different
# versions. Gradle selects a single version per module, so the pinned policy
# must only force one of them.
# https://github.com/bazel-contrib/rules_jvm_external/pull/1608
dev_maven.install(
    name = "gradle_classifier_pinning",
    artifacts = [
        "com.squareup.misk:misk-feature:2026.07.11.061457-fa37275",
        "com.squareup.misk:misk-feature:jar:test-fixtures:2026.06.30.120630-d342aab",
    ],
    lock_file = "//tests/custom_maven_install:gradle_classifier_pinning_install.json",
    resolver = "gradle",
    version_conflict_policy = "pinned",
)
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.33.4",
    ],
    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(
    name = "multi_repo_hash",
    artifacts = ["junit:junit:4.13.2"],
    fail_if_repin_required = True,
    lock_file = "//tests/custom_maven_install:multi_repo_hash_install.json",
    repositories = [
        "https://repo1.maven.org/maven2/",
        "https://repo.maven.apache.org/maven2/",
    ],
    resolver = "maven",
    resolver_extra_dependencies = [
        "//private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/remote:remote",
    ],
)
dev_maven.install(
    name = "legacy_multi_repo_hash",
    artifacts = ["junit:junit:4.13.2"],
    fail_if_repin_required = True,
    lock_file = "//tests/custom_maven_install:legacy_multi_repo_hash_install.json",
    repositories = [
        "https://repo1.maven.org/maven2/",
        "https://repo.maven.apache.org/maven2/",
    ],
)
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",
    ],
    index_file = "@rules_jvm_external//tests/custom_maven_install:maven_resolved_index.json",
    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",
    ],
    index_file = "@rules_jvm_external//tests/custom_maven_install:coursier_resolved_index.json",
    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 = "bom_only_pinning",
    boms = [
        "io.servicetalk:servicetalk-bom:0.42.62",
    ],
    fetch_sources = True,
    lock_file = "//tests/custom_maven_install:bom_only_pinning_install.json",
    strict_visibility = True,
)
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",
)

# https://github.com/bazel-contrib/rules_jvm_external/issues/1477
dev_maven.install(
    name = "maven_missing_source_jar",
    artifacts = [
        # Guava depends on the empty
        # com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
        # jar, which publishes a main jar but no sources jar. With the Maven
        # resolver and fetch_sources = True this used to fail resolution rather
        # than treat the missing sources jar as absent.
        "com.google.guava:guava:33.4.8-jre",
    ],
    fetch_sources = True,
    lock_file = "//tests/custom_maven_install:maven_missing_source_jar_install.json",
    repositories = [
        "https://repo1.maven.org/maven2",
    ],
    resolver = "maven",
)

# https://github.com/bazel-contrib/rules_jvm_external/issues/1477
# Same missing-sources-jar case as maven_missing_source_jar, but exercised via
# the Gradle resolver.
dev_maven.install(
    name = "gradle_missing_source_jar",
    artifacts = [
        "com.google.guava:guava:33.4.8-jre",
    ],
    fetch_sources = True,
    lock_file = "//tests/custom_maven_install:gradle_missing_source_jar_install.json",
    repositories = [
        "https://repo1.maven.org/maven2",
    ],
    resolver = "gradle",
)
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 = "coursier_layering",
    artifacts = [
        "com.google.code.findbugs:jsr305:3.0.1",
    ],
    known_contributing_modules = [
        "coursier_higher_layer",
    ],
    resolver = "coursier",
)

bazel_dep(name = "coursier_higher_layer", version = "0.0.0", dev_dependency = True)
local_path_override(
    module_name = "coursier_higher_layer",
    path = "tests/integration/coursier_higher_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,
    "amend_artifacts",
    "bom_only_pinning",
    "coursier_layering",
    "duplicate_version_error",
    "duplicate_version_warning",
    "duplicate_version_warning_same_version",
    "exclusion_testing",
    "forcing_versions",
    "from_files",
    "global_exclusion_testing",
    "gradle_classifier_pinning",
    "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",

    # Pinned repo
    "maven_missing_source_jar",
    "unpinned_maven_missing_source_jar",

    # Pinned repo
    "gradle_missing_source_jar",
    "unpinned_gradle_missing_source_jar",

    # 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",
    "multi_repo_hash",
    "unpinned_multi_repo_hash",
    "legacy_multi_repo_hash",
    "unpinned_legacy_multi_repo_hash",
)

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",
    ],
)
