module(
    name = "rules_android",
    version = "0.8.0",
    compatibility_level = 1,
)

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_cc", version = "0.2.14")
bazel_dep(name = "rules_shell", version = "0.6.1")
bazel_dep(name = "libxml2", version = "2.15.3")

bazel_dep(name = "stardoc", version = "0.8.0", dev_dependency = True)

rules_java_toolchains = use_extension("@rules_java//java:extensions.bzl", "toolchains")
use_repo(rules_java_toolchains, "remote_java_tools")

bazel_dep(name = "protobuf", version = "33.4", repo_name = "com_google_protobuf")
bazel_dep(name = "rules_jvm_external", version = "6.9")
bazel_dep(name = "bazel_skylib", version = "1.8.1")
bazel_dep(name = "bazel_features", version = "1.48.1")
bazel_dep(name = "rules_robolectric", version = "4.14.1.2", repo_name = "robolectric")

register_toolchains("//toolchains/android:all")

register_toolchains("//toolchains/android_sdk:all")

# go-related dependency setup
bazel_dep(name = "rules_go", version = "0.59.0", repo_name = "io_bazel_rules_go")
bazel_dep(name = "gazelle", version = "0.47.0", repo_name = "bazel_gazelle")
bazel_dep(name = "abseil-py", version = "2.1.0", repo_name = "py_absl")
bazel_dep(name = "bazel_worker_api", version = "0.0.11")
bazel_dep(name = "bazel_worker_java", version = "0.0.11")

go_sdk = use_extension("@io_bazel_rules_go//go:extensions.bzl", "go_sdk")
go_sdk.download(version = "1.22.4")

go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps")
go_deps.from_file(go_mod = "//:go.mod")
use_repo(
    go_deps,
    "com_github_golang_glog",
    "com_github_google_go_cmp",
    "org_bitbucket_creachadair_stringset",
    "org_golang_google_protobuf",
    "org_golang_x_sync",
)

# python-related dependency setup
bazel_dep(name = "rules_python", version = "1.6.0", repo_name = "rules_python")

python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
    is_default = True,
    python_version = "3.11",
)

# proto-related dependency setup
bazel_dep(name = "rules_proto", version = "7.1.0", repo_name = "rules_proto")

maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")

# Maven for android_ide_common need to be separated into their own separate maven_install for now
# due to compatibility issues with newer versions.
maven.install(
    name = "android_ide_common_30_1_3",
    aar_import_bzl_label = "@rules_android//rules:rules.bzl",
    artifacts = [
        "com.android.tools.layoutlib:layoutlib-api:30.1.3",
        "com.android.tools.build:manifest-merger:30.1.3",
        "com.android.tools:common:30.1.3",
        "com.android.tools:repository:30.1.3",
        "com.android.tools.analytics-library:protos:30.1.3",
        "com.android.tools.analytics-library:shared:30.1.3",
        "com.android.tools.analytics-library:tracker:30.1.3",
        "com.android.tools:annotations:30.1.3",
        "com.android.tools:sdk-common:30.1.3",
        "com.android.tools.build:builder:7.1.3",
        "com.android.tools.build:builder-model:7.1.3",
    ],
    repositories = [
        "https://maven.google.com",
        "https://repo1.maven.org/maven2",
    ],
    use_starlark_android_rules = True,
)
use_repo(maven, "android_ide_common_30_1_3")

