Commit Graph

8137 Commits

Author SHA1 Message Date
Yu Liu
eae7b36699 Add container property to aconfig_declarations.
Bug: 311155208
Test: Unit test
Change-Id: I7b187138856d0144203961e82b6dad5e2f8eed9d
2023-11-28 12:37:02 -08:00
Rico Wind
20c2010030 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

Ignore-AOSP-First: Merge does not apply cleanly

Change-Id: Ib8a6fb128084e994325b975c46a036cb41494654
2023-11-28 13:47:02 +00: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
David Srbecky
fb98d76a87 Merge "Change position of R8/D8 flags on the command line." into main am: ea5bb25378 am: efb785c929 am: 59bdf8e28b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2845918

Change-Id: Ieeb159d29328927744e463e1731e667f07449e54
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-27 17:19:13 +00:00
Jamie Garside
740f7cd2b3 Add the ability for a java_sdk_library to depend on another. am: e570ace2e4 am: b5429e879e am: 20f9129baf
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2844082

Change-Id: If8b932e404bb6a76a6648950cbee3a97f973e82e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-27 17:16:59 +00:00
David Srbecky
97038a2f06 Merge "Change position of R8/D8 flags on the command line." into main am: ea5bb25378
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2845918

Change-Id: Iae423895aebad3c852ea71bc0765d07d10a8ff64
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-27 16:29:01 +00:00
David Srbecky
efb785c929 Merge "Change position of R8/D8 flags on the command line." into main am: ea5bb25378
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2845918

Change-Id: Ib2480ac6ccc8ac459cbc9f38bc8c909bf8dfc109
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-27 16:28:40 +00:00
Jamie Garside
3dfe5ad6bf Add the ability for a java_sdk_library to depend on another. am: e570ace2e4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2844082

Change-Id: Ie8fdd2113b502d001894b3ba7a500e0b1676ce26
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-27 16:28:15 +00:00
Jamie Garside
b5429e879e Add the ability for a java_sdk_library to depend on another. am: e570ace2e4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2844082

Change-Id: Iac17dd61875b799fbf6d399401beffc89d463e9c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-27 16:15:50 +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
4a957251a4 Merge "Use result.Config.PrebuiltOS() to get prebuiltHost in test_spec_test" into main am: 9be9a126d1 am: b0f8d2a698 am: 22d89e0ab0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2841420

Change-Id: Id61cef9119b9daa1964dc661e3cca74684865a77
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-22 02:27:06 +00:00
Treehugger Robot
baed9d5a57 Merge "Use result.Config.PrebuiltOS() to get prebuiltHost in test_spec_test" into main am: 9be9a126d1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2841420

Change-Id: I5b7d56846f7bac5b4a77745e8638ce2412aaa935
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-22 02:06:49 +00:00
Treehugger Robot
b0f8d2a698 Merge "Use result.Config.PrebuiltOS() to get prebuiltHost in test_spec_test" into main am: 9be9a126d1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2841420

Change-Id: I2cc6db4f075abd030002b9b75c4a11098c0822c9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-22 01:14:11 +00:00
Aditya Choudhary
356296240e Use result.Config.PrebuiltOS() to get prebuiltHost in test_spec_test
Bug: 312536783
Bug: 312536905
Test: m nothing --no-skip-soong-tests -j96

Change-Id: I1e12281927269d42ae796348b223030acfd6ecfa
2023-11-21 23:14:01 +00:00
Aditya Choudhary
2b6cc30c21 Add test for soong/testing/test_spec. am: b7b3de8307 am: 64b6c645e8 am: 3b80477ff3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2836072

Change-Id: Ic88791dcbad6aef5325898c84a6f966133d18d52
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-21 20:48:32 +00:00
Aditya Choudhary
64b6c645e8 Add test for soong/testing/test_spec. am: b7b3de8307
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2836072

Change-Id: Iec9eeceadbd2e86055a4f2e6eecd77443f7eb05a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-21 19:44:34 +00:00
Aditya Choudhary
07c048b875 Add test for soong/testing/test_spec. am: b7b3de8307
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2836072

Change-Id: I9d1266accf8fa098befce4d5d2924e63fef7d699
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-21 19:44:34 +00:00
Aditya Choudhary
b7b3de8307 Add test for soong/testing/test_spec.
This CL adds test for test_spec.go and all_test_specs.go (singleton).

