commit | 39292a33545ce4e2e9606585b5be05ae068ba545 | [log] [tgz] |
---|---|---|
author | Romain Jobredeaux <jobredeaux@google.com> | Fri Oct 06 12:10:48 2023 -0400 |
committer | Romain Jobredeaux <jobredeaux@google.com> | Fri Oct 06 13:21:33 2023 -0400 |
tree | a58049c9682d6fd38e8408479340bf3911b87515 | |
parent | e45e894f712e501f3c49a1f8859145d373ef8ac7 [diff] | |
parent | b1ad8136600931878dba61dbb28068bde5d5ed84 [diff] |
Merge remote-tracking branch 'aosp/upstream-main' into HEAD * aosp/upstream-main: (42 commits) Transition into 'exec' config on the `aapt2` attr of android_toolchain. Misc tool mapping fixes Init tests for android_local_test rule. Part of #106 Always pass proguard implicit output artifacts to Native and symlink them. Add a dummy SDK for rules_android. Switch Cpp `BuildInfo` system to new API. Wire up AndroidOptimizationInfo in Starlark Wire up AndroidPreDexJarInfo in Starlark android_binary_internal. Use `binary_jar` as `java_resource_jar` if the flag `get_java_resources_from_optimized_jar` is True. Wire up ProguardMappingInfo in Starlark. Remove min_sdk_version from test in preparation for ACL fixes. Deal with explicit namespaces in Bazel Set most of the dependency_map tools to //tools/android:gen_fail Rename support-additional_providers-in-make_rule Replace _DEPOT_MIN_SDK_FLOOR constant with an acl-based system. Release src/tools/mi/deployment_oss Remove unused enforce_min_sdk_floor acl. Fix a bug that `proguard_specs` should be a list of Files rather than Targets in method `_dex.generate_main_dex_list`. Remove the redundant underscore in the runtype_suffix string. ... Bug: 303786272 Change-Id: I5b22c7f5062340f6504a560b72da23cdec6af4df
NOTE: This branch is 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 = "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("@rules_android//:prereqs.bzl", "rules_android_prereqs") rules_android_prereqs() load("@rules_android//:defs.bzl", "rules_android_workspace") rules_android_workspace() register_toolchains( "@rules_android//toolchains/android:android_default_toolchain", "@rules_android//toolchains/android_sdk:android_sdk_tools", )
Then, in your BUILD files, import and use the rules:
load("@rules_android//rules:rules.bzl", "android_binary", "android_library") android_binary( ... ) android_library( ... )