maven.install(
    name = "rules_android_maven",
    aar_import_bzl_label = "@rules_android//rules:rules.bzl",
    artifacts = [
        "androidx.privacysandbox.tools:tools:1.0.0-alpha06",
        "androidx.privacysandbox.tools:tools-apigenerator:1.0.0-alpha06",
        "androidx.privacysandbox.tools:tools-apipackager:1.0.0-alpha06",
        "androidx.test:core:1.6.0-alpha01",
        "androidx.test.ext:junit:1.2.0-alpha01",
        "com.android.tools.apkdeployer:apkdeployer:8.11.0-alpha10",
        "com.android.tools.build:bundletool:1.18.2",
        "com.android.tools:desugar_jdk_libs_minimal:2.1.5",
        "com.android.tools:desugar_jdk_libs_configuration_minimal:2.1.5",
        "com.android.tools:desugar_jdk_libs_nio:2.1.5",
        "com.android.tools:desugar_jdk_libs_configuration_nio:2.1.5",
        "com.android.tools:desugar_jdk_libs_configuration:2.1.5",
        "com.android.tools:r8:9.3.16",
        "org.bouncycastle:bcprov-jdk18on:1.77",
        "org.hamcrest:hamcrest-core:2.2",
        "org.robolectric:robolectric:4.14.1",
        "com.google.flogger:flogger:0.8",
        "com.google.flogger:flogger-system-backend:0.8",
        "com.google.guava:guava:32.1.2-jre",
        "com.google.guava:failureaccess:1.0.1",
        "info.picocli:picocli:4.7.4",
        "jakarta.inject:jakarta.inject-api:2.0.1",
        "junit:junit:4.13.2",
        "com.beust:jcommander:1.82",
        "com.google.code.findbugs:jsr305:3.0.2",
        "androidx.databinding:databinding-compiler:8.7.0",
        "org.ow2.asm:asm:9.6",
        "org.ow2.asm:asm-commons:9.6",
        "org.ow2.asm:asm-tree:9.6",
        "org.ow2.asm:asm-util:9.6",
        "com.android:zipflinger:8.7.0",
        "com.android.tools.build:gradle:8.7.0",
        "com.android:signflinger:8.7.0",
        "com.android.tools.build:aapt2-proto:8.6.1-11315950",
        "com.android.tools.build:apksig:8.7.0",
        "com.android.tools.build:apkzlib:8.7.0",
        "com.google.auto.value:auto-value:1.11.0",
        "com.google.auto.value:auto-value-annotations:1.11.0",
        "com.google.auto:auto-common:1.2.2",
        "com.google.auto.service:auto-service:1.1.1",
        "com.google.auto.service:auto-service-annotations:1.1.1",
        "com.google.errorprone:error_prone_annotations:2.33.0",
        "com.google.errorprone:error_prone_type_annotations:2.33.0",
        "com.google.errorprone:error_prone_check_api:2.33.0",
        "com.google.errorprone:error_prone_core:2.33.0",
        # Test deps
        "com.google.guava:guava-testlib:33.2.1-jre",
        "com.google.jimfs:jimfs:1.2",
        "com.google.testing.compile:compile-testing:0.18",
        "com.google.testparameterinjector:test-parameter-injector:1.16",
        "com.google.truth:truth:1.4.0",
        "com.google.truth.extensions:truth-java8-extension:1.4.0",
        "com.google.truth.extensions:truth-liteproto-extension:1.4.0",
        "com.google.truth.extensions:truth-proto-extension:1.4.0",
        "org.mockito:mockito-core:5.4.0",
    ],
    repositories = [
        "https://maven.google.com",
        "https://repo1.maven.org/maven2",
    ],
    # To generate, run:
    # REPIN=1 bazelisk run --enable_bzlmod @rules_android_maven//:pin
    # lock_file = "//:rules_android_maven_install.json",
    use_starlark_android_rules = True,
)
use_repo(
    maven,
    "rules_android_maven",
)

remote_android_extensions = use_extension("//bzlmod_extensions:android_extensions.bzl", "remote_android_tools_extensions")
use_repo(remote_android_extensions, "android_tools")

# integration test setup
bazel_dep(
    name = "rules_bazel_integration_test",
    version = "0.37.1",
    dev_dependency = True,
)
bazel_dep(
    name = "cgrindel_bazel_starlib",
    version = "0.18.0",
    dev_dependency = True,
)

bazel_binaries = use_extension(
    "@rules_bazel_integration_test//:extensions.bzl",
    "bazel_binaries",
    dev_dependency = True,
)
bazel_binaries.download(version = "last_green")
use_repo(bazel_binaries, "bazel_binaries", "bazel_binaries_bazelisk", "build_bazel_bazel_last_green")

# extension for apksignerextensions
apksig_extension = use_extension("//bzlmod_extensions:apksig.bzl", "apksig_extension")
use_repo(apksig_extension, "apksig")

# extension for the legacy com_android_dex library
com_android_dex_extension = use_extension("//bzlmod_extensions:com_android_dex.bzl", "com_android_dex_extension")
use_repo(com_android_dex_extension, "com_android_dex")

android_sdk_repository_extension = use_extension("//rules/android_sdk_repository:rule.bzl", "android_sdk_repository_extension")
use_repo(android_sdk_repository_extension, "androidsdk")

register_toolchains("@androidsdk//:sdk-toolchain", "@androidsdk//:all")
