Skip to content

Commit

Permalink
Merge #221 by ted-xie: Building java8_legacy_dex works
Browse files Browse the repository at this point in the history
Part of #122
Closes #221

COPYBARA_INTEGRATE_REVIEW=#221 from ted-xie:library_desugaring c410842
PiperOrigin-RevId: 619523388
Change-Id: Ifa3365e72886284df44ca6ceb53be113d4c97d1c
  • Loading branch information
ted-xie authored and copybara-github committed Mar 27, 2024
1 parent a0bfa28 commit 62ef070
Show file tree
Hide file tree
Showing 39 changed files with 399 additions and 43 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ bazel-*
.ijwb
# Android Studio Bazel Plugin
.aswb
*.swp
3 changes: 3 additions & 0 deletions defs.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ def rules_android_workspace():
"androidx.test.ext:junit:1.2.0-alpha01",
"com.android.tools.build:apksig:8.3.0-alpha18",
"com.android.tools.build:bundletool:1.15.5",
"com.android.tools:desugar_jdk_libs_minimal:2.0.4",
"com.android.tools:desugar_jdk_libs_configuration_minimal:2.0.4",
"com.android.tools:desugar_jdk_libs_nio:2.0.4",
"com.android.tools:desugar_jdk_libs_configuration_nio:2.0.4",
"com.android.tools.build:gradle:8.2.0-alpha15",
"org.bouncycastle:bcprov-jdk18on:1.77",
Expand Down
3 changes: 2 additions & 1 deletion examples/basicapp/.bazelrc
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Flags needed while the Android rules are being migrated to Starlark.
common --experimental_google_legacy_api
common --experimental_enable_android_migration_apis
common:core_library_desugaring --desugar_java8_libs

# Flags to enable mobile-install v3
mobile-install --mode=skylark --mobile_install_aspect=@rules_android//mobile_install:mi.bzl --mobile_install_supported_rules=android_binary
# Required to invoke the Studio deployer jar
mobile-install --tool_java_runtime_version=17
mobile-install --tool_java_runtime_version=17
5 changes: 4 additions & 1 deletion examples/basicapp/MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ module(
bazel_dep(name = "rules_java", version = "7.4.0")
bazel_dep(name = "bazel_skylib", version = "1.3.0")

remote_android_extensions = use_extension("@bazel_tools//tools/android:android_extensions.bzl", "remote_android_tools_extensions")
use_repo(remote_android_extensions, "android_gmaven_r8", "android_tools")

bazel_dep(
name = "rules_android",
version = "0.2.0",
Expand All @@ -18,4 +21,4 @@ local_path_override(
register_toolchains(
"@rules_android//toolchains/android:android_default_toolchain",
"@rules_android//toolchains/android_sdk:android_sdk_tools",
)
)
4 changes: 2 additions & 2 deletions rules/flags/BUILD
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Flags for Android rules and mobile-install

load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load("@bazel_skylib//rules:common_settings.bzl", "string_flag")
load("//rules/flags:additional_flags.bzl", "additional_flags")
load("//rules/flags:configurations.bzl", "configurations")
load("//rules/flags:flag_defs.bzl", "define_flags")
load("//rules/flags:flags.bzl", "flags")
load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load("@bazel_skylib//rules:common_settings.bzl", "string_flag")

licenses(["notice"])

Expand Down
48 changes: 46 additions & 2 deletions rules_android_maven_install.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"dependency_tree": {
"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
"__INPUT_ARTIFACTS_HASH": 1385768966,
"__RESOLVED_ARTIFACTS_HASH": -1912752840,
"__INPUT_ARTIFACTS_HASH": -164041937,
"__RESOLVED_ARTIFACTS_HASH": -1199898014,
"conflict_resolution": {
"com.google.protobuf:protobuf-java-util:3.9.2": "com.google.protobuf:protobuf-java-util:3.19.3"
},
Expand Down Expand Up @@ -1534,6 +1534,18 @@
"sha256": "07908408e25f78dd13bfd59f01c3222713f73017ca81dacb662923f03e703f29",
"url": "https://maven.google.com/com/android/tools/common/31.2.0-alpha15/common-31.2.0-alpha15.jar"
},
{
"coord": "com.android.tools:desugar_jdk_libs_configuration_minimal:2.0.4",
"dependencies": [],
"directDependencies": [],
"file": "v1/https/maven.google.com/com/android/tools/desugar_jdk_libs_configuration_minimal/2.0.4/desugar_jdk_libs_configuration_minimal-2.0.4.jar",
"mirror_urls": [
"https://maven.google.com/com/android/tools/desugar_jdk_libs_configuration_minimal/2.0.4/desugar_jdk_libs_configuration_minimal-2.0.4.jar",
"https://repo1.maven.org/maven2/com/android/tools/desugar_jdk_libs_configuration_minimal/2.0.4/desugar_jdk_libs_configuration_minimal-2.0.4.jar"
],
"sha256": "3cdda0056c3039ab9c0aef7f19c10298f6a56407476b59b03055c42a222b71b7",
"url": "https://maven.google.com/com/android/tools/desugar_jdk_libs_configuration_minimal/2.0.4/desugar_jdk_libs_configuration_minimal-2.0.4.jar"
},
{
"coord": "com.android.tools:desugar_jdk_libs_configuration_nio:2.0.4",
"dependencies": [],
Expand All @@ -1546,6 +1558,38 @@
"sha256": "32d68079c34ec46695eb7af4e4daf20e67f21392e4ae501d0fd3c7fe3406c893",
"url": "https://maven.google.com/com/android/tools/desugar_jdk_libs_configuration_nio/2.0.4/desugar_jdk_libs_configuration_nio-2.0.4.jar"
},
{
"coord": "com.android.tools:desugar_jdk_libs_minimal:2.0.4",
"dependencies": [
"com.android.tools:desugar_jdk_libs_configuration_minimal:2.0.4"
],
"directDependencies": [
"com.android.tools:desugar_jdk_libs_configuration_minimal:2.0.4"
],
"file": "v1/https/maven.google.com/com/android/tools/desugar_jdk_libs_minimal/2.0.4/desugar_jdk_libs_minimal-2.0.4.jar",
"mirror_urls": [
"https://maven.google.com/com/android/tools/desugar_jdk_libs_minimal/2.0.4/desugar_jdk_libs_minimal-2.0.4.jar",
"https://repo1.maven.org/maven2/com/android/tools/desugar_jdk_libs_minimal/2.0.4/desugar_jdk_libs_minimal-2.0.4.jar"
],
"sha256": "3bf4004c745f4c3740eea4c5729766b27746236f095c0fc52870e861183cbb9c",
"url": "https://maven.google.com/com/android/tools/desugar_jdk_libs_minimal/2.0.4/desugar_jdk_libs_minimal-2.0.4.jar"
},
{
"coord": "com.android.tools:desugar_jdk_libs_nio:2.0.4",
"dependencies": [
"com.android.tools:desugar_jdk_libs_configuration_nio:2.0.4"
],
"directDependencies": [
"com.android.tools:desugar_jdk_libs_configuration_nio:2.0.4"
],
"file": "v1/https/maven.google.com/com/android/tools/desugar_jdk_libs_nio/2.0.4/desugar_jdk_libs_nio-2.0.4.jar",
"mirror_urls": [
"https://maven.google.com/com/android/tools/desugar_jdk_libs_nio/2.0.4/desugar_jdk_libs_nio-2.0.4.jar",
"https://repo1.maven.org/maven2/com/android/tools/desugar_jdk_libs_nio/2.0.4/desugar_jdk_libs_nio-2.0.4.jar"
],
"sha256": "3bf4004c745f4c3740eea4c5729766b27746236f095c0fc52870e861183cbb9c",
"url": "https://maven.google.com/com/android/tools/desugar_jdk_libs_nio/2.0.4/desugar_jdk_libs_nio-2.0.4.jar"
},
{
"coord": "com.android.tools:dvlib:31.2.0-alpha15",
"dependencies": [
Expand Down
2 changes: 1 addition & 1 deletion src/common/golang/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description:
# Common libraries and utilities.
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description:
# Top level package for ak, a "busybox" for various minor build-related tools.
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/bucketize/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description:
# Package for bucketize module
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/compile/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description:
# Package for compile module
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/dex/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Package for dex compilation module
package(
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/extractaar/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description:
# Package for extractaar module
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/finalrjar/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description:
# Package for final R.jar module
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/generatemanifest/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Package for manifest generation module
package(
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/link/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description:
# Package for link module
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/liteparse/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description:
# Package for parse module
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/manifest/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Package for manifest compilation module
package(
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/minsdkfloor/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description:
# Package for tool to enforce min SDK floor on AndroidManifests
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/nativelib/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description:
# Package for nativelib module
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/nativelib/testdata/BUILD
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Creates test data for testing the nativelib action.

load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

package(
default_applicable_licenses = ["//:license"],
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/patch/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description:
# Package for patch module
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/proto/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description:
# Protocol buffer definitions used by AK
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/repack/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description:
# Package for repack module
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/res/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description:
# Package for res module
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/res/proto/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description
# Android resources proto
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/res/respipe/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

package(default_applicable_licenses = ["//:license"])

Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/res/resxml/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

package(default_applicable_licenses = ["//:license"])

Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/rjar/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description:
# Package for R.jar module
Expand Down
2 changes: 1 addition & 1 deletion src/tools/ak/rjar/testdata/BUILD
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Creates test data for testing the rjar action.

load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

package(default_visibility = ["//src/tools/ak/rjar:__subpackages__"])

Expand Down
2 changes: 1 addition & 1 deletion src/tools/bundletool_module_builder/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

package(
default_applicable_licenses = ["//:license"],
Expand Down
2 changes: 1 addition & 1 deletion src/tools/deploy_info/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

package(default_applicable_licenses = ["//:license"])

Expand Down
2 changes: 1 addition & 1 deletion src/tools/extract_desugar_pgcfg_flags/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Utility and test for extracting pgcfg flags from the desugar_jdk_libs config JSON file.
package(
Expand Down
2 changes: 1 addition & 1 deletion src/tools/jdeps/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# Description:
# Package for tool to filter a jdeps proto
Expand Down
2 changes: 1 addition & 1 deletion test/rules/android_local_test/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("//rules:rules.bzl", "android_local_test")
load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load("//rules:rules.bzl", "android_local_test")
load(":java_launcher_integration_test.bzl", "android_local_test_launcher_integration_test_suite")
load(":java_launcher_test.bzl", "android_local_test_launcher_test_suite")

Expand Down
2 changes: 1 addition & 1 deletion test/rules/android_revision/BUILD
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Description:
# Tests for the AndroidRevisionInfo provider.

load(":test.bzl", "android_revision_comparision_test", "android_revision_test")
load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load(":test.bzl", "android_revision_comparision_test", "android_revision_test")

licenses(["notice"])

Expand Down
4 changes: 2 additions & 2 deletions toolchains/android/toolchain.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -280,11 +280,11 @@ _ATTRS = dict(
java8_legacy_dex = attr.label(
allow_single_file = True,
cfg = "exec",
default = "@bazel_tools//tools/android:java8_legacy_dex",
default = Label("//tools/android:java8_legacy_dex"),
),
build_java8_legacy_dex = attr.label(
cfg = "exec",
default = "@bazel_tools//tools/android:build_java8_legacy_dex",
default = Label("//tools/android:build_java8_legacy_dex"),
executable = True,
),
dex_list_obfuscator = attr.label(
Expand Down
Loading

0 comments on commit 62ef070

Please sign in to comment.