commit | 125fdc15f426f1b749beccc241c4e974fa117833 | [log] [tgz] |
---|---|---|
author | Romain Jobredeaux <jobredeaux@google.com> | Thu May 11 14:56:59 2023 -0400 |
committer | Romain Jobredeaux <jobredeaux@google.com> | Thu May 11 21:13:26 2023 +0000 |
tree | 920ce496a0324a082ddcd73d91dd452b58813dac | |
parent | 05deeca4e3cc60e27080be02d7734f8cba4a3f9e [diff] | |
parent | 88ac3334cab0bbff2ce10e8b76eaf988c27b966b [diff] |
Merge remote-tracking branch 'aosp/upstream-pre-alpha' into HEAD * aosp/upstream-pre-alpha: (29 commits) Migrate a couple of helper methods for incremental dexing from native Blaze to Starlark. Delete empty ACLs android_rules_with_kt_rollout.bzl and kt_android_library_rollout.bzl Finish open-sourcing AK Internal Code Change Don't sort android_binary_internal's list of processors, order matters here. Internal Change Update rules_android copybara by adding one more transformation Add an acl to guard the rollout of dex, desugar and proguard starlarkification. Add tools needed for incremental dexing to android_toolchain. Set visibility of merge_feature_manifests.par to public Change resource shared apk acl to a validation action. Open-source merge_feature_manifests.py Internal Change Add robolectric to bzlmod in rules_android adding support for resource only apks to android_library and android_binary. Update presubmit.yml inside rules_android Delete in_android_rules_with_kt_rollout() == true Delete in_kt_android_library_rollout() == true Add a README to the basicapp example Create acl for linking against a shared resource apk ... Change-Id: I3bae6a7a1739bf83f11934a36afbb5476b6388ce Bug: 276928228
NOTE: This branch contains a development preview of the Starlark implementation of Android rules for Bazel. This code is incomplete and may not function as-is.
A version of Bazel built at or near head or a recent pre-release and the following flags are necessary to use these rules:
--experimental_enable_android_migration_apis --experimental_google_legacy_api --incompatible_java_common_parameters --android_databinding_use_v3_4_args --experimental_android_databinding_v2
This repository contains the Starlark implementation of Android rules in Bazel.
The rules are being incrementally converted from their native implementations in the Bazel source tree.
For the list of Android rules, see the Bazel documentation.
To use the Starlark Bazel Android rules, add the following to your WORKSPACE file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") # Or a later commit RULES_ANDROID_COMMIT= "0bf3093bd011acd35de3c479c8990dd630d552aa" RULES_ANDROID_SHA = "b75a673a66c157138ab53f4d8612a6e655d38b69bb14207c1a6675f0e10afa61" http_archive( name = "build_bazel_rules_android", url = "https://github.com/bazelbuild/rules_android/archive/%s.zip" % RULES_ANDROID_COMMIT, sha256 = RULES_ANDROID_SHA, strip_prefix = "rules_android-%s" % RULES_ANDROID_COMMIT, ) load("@build_bazel_rules_android//:prereqs.bzl", "rules_android_prereqs") rules_android_prereqs() load("@build_bazel_rules_android//:defs.bzl", "rules_android_workspace") rules_android_workspace() register_toolchains( "@build_bazel_rules_android//toolchains/android:android_default_toolchain", "@build_bazel_rules_android//toolchains/android_sdk:android_sdk_tools", )
Then, in your BUILD files, import and use the rules:
load("@build_bazel_rules_android//rules:rules.bzl", "android_binary", "android_library") android_binary( ... ) android_library( ... )