Bug: 296873595
Test: m nothing --no-skip-soong-tests -j96

Change-Id: I5010c68512e75d1b9a337c02da86faac15e376fe
2023-11-21 17:31:07 +00:00
David Srbecky
1719f512f5 Merge "resourceshrinker: Add dexContainerExperiment flag" into main am: 3f7d0f6797 am: 918285adce am: d56c89f1ac
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2828314

Change-Id: Ibf153e902f8ae7f209c060bd8b412b54cbc5d3b8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-21 09:29:58 +00:00
David Srbecky
2afaecefef Merge "resourceshrinker: Add dexContainerExperiment flag" into main am: 3f7d0f6797
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2828314

Change-Id: I7bafad2a6640244f16bd4d5986068b2e4bda882e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-21 08:43:52 +00:00
David Srbecky
918285adce Merge "resourceshrinker: Add dexContainerExperiment flag" into main am: 3f7d0f6797
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2828314

Change-Id: I18e530107a0fe3c9185f86f7c69d37b49dd4e64f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-21 08:43:33 +00:00
David Srbecky
3f7d0f6797 Merge "resourceshrinker: Add dexContainerExperiment flag" into main 2023-11-21 08:30:23 +00:00
Colin Cross
1d470f3066 Change deps of ctx.Install* from Paths to InstallPaths am: 09ad3a6505
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2834991

Change-Id: Id63655decd89ecc2a8a0319b28c1c2ae26a14de7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-20 20:21:07 +00:00
Colin Cross
7dcb26f327 Change deps of ctx.Install* from Paths to InstallPaths am: 09ad3a6505
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2834991

Change-Id: I63828eebd77e8e88592107a6e5cee9c291cacb42
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-20 20:20:36 +00:00
Colin Cross
09ad3a6505 Change deps of ctx.Install* from Paths to InstallPaths
Installed files should only depend on other installed files, change
the deps arguments of the ctx.Install* methods from Paths to
InstallPaths.

Bug: 311428265
Test: builds
Change-Id: I1ebef60a943bdbe907744cc43aa985371ac56d32
Merged-In: I1ebef60a943bdbe907744cc43aa985371ac56d32
2023-11-17 19:06:43 -08:00
Colin Cross
db25366860 Merge "Change deps of ctx.Install* from Paths to InstallPaths" into main 2023-11-17 23:29:34 +00:00
Colin Cross
5fcd83edaa Change deps of ctx.Install* from Paths to InstallPaths
Installed files should only depend on other installed files, change
the deps arguments of the ctx.Install* methods from Paths to
InstallPaths.

Bug: 311428265
Test: builds
Ignore-AOSP-First: resolving conflict
Change-Id: I1ebef60a943bdbe907744cc43aa985371ac56d32
2023-11-17 11:05:39 -08:00
Anton Hansson
eaaaee2ca4 Merge "Re-enable the AnnotationExtraction error" into main 2023-11-17 16:25:29 +00:00
Anton Hansson
7ecf7e9331 Merge "Re-enable the InvalidNullabilityOverride check" into main 2023-11-17 11:19:21 +00:00
Inseob Kim
550a615b4d Merge "Add support for auto-generated characteristics RRO" into main am: b5d713f2cb am: 99913d4e59 am: 6b52e7aabe
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2817177

Change-Id: I7bca74e210529ae6c2fbcb7746e06b7d4a493e8c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-17 06:47:43 +00:00
Inseob Kim
99913d4e59 Merge "Add support for auto-generated characteristics RRO" into main am: b5d713f2cb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2817177

Change-Id: Ie4a539f9001bdbd2fc91fedbfc9869a1c35b15d3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-17 05:43:44 +00:00
Inseob Kim
7110872f1e Merge "Add support for auto-generated characteristics RRO" into main am: b5d713f2cb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2817177

Change-Id: I7bcb17b8ef12327f604c2043b7b262b10c8d14d1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-17 05:43:37 +00:00
Inseob Kim
b5d713f2cb Merge "Add support for auto-generated characteristics RRO" into main 2023-11-17 05:02:28 +00:00
Inseob Kim
34dc4cd738 Add support for auto-generated characteristics RRO
Setting Generate_product_characteristics_rro will automatically generate
an RRO package which contains resources with
'product="{PRODUCT_CHARACTERISTICS}"'. The RRO package will be installed
to /product partition. The app will be compiled with '--product
default', making the app identical to all targets.

