Commit Graph

72562 Commits

Author SHA1 Message Date
Joonhun Shin
fad3e69d7f Revert "Make building Rust targets faster in eng builds"
This reverts commit 6146cf4b98.

Reason for revert: <b/325547632>

Change-Id: Ifd3619c5db5b989edb4aa2c37f85e5cd88d0c633
2024-02-16 07:26:14 +00:00
Chris Wailes
6146cf4b98 Make building Rust targets faster in eng builds
This CL makes the following changes when building an eng variant to
speed up compilation, possibly at the expense of the performance of the
generated binary:
* Disables LTO
* Enables incremental compilation
* Sets codegen units to 256 to increase parallelism (default set when
  enabling incremental compilation)

These changes reduce the time taken to compile all of Android's Rust
code from 16m20s to 12m10s.

Test: lunch aosp_oriole-eng && m clean && m rust
Bug: https://b.corp.google.com/issues/289094772
Change-Id: I97f1675c67ded69120b0c0e0fb5608aa9314a866
2023-12-01 10:34:01 -08:00
Treehugger Robot
7d7d94ffd2 Merge "Sandbox chre_atoms_log.h and deqp_spvtools_update_build_version" into main 2023-11-29 18:36:10 +00:00
Anas Sulaiman
80117e6c4f Merge "allow specifying remote caching opt for rewrapper" into main 2023-11-29 16:36:21 +00:00
Treehugger Robot
0fd71d0232 Merge "Sandbox seller-frontend-service-stub-lite" into main 2023-11-29 14:20:24 +00:00
Jiakai Zhang
ba45ba5763 Merge "Remove PreoptExtractedApk." into main 2023-11-29 10:17:29 +00:00
Rico Wind
2f6b403ccd Merge "Reapply "Use R8 for resource shrinking"" into main 2023-11-29 10:16:36 +00:00
Yi Kong
33914a613f Merge "Remove PGO build support" into main 2023-11-29 07:35:14 +00:00
Rico Wind
98e7fa8db1 Reapply "Use R8 for resource shrinking"
This reverts commit a9fd59a7f2.

We are moving the resource shinking pipeline into r8 (gennerally, not just for platform)

This disables the usage of the resource shrinker cli from cmd-line tools

There are no changes in this cl compared to the original land, the fix
was done in R8 (to use the same compression for res folder entries as
in the original)

Bug: 308710394
Bug: 309078004
Test: Existing, validated that resource table on SystemUI was byte<>byte equal, validated uncompression

Merged-In: Ib8a6fb128084e994325b975c46a036cb41494654

Change-Id: Id45b170dd50f75bc87e21ad03b2d0679efb7adc2
2023-11-29 05:07:50 +00:00
Jeongik Cha
98c0c8323f Merge "Show estimated build end time during build" into main 2023-11-29 04:51:23 +00:00
Treehugger Robot
c0e9dbd109 Merge "rustc-1.73.0 Build 11110309" into main 2023-11-29 03:21:57 +00:00
Jooyung Han
2648a99386 Merge "Add non_apex.exclude_shared_libs to cc" into main 2023-11-29 01:44:33 +00:00
Jeongik Cha
3622b3464b Show estimated build end time during build
Ninja delivers estimated total build time and critical path time from
previous ninja log.

Bug: 292304818
Test: check if ETA shows
Change-Id: I014caaa3e8222a53c8822616b2ae31b88a3b0310
2023-11-29 09:57:35 +09:00
Anas Sulaiman
9d7a36d17f allow specifying remote caching opt for rewrapper
This is needed to enable local execution via reproxy for metalava
actions for developer builds without causing permissions errors
and without disabling it for other actions.

Bug: b/308154125
Tested: ran a local build and verified all metalava actions were
executed locally without attempting to write to the remote cache.

