Skip to content

Commit

Permalink
Use http_jar instead of rules_jvm_external to download bundletool
Browse files Browse the repository at this point in the history
  • Loading branch information
Bencodes committed May 24, 2023
1 parent 568161c commit 9791453
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 46 deletions.
19 changes: 3 additions & 16 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ rules_java_toolchains = use_extension("@rules_java//java:extensions.bzl", "toolc
use_repo(rules_java_toolchains, "remote_java_tools")

bazel_dep(name = "protobuf", version = "3.19.0", repo_name = "com_google_protobuf")
bazel_dep(name = "rules_jvm_external", version = "4.5")
bazel_dep(name = "bazel_skylib", version = "1.0.3")
bazel_dep(name = "rules_robolectric", version = "4.10")

Expand All @@ -31,21 +30,9 @@ use_repo(
"com_github_google_go_cmp",
"org_golang_x_sync",
)
maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
maven.install(
name = "rules_android_maven",
artifacts = [
"com.android.tools.build:bundletool:1.6.1",
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
use_repo(
maven,
"rules_android_maven"
)

rules_android_extensions = use_extension("//:prereqs.bzl", "rules_android_extensions")
use_repo(rules_android_extensions, "bundletool_all")

remote_android_extensions = use_extension("@bazel_tools//tools/android:android_extensions.bzl", "remote_android_tools_extensions")
use_repo(remote_android_extensions, "android_tools", "android_gmaven_r8")
1 change: 0 additions & 1 deletion defs.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ def rules_android_workspace():
maven_install(
name = "rules_android_maven",
artifacts = [
"com.android.tools.build:bundletool:1.6.1",
"com.android.tools.build:gradle:8.0.1",
],
repositories = [
Expand Down
8 changes: 0 additions & 8 deletions examples/basicapp/WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,6 @@ android_ndk_repository(
name = "androidndk",
)

maybe(
http_archive,
name = "rules_jvm_external",
strip_prefix = "rules_jvm_external-fa73b1a8e4846cee88240d0019b8f80d39feb1c3",
sha256 = "7e13e48b50f9505e8a99cc5a16c557cbe826e9b68d733050cd1e318d69f94bb5",
url = "https://github.com/bazelbuild/rules_jvm_external/archive/fa73b1a8e4846cee88240d0019b8f80d39feb1c3.zip",
)

maybe(
http_archive,
name = "bazel_skylib",
Expand Down
46 changes: 26 additions & 20 deletions prereqs.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,22 @@

"""Sets up prerequisites for rules_android."""

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_jar")
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")

def _rules_android_bzlmod_prereqs():
"""Downloads prerequisite repositories specific to Bzlmod that can't otherwise be handled in the MODULE.bazel"""
maybe(
http_jar,
name = "bundletool_all",
sha256 = "2f78f9c8d059db1c7ea4ac6ffb2527466af03838d150b70f4b77fe7deefca011",
urls = ["https://github.com/google/bundletool/releases/download/1.14.1/bundletool-all-1.14.1.jar"],
)

def rules_android_prereqs():
"""Downloads prerequisite repositories for rules_android."""
maybe(
http_archive,
name = "rules_jvm_external",
strip_prefix = "rules_jvm_external-fa73b1a8e4846cee88240d0019b8f80d39feb1c3",
sha256 = "7e13e48b50f9505e8a99cc5a16c557cbe826e9b68d733050cd1e318d69f94bb5",
url = "https://github.com/bazelbuild/rules_jvm_external/archive/fa73b1a8e4846cee88240d0019b8f80d39feb1c3.zip",
)

_rules_android_bzlmod_prereqs()

maybe(
http_archive,
Expand All @@ -41,8 +44,8 @@ def rules_android_prereqs():
name = "remote_java_tools_for_rules_android",
sha256 = "8fb4d3138bd92a9d3324dae29c9f70d91ca2db18cd0bf1997446eed4657d19b3",
urls = [
"https://mirror.bazel.build/bazel_java_tools/releases/java/v11.8/java_tools-v11.8.zip",
"https://github.com/bazelbuild/java_tools/releases/download/java_v11.8/java_tools-v11.8.zip",
"https://mirror.bazel.build/bazel_java_tools/releases/java/v11.8/java_tools-v11.8.zip",
"https://github.com/bazelbuild/java_tools/releases/download/java_v11.8/java_tools-v11.8.zip",
],
)

Expand Down Expand Up @@ -85,22 +88,25 @@ def rules_android_prereqs():
)

maybe(
http_archive,
name = "rules_license",
urls = [
"https://github.com/bazelbuild/rules_license/releases/download/0.0.4/rules_license-0.0.4.tar.gz",
"https://mirror.bazel.build/github.com/bazelbuild/rules_license/releases/download/0.0.4/rules_license-0.0.4.tar.gz",
],
sha256 = "6157e1e68378532d0241ecd15d3c45f6e5cfd98fc10846045509fb2a7cc9e381",
http_archive,
name = "rules_license",
urls = [
"https://github.com/bazelbuild/rules_license/releases/download/0.0.4/rules_license-0.0.4.tar.gz",
"https://mirror.bazel.build/github.com/bazelbuild/rules_license/releases/download/0.0.4/rules_license-0.0.4.tar.gz",
],
sha256 = "6157e1e68378532d0241ecd15d3c45f6e5cfd98fc10846045509fb2a7cc9e381",
)

maybe(
http_archive,
name = "py_absl",
sha256 = "0fb3a4916a157eb48124ef309231cecdfdd96ff54adf1660b39c0d4a9790a2c0",
urls = [
"https://github.com/abseil/abseil-py/archive/refs/tags/v1.4.0.tar.gz",
],
urls = ["https://github.com/abseil/abseil-py/archive/refs/tags/v1.4.0.tar.gz"],
strip_prefix = "abseil-py-1.4.0",
)

def _rules_android_extensions_impl(_):
"""Downloads prerequisite repositories for rules_android specifically needed for Bzlmod."""
_rules_android_bzlmod_prereqs()

rules_android_extensions = module_extension(implementation = _rules_android_extensions_impl)
2 changes: 1 addition & 1 deletion tools/android/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ java_binary(
name = "bundletool",
main_class = "com.android.tools.build.bundletool.BundleToolMain",
visibility = ["//visibility:public"],
runtime_deps = ["@rules_android_maven//:com_android_tools_build_bundletool"],
runtime_deps = ["@bundletool_all//jar"],
)

java_plugin(
Expand Down

0 comments on commit 9791453

Please sign in to comment.