Motivation for this change is to minimize divergence of system.img.

Bug: 294799593
Test: boot and idmap2 dump
Change-Id: I1371f7410a1ecf337e1f73214b024af39aa6d57a
2023-11-17 11:15:32 +09:00
Treehugger Robot
d5f9767046 Merge "Add contribute_to_android_api property in java_sdk_library" into main am: 7fcb470251 am: 5c8f4f446d am: eb07d02267
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2832851

Change-Id: I8c34010c6f3acbefa093d722116d83418ecc5f20
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-15 23:50:56 +00:00
Treehugger Robot
5c8f4f446d Merge "Add contribute_to_android_api property in java_sdk_library" into main am: 7fcb470251
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2832851

Change-Id: I9be66305f8b2da9ea8026bf197f578961e088ec7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-15 22:45:50 +00:00
Treehugger Robot
875f657986 Merge "Add contribute_to_android_api property in java_sdk_library" into main am: 7fcb470251
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2832851

Change-Id: I959ea33725b6222a3587e91a677e2efa94612caf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-15 22:45:42 +00:00
Treehugger Robot
7fcb470251 Merge "Add contribute_to_android_api property in java_sdk_library" into main 2023-11-15 22:25:22 +00:00
Colin Cross
3bccd2a114 Merge "Stop collecting path entry for module_bp_java_deps.json from each module type" into main am: d7812415c3 am: d50b463e66 am: 2b8a10bfa9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2831928

Change-Id: I902074c1744b77317f593aed8d5ab2b504ab6904
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-15 21:54:22 +00:00
Colin Cross
a46cd009b6 Merge "Stop collecting path entry for module_bp_java_deps.json from each module type" into main am: d7812415c3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2831928

Change-Id: Id1f7261d8b8d40b058b91d7fff9eaedbf395fff8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-15 21:21:42 +00:00
Colin Cross
d50b463e66 Merge "Stop collecting path entry for module_bp_java_deps.json from each module type" into main am: d7812415c3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2831928

Change-Id: I13c077e58d39a86ce14d3b89551b369d6a9cc5fb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-15 21:19:28 +00:00
Colin Cross
d7812415c3 Merge "Stop collecting path entry for module_bp_java_deps.json from each module type" into main 2023-11-15 21:01:38 +00:00
Jihoon Kang
80456fdec4 Add contribute_to_android_api property in java_sdk_library
The default-false bool property `contribute_to_android_api` will be used to signify whether the java_sdk_library module contributes to an api
surface (i.e. listed in frameworks-base-api.bootclasspath or not).
If the property is set to true, the module's stub jar can be
generated from .txt files.

Currently, the property is a no-op. The property will be utilized in the
child changes.

Test: m nothing
Bug: 276958307
Change-Id: I617802ec352c7055579ce92ea3de43f10cac1da4
2023-11-15 20:40:37 +00:00
Colin Cross
a644c263dd Stop collecting path entry for module_bp_java_deps.json from each module type
The jdepsGeneratorSingleton can get the module path directly, it doesn't
need to be collected by each module type that implements IDEInfo.  Fixes
module types (like android_library) that didn't reach the code that
collected the path.

Bug: 309835196
Test: out/soong/module_bp_java_deps.json contains path for ExtServices.core
Change-Id: If8cb81b4f708e0367f156ade164bee253bf53492
2023-11-15 11:40:48 -08:00
Aditya Choudhary
a8348d3805 Merge "Add proto for Test ownership metadata." into main am: d97bf36469 am: beff7f2a0a am: 3c5da107ee
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2774872

Change-Id: Iabb50bbc44dbb51183b6ee97c14d157e460782de
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-15 12:39:16 +00:00
Aditya Choudhary
188979638c Merge "Add proto for Test ownership metadata." into main am: d97bf36469
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2774872

Change-Id: Ibaee3387122face18ea83b77850ef65959771d79
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-15 11:20:30 +00:00
Aditya Choudhary
beff7f2a0a Merge "Add proto for Test ownership metadata." into main am: d97bf36469
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2774872

Change-Id: Idae0ffe939cb25b9c8626a39d036535691ee38f5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-15 11:19:37 +00:00