Change-Id: Ia6f616e1ff5d0c71597ebf688765925ac81d19c3
2023-11-29 00:42:08 +00:00
Treehugger Robot
7d813e0dba Merge "Enable dex container (DEX v41) for the whole system" into main 2023-11-29 00:32:48 +00:00
Colin Cross
74656ccf35 Merge "Don't write license data to Android-${TARGET_PRODUCT}.mk" into main 2023-11-28 22:51:32 +00:00
Treehugger Robot
5ca7b8ed22 Merge "Sandbox ScriptGroupTest-rscript" into main 2023-11-28 22:19:57 +00:00
Cole Faust
12dcc8649e Sandbox chre_atoms_log.h and deqp_spvtools_update_build_version
go/roboleaf-busy-beavers-sandboxing

deqp_spvtools_update_build_version gets this diff:
  < "v2022.4-dev", "SPIRV-Tools v2022.4-dev android-u-beta-1-gpl-177-g1ef94532"
  ---
  > "v2022.4-dev", "SPIRV-Tools v2022.4-dev unknown hash, 2023-11-28T19:30:48"

But it already has a comment on it to revisit its usage of git,
which doesn't work on CI.

Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py chre_atoms_log.h deqp_spvtools_update_build_version
Change-Id: I759970a5687c4f75116a40f5c127ae762da4ee95
2023-11-28 12:39:09 -08:00
Cole Faust
38969102dd Merge "Sandbox cronet genrules" into main 2023-11-28 18:30:40 +00:00
Cole Faust
122767d27c Merge "Sandbox apexd test genrules" into main 2023-11-28 17:58:28 +00:00
Jooyung Han
9ffbe83028 Add non_apex.exclude_shared_libs to cc
This can be used to add apex-specific shared_libs to a CC module. It
would be nice if we could have apex.shared_libs. But it would make code
much harder to follow because we need to record the shared_libs list as
"exclude list" for non-apex anyway.

Bug: 312510312
Test: m libhardware libhardware.vendor libhardware.vendor.com.google.cf.ir
  # check DTNEEDED for libapexsupport
  # only apex-variant should have the dependency
Change-Id: I56a3dc280127d8ba44337707444ea226a49ccf0f
2023-11-28 22:42:23 +09:00
Jiakai Zhang
db93553b02 Remove PreoptExtractedApk.
This was added by r.android.com/513843 to force dexpreopt some GMS core
modules even if dexpreopt is disabled, to avoid some memory usage
regression. We no longer need it because dexpreopt is never disabled on
production builds.

Bug: 313505540
Test: m
Change-Id: I605b7569c17ee715cd4df167768e25aaf51bcd37
2023-11-28 13:40:58 +00:00
Søren Gjesse
b82a2a278b Enable dex container (DEX v41) for the whole system
Bug: b/249922554
Test: device boots
Change-Id: Idc63034cc7d5f4bc4533d1f580eeffe1494b56a6
2023-11-28 13:24:21 +00:00
Treehugger Robot
130079c893 Merge "Add support for parsing 'LOCAL_TARGET_SDK_VERSION' in androidmk" into main 2023-11-28 09:11:46 +00:00
Herbert Xue
caadada423 Add support for parsing 'LOCAL_TARGET_SDK_VERSION' in androidmk
Update androidmk to enable parsing of 'LOCAL_TARGET_SDK_VERSION' from
an Android.mk and translating it to target_sdk_version in an Android.bp.

Bug: 313336240
Test: m androidmk
Test: androidmk vendor/xts/gts-tests/tests/assist/Android.mk
Change-Id: I465aba3ea7d22a9978fc370a6718a2cfc43dce36
2023-11-28 17:01:00 +08:00
Treehugger Robot
a4291d572a Merge "Sandbox checkIn-service-stub-lite" into main 2023-11-28 02:21:56 +00:00
Treehugger Robot
0edba2a37e Merge "Add defaults modules for avb modules" into main 2023-11-28 01:36:35 +00:00
Cole Faust
9de49502af Sandbox checkIn-service-stub-lite
go/roboleaf-busy-beavers-sandboxing

Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py checkIn-service-stub-lite
Change-Id: If64ca165eed121b536f566a4fc36c9e6597784fd
2023-11-27 17:31:13 -08:00
Yi-Yo Chiang
62093cf7fc Merge "Deprecate BOARD_BUILD_GKI_BOOT_IMAGE_WITHOUT_RAMDISK" into main 2023-11-28 00:38:44 +00:00
Cole Faust
44850e04ae Sandbox ScriptGroupTest-rscript
go/roboleaf-busy-beavers-sandboxing

Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py ScriptGroupTest-rscript
Change-Id: I335634c0a0a74d35967f540070112888758ae0ca
2023-11-27 15:15:44 -08:00
Cole Faust
fc1e0cec4c Sandbox ue_unittest_erofs_imgs
This already works with sandboxing, I'm not sure why it was added.

Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py ue_unittest_erofs_imgs
Change-Id: I8d2c151e3bc6ed87e1d147e0ae316397ad56c4c8
2023-11-27 14:55:06 -08:00
Cole Faust
2769238611 Sandbox seller-frontend-service-stub-lite
go/roboleaf-busy-beavers-sandboxing

Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py seller-frontend-service-stub-lite
Change-Id: Ibb68124b613cc6b43fcacdfb8447d25d8577945b
2023-11-27 14:32:46 -08:00
Charisee
67b2923cd0 rustc-1.73.0 Build 11110309
bug: http://b/303252546
Test: m rust
Change-Id: Ic8f99af411665b7eaef81d9ca15342e1ea396fc3
2023-11-27 22:30:13 +00:00
Cole Faust
962ee8be34 Sandbox apexd test genrules
Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py gen_corrupt_rebootless_apex gen_key_mismatch_capex
Change-Id: I558f0b856f80bfebbb9b68b8c95c587d4e13ac84
2023-11-27 14:11:05 -08:00
Treehugger Robot
63e3ecbaa3 Merge "Remove google_clockwork list of soong plugins" into main 2023-11-27 21:49:39 +00:00
Treehugger Robot
ae4cad3cda Merge "Sandbox libc_musl_sysroot_bits" into main 2023-11-27 21:32:58 +00:00
Treehugger Robot
1f294415f5 Merge "Sandbox pvmfw_fdt_template_rs" into main 2023-11-27 21:32:57 +00:00
Treehugger Robot
359611c1df Merge "rust: rust-project.json: Skip disabled modules" into main 2023-11-27 21:12:11 +00:00
Cole Faust
77beb6f12a Remove google_clockwork list of soong plugins
The only plugin in that list has been removed.

Bug: 307824623
Test: Presubmits
Change-Id: Ieceb8610cfb2425500659a009703895a4f499cb1
2023-11-27 12:29:55 -08:00
Cole Faust
c115217249 Sandbox pvmfw_fdt_template_rs
This already works with sandboxing, I'm not sure why it was added.

Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py pvmfw_fdt_template_rs
Change-Id: I43390274740144122aae2a225807a6e1100c85c1
2023-11-27 12:28:14 -08:00
Cole Faust
eb9028d240 Sandbox libc_musl_sysroot_bits
Sandboxing it produces this diff:

  $ diff <(zipinfo -l out_not_sandboxed/soong/.intermediates/external/musl/libc_musl_sysroot_bits/linux_glibc_x86_64/gen/  libc_musl_sysroot_bits.zip) <(zipinfo -l out/soong/.intermediates/external/musl/libc_musl_sysroot_bits/linux_glibc_x86_64/gen/  libc_musl_sysroot_bits.zip)
  1,3c1,2
  < Archive:  out_not_sandboxed/soong/.intermediates/external/musl/libc_musl_sysroot_bits/linux_glibc_x86_64/gen/  libc_musl_sysroot_bits.zip
  < Zip file size: 8535 bytes, number of entries: 16
  < -rw-r--r--  2.0 unx      421 bl      225 defN 08-Jan-01 00:00 include/bits/alltypes.h.in
  ---
  > Archive:  out/soong/.intermediates/external/musl/libc_musl_sysroot_bits/linux_glibc_x86_64/gen/libc_musl_sysroot_bits.zip
  > Zip file size: 5358 bytes, number of entries: 14
  17d15
  < -rw-r--r--  2.0 unx    10384 bl     2666 defN 08-Jan-01 00:00 include/bits/syscall.h.in
  19c17
  < 16 files, 21039 bytes uncompressed, 6439 bytes compressed:  69.4%
  ---

So the alltypes.h.in and syscall.h.in are removed from the zip after
sandboxing. This seems good, because those two files are handled
separately already in that Android.bp file, and are not regular header
files like the rest of the zip file.

Bug: 307824623
Test: ./build/soong/tests/genrule_sandbox_test.py libc_musl_sysroot_bits
Change-Id: I46b6340046ad7df85ea4fc9c54b46ade305661e6
2023-11-27 12:18:52 -08:00
Treehugger Robot
4e788f2456 Merge "Sandbox tflite-support genrules" into main 2023-11-27 18:41:42 +00:00
Matthew Maurer
5a3c71c1aa rust: rust-project.json: Skip disabled modules
Disabled modules may not have a valid root path.

Bug: 313410568
Test: SOONG_GEN_RUST_PROJECT=1 m nothing
Change-Id: I253cca18493193245aa198adfce5fd75cf27cefb
2023-11-27 17:54:03 +00:00
David Srbecky
ea5bb25378 Merge "Change position of R8/D8 flags on the command line." into main 2023-11-27 15:44:04 +00:00
David Srbecky
bda964cf90 Change position of R8/D8 flags on the command line.
The wrapper script requires that all -J* options are passed first.

Test: m
Change-Id: Idd1da394c8a46db3485a1b31284eb6f398e3ba27
2023-11-27 14:27:45 +00:00
Jamie Garside
e570ace2e4 Add the ability for a java_sdk_library to depend on another.
This simply exports all of the uses_libs: [] libraries into a
"dependency=''" statement in the generated XML file (with the <library>
stanza in it).

Test: `go test` in java/
Bug: 184396657

NOTE FOR REVIEWERS - original patch and result patch are not identical.
PLEASE REVIEW CAREFULLY.
Diffs between the patches:
 func formattedDependenciesAttribute(dependencies []string) string {
> +	if dependencies == nil {
> +		return ""
> +	}
> +	return fmt.Sprintf(`        dependency=\"%s\"\n`, strings.Join(dependencies, ":"))
> +}
> +
> +	dependenciesAttr := formattedDependenciesAttribute(module.properties.Uses_libs_dependencies)
> +		dependenciesAttr,
> --- java/sdk_library_test.go
> +++ java/sdk_library_test.go
> +
> +func TestSdkLibraryDependency(t *testing.T) {
> +	result := android.GroupFixturePreparers(
> +		prepareForJavaTest,
> +		PrepareForTestWithJavaSdkLibraryFiles,
> +		FixtureWithPrebuiltApis(map[string][]string{
> +			"30": {"bar", "foo"},
> +		}),
> +	).RunTestWithBp(t,
> +		`
> +		java_sdk_library {
> +			name: "foo",
> +			srcs: ["a.java", "b.java"],
> +			api_packages: ["foo"],
> +		}
> +		
> +		java_sdk_library {
> +			name: "bar",
> +			srcs: ["c.java", "b.java"],
> +			libs: [
> +				"foo",
> +			],
> +			uses_libs: [
> +				"foo",
> +			],
> +		}
> +`)
> +	
> +	barPermissions := result.ModuleForTests("bar.xml", "android_common").Rule("java_sdk_xml")
> +	
> +	android.AssertStringDoesContain(t, "bar.xml java_sdk_xml command", barPermissions.RuleParams.Command, `dependency=\"foo\"`)
> +}

Original patch:
 diff --git a/java/sdk_library.go b/java/sdk_library.go
old mode 100644
new mode 100644
--- a/java/sdk_library.go
+++ b/java/sdk_library.go
@@ -1993,6 +1993,7 @@
 		Min_device_sdk            *string
 		Max_device_sdk            *string
 		Sdk_library_min_api_level *string
+		Uses_libs_dependencies    []string
 	}{
 		Name:                      proptools.StringPtr(module.xmlPermissionsModuleName()),
 		Lib_name:                  proptools.StringPtr(module.BaseModuleName()),
@@ -2002,6 +2003,7 @@
 		Min_device_sdk:            module.commonSdkLibraryProperties.Min_device_sdk,
 		Max_device_sdk:            module.commonSdkLibraryProperties.Max_device_sdk,
 		Sdk_library_min_api_level: &moduleMinApiLevelStr,
+		Uses_libs_dependencies:    module.usesLibraryProperties.Uses_libs,
 	}
 
 	mctx.CreateModule(sdkLibraryXmlFactory, &props)
@@ -2968,6 +2970,11 @@
 	//
 	// This value comes from the ApiLevel of the MinSdkVersion property.
 	Sdk_library_min_api_level *string
+
+	// Uses-libs dependencies that the shared libra
[[[Original patch trimmed due to size. Decoded string size: 3559. Decoded string SHA1: 67fbd040aa818732a686514c4556850c8c36dc8d.]]]

Result patch:
 diff --git a/java/sdk_library.go b/java/sdk_library.go
index fb27812..fbfe509 100644
--- a/java/sdk_library.go
+++ b/java/sdk_library.go
@@ -1993,6 +1993,7 @@
 		Min_device_sdk            *string
 		Max_device_sdk            *string
 		Sdk_library_min_api_level *string
+		Uses_libs_dependencies    []string
 	}{
 		Name:                      proptools.StringPtr(module.xmlPermissionsModuleName()),
 		Lib_name:                  proptools.StringPtr(module.BaseModuleName()),
@@ -2002,6 +2003,7 @@
 		Min_device_sdk:            module.commonSdkLibraryProperties.Min_device_sdk,
 		Max_device_sdk:            module.commonSdkLibraryProperties.Max_device_sdk,
 		Sdk_library_min_api_level: &moduleMinApiLevelStr,
+		Uses_libs_dependencies:    module.usesLibraryProperties.Uses_libs,
 	}
 
 	mctx.CreateModule(sdkLibraryXmlFactory, &props)
@@ -2968,6 +2970,11 @@
 	//
 	// This value comes from the ApiLevel of the MinSdkVersion property.
 	Sdk_library_min_api_level *string
+
+	// Uses-libs dependencies that the shared library
[[[Result patch trimmed due to size. Decoded string size: 3614. Decoded string SHA1: b5730ecbeeaad420439ddb67eaaa9150ede94585.]]]

Change-Id: I73f69e2a4573e416492f68e083fe739f3f75b721
2023-11-27 12:07:36 +00:00
Treehugger Robot
40b8b16042 Merge "Sandbox libbssl_sys_src_nostd" into main 2023-11-27 10:28:27 +00:00
Yi Kong
9c3f433426 Remove PGO build support
We have removed our final PGO enabled project, time to remove PGO build
support.

Test: presubmit
Change-Id: I14ccd0fc8e3fbb8b3015072245fafd0eebe3ec08
2023-11-24 17:14:27 +09:00
Yi-Yo Chiang
939fe1a751 Deprecate BOARD_BUILD_GKI_BOOT_IMAGE_WITHOUT_RAMDISK
These variables are no longer used. We don't build GKI in the platform
tree anymore. Remove these vars as we are not maintaining these.

Bug: 229701033
Test: presubmit
Change-Id: I7551aa37a049f3bc9252559a18feb0f6bdf0a548
2023-11-24 15:07:21 +08:00
Seungjae Yoo
55edc0cd2d Merge "Support adding AVB properties into vbmeta module" into main 2023-11-24 01:21:46 +00:00