Commit Graph

33789 Commits

Author SHA1 Message Date
Alex Buynytskyy
be87e19e67 Don't check the codename for REL configuration.
Bug: 294161396
Test: m
Change-Id: I905801fdb6520b430f15f219ae4cd89be74065a5
2023-08-19 00:07:16 +00:00
Alex Buynytskyy
7109fe1822 Merge "Allow PLATFORM_VERSION_CODENAME to be overridden by RELEASE_PLATFORM_VERSION_CODENAME_REL" into main 2023-08-16 21:27:21 +00:00
Jared Duke
7e730893f1 Merge "Add global rule for -keepattributes Exceptions" into main 2023-08-15 17:45:57 +00:00
Jared Duke
3f2741215f Add global rule for -keepattributes Exceptions
R8 full mode requires an explicit keep rule for keeping attributes for a
given target (class/method/member). As such, we can set the global rule
for keeping these attributes with minimal cost while reducing the
maintenance burden for adding incremental keep rules.

For a typical Android build, this adds <20KB total to the image.

Bug: 215530220
Test: m
Change-Id: Iad3de32e27da0ca93b618d8a203ee65bae0bb5d1
2023-08-15 15:48:35 +00:00
Ming-Chen Chung
c2038e8e3d Merge "Add update_device to be built and be packaged into otatools.zip." into main 2023-08-15 01:55:05 +00:00
Cole Faust
8e4024c872 Rename some variables in definitions.mk
Sublime text has an issue with their syntax highlighting, where it
looks for \s*define\b to indicate the start of a define block.
We had some variables that started with "define-", which match this
regex, which causes Sublime to be confused about where the defines
start and end. Rename the variables to work around this issue.

Test: m nothing
Change-Id: I997929606e2b0a8b086ad3b67a7ce1b5e99a7385
2023-08-14 15:28:05 -07:00
Joe Onorato
23a778b361 Merge "Give an error when trying to build "next" targets" into main 2023-08-14 20:59:03 +00:00
Juan Yescas
dfa43734ac Merge "core: ARM 32-bit targets must be built with 4k elf alignment" into main 2023-08-14 17:56:55 +00:00
Treehugger Robot
66f7958fbf Merge "Makefile: Avoid packaging pvmfw.bin in /system" into main 2023-08-14 16:04:20 +00:00
Zhi Dou
5f81b7dc96 Merge "aconfig: add default-permission argument for create-cache command" into main 2023-08-14 14:12:27 +00:00
Yu Liu
50b31493f7 Merge "Add device-tests as a dep of JACOCO_REPORT_CLASSES_ALL." into main 2023-08-11 21:40:01 +00:00
Yu Liu
affd00883f Add device-tests as a dep of JACOCO_REPORT_CLASSES_ALL.
Bug: 289380707
Test: CI
Change-Id: Id201bda1bd4acfc6cadada982e20dee19d8c703a
2023-08-11 12:59:45 -07:00
Juan Yescas
24b02ed724 core: ARM 32-bit targets must be built with 4k elf alignment
- ARM 32-bit targets will be built with 4096 ELF alignment.
- ARM 32-bit targets will only support 4K Page sizes.
- ARM 32-bit targets won't be page agnostic.

Test: source build/envsetup.sh
      lunch aosp_cf_x86_64_phone
      m
Bug: 295550555
Change-Id: I1fda20ee06759cfe30e2e244616456d1ffa5ad66
2023-08-11 11:50:28 -07:00
Wei Li
1c263eb85a Merge "Add SBOM metadata for symlinks in root directory so they can be included in product SBOMs." into main 2023-08-11 18:38:12 +00:00
Juan Yescas
8358604c42 Merge "core: Rename product variable Device_page_size_agnostic" into main 2023-08-11 05:45:44 +00:00
Wei Li
517a13216e Add SBOM metadata for symlinks in root directory so they can be included in product SBOMs.
Bug: 272358980
Test: build/soong/tests/sbom_test.sh
Change-Id: I06e6716536c034dee3f6aa03469ad9ccc587dbd5
2023-08-10 18:11:06 -07:00
Zhi Dou
24a0b6a20c aconfig: add default-permission argument for create-cache command
Aconfig set flag default permission as READ_WRITE regardless of the
release configuration. This change enables the caller of create-cache to
set the default permission for all flags, if the flag doesn't have a
value.

Test: atest aconfig.test
Bug: 294417368
Change-Id: I1ba19e1ba793cd2ae59923b136b9b50a92315ece
2023-08-10 21:39:59 +00:00
Ming-Chen Chung
ee3a191656 Add update_device to be built and be packaged into otatools.zip.
Change-Id: Ifd204a0d67815e4a443eb6c34c4545b2484bdf57
2023-08-10 19:57:58 +00:00
David Iserovich
babdafe97e [config] Dist supports custom super image script
Some boards need to supply a custom super image script, and this
is supported via the BOARD_CUSTOM_BUILD_SUPER_IMAGE variable.

However, this variable is not used by img_from_target_files.py.

Change img_from_target_files.py to call the supplied script.

Bug: None
Change-Id: I6bca937534f58459d3419139ee7a37a10138ab8f
2023-08-10 18:12:44 +00:00
Greg Kaiser
f5eaf3cff3 Give an error when trying to build "next" targets
The "next" targets aren't supported yet, so we want to fail
immediately.

If the environment variable TESTING_TARGET_RELEASE_NEXT is
set, then we'll allow a "next" build, so folks can work on
fixing this in the meantime.

Bug: 294161396
Test: "lunch mokey-next-userdebug" with and without TESTING_TARGET_RELEASE_NEXT set
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f40be02ee51dec1bd5cdf88a4419684585ef6ef3)
Change-Id: If478a4efef937a0a986bfefdb61cc25921863b25
2023-08-10 16:26:12 +00:00
Wei Li
1c950f7a76 Merge "Include flags files in product SBOM." into main 2023-08-09 21:28:54 +00:00
Juan Yescas
d94d6bc9ad core: Rename product variable Device_page_size_agnostic
The product variable Device_page_size_agnostic will be
renamed to DevicePageSizeAgnostic.

Test: source build/envsetup.sh
      lunch aosp_cf_arm64_phone_pgagnostic
      m
Bug: 289419664
Change-Id: I4c0026a559ca3d848ccad285a5516a56d01c0efb
2023-08-09 09:04:43 -07:00
Devin Moore
aea0819fc7 Merge "Let assemble_vintf create the output fragments" into main 2023-08-09 15:29:05 +00:00
Wei Li
9b4cf43335 Include flags files in product SBOM.
Bug: 272358980
Test: build/soong/tests/sbom_test.sh
Change-Id: Ifcb2f26044c346c54e60d1d4fb85fc4001f64210
2023-08-08 17:26:49 -07:00
Wei Li
604ab2f175 Remove duplicate in unbundled build moduels defined in TARGET_BUILD_APPS.
Bug: 294786322
Test: banchan com.android.adbd com.android.adbd module_arm64 userdebug && m sbom
Change-Id: I60c403d530299741d6250b816095eafedf5bcd3d
2023-08-08 13:59:55 -07:00
Jim Shargo
980052abf6 Clean up after ourselves in the Rust Benchmark Template
There's a compliance check for tradefed that ensures that configs for
tests are set to cleanup after themselves. See: https://cs.android.com/android/platform/superproject/main/+/main:tools/tradefederation/core/javatests/com/android/tradefed/presubmit/GeneralTestsConfigValidation.java;l=425-429;drc=1fb7fe35bf7c843b5bac510476d63e4c8b436a48

This causes new benchmarks to fail presubmits.

Test: CLs with rust benchmarks pass presubmits now
Change-Id: I14f64ee3343bcf9bd2d77f547dc16b9c15bf4082
2023-08-08 16:57:42 +00:00
Cole Faust
92d921ce24 Minify the sdk targets
Previously, the "sdk" target was a minimal lunch target that only
included enough to build the sdk. But the "sdk_<arch>" targets
redirected to the "sdk_phone_<arch>" targets, which are much bigger
and capable of building a whole emulator.

Building the sdk on products that can build a whole device complicates
the rest of the build system (for example, it starts enforcing dexpropt
works)

Bug: 290798660
Test: m sdk dist sdk_repo device-tests platform_tests on sdk_x86_64-userdebug
Change-Id: I76f38cf19172a5f5fae423175d5e03670137a0df
2023-08-02 15:36:59 -07:00
Pierre-Clément Tosi
4e1f71ff7e Makefile: Avoid packaging pvmfw.bin in /system
Test: TH # In particular, make sure that b/261393794 isn't back.
Bug: 294177504
Change-Id: I1111ffb4a9e130568375329500c97eb850c0bfa1
2023-08-02 11:40:29 +01:00
Treehugger Robot
8cad379e98 Merge "Revert "Revert "Add system staging dir stamp file for bazel sand..."" into main 2023-08-02 04:11:10 +00:00
Treehugger Robot
d5474ac3da Merge "Add the option for custom_image to be AVB or NONAVB" into main 2023-08-01 19:08:06 +00:00
Cole Faust
4ad906d6a4 Revert "Revert "Add system staging dir stamp file for bazel sand..."
Revert submission 2685589-revert-2651299-bazel_sandwich-TVXWOASJNU

Reason for revert: It was not the cause of b/293883239

Reverted changes: /q/submissionid:2685589-revert-2651299-bazel_sandwich-TVXWOASJNU

Change-Id: I98ca2be7490a4e38d35e4e640a0d027711b67030
2023-08-01 16:38:58 +00:00
Jooyung Han
068da3ef96 Merge "Revert "Add system staging dir stamp file for bazel sandwich"" into main 2023-08-01 06:50:26 +00:00
Jooyung Han
f6a2234a54 Revert "Add system staging dir stamp file for bazel sandwich"
Revert submission 2651299-bazel_sandwich

Reason for revert: b/293883239, checking if this breaks the build.

Reverted changes: /q/submissionid:2651299-bazel_sandwich

Change-Id: I40661772148434adf5fbec9568b4c303ff7eaf1c
2023-08-01 05:15:28 +00:00
Treehugger Robot
e88ddaecc9 Merge "Add system staging dir stamp file for bazel sandwich" into main 2023-07-31 23:00:55 +00:00
Devin Moore
c33aec868b Let assemble_vintf create the output fragments
Instead of checking, then copying the fragments into the out directory,
we pass in the output file and let assemble_vintf create the output
file.

Test: m
Bug: 290265210
Change-Id: I65c2ee826de73b805b48dc95f20c2405250587f8
2023-07-31 16:10:59 +00:00
Cole Faust
82222146ee Add system staging dir stamp file for bazel sandwich
This stamp file is an alias to request that the system staging directory
be built. The bazel sandwich cannot know the full list of files in the
staging directory at analysis time, so it will just depend on this
instead, and then find all the files in the staging dir at execution
time.

Bug: 265127181
Test: m bazel_sandwich
Change-Id: Iee3dff4f77c9e7054b4e8297e5d96b4ef8bf1cbb
2023-07-27 10:14:36 -07:00
Juan Yescas
6196841f4d 16k: core: Check that TARGET_MAX_PAGE_SIZE_SUPPORTED is greater than 4096 only for ARM archs.
For arm archs, PRODUCT_MAX_PAGE_SIZE_SUPPORTED  values can be 4096, 16384, 65536.
For other archs, PRODUCT_MAX_PAGE_SIZE_SUPPORTED can only be 4096.

Note: The linker flag max-page-size is configured by PRODUCT_MAX_PAGE_SIZE_SUPPORTED flag.

Bug: 289419664

Test: source build/envsetup.sh
      lunch aosp_cf_x86_64_phone
      build/make/core/config.mk:448: error: TARGET_MAX_PAGE_SIZE_SUPPORTED=65536 is greater than 4096. Only supported in ARM arch.

      source build/envsetup.sh
      lunch aosp_raven_64-userdebug

Change-Id: I887d6f12835f1bea4c6b92d7d836440b8d3fd6a8
2023-07-27 00:13:50 +00:00
Devin Moore
11db0915df Merge "Add new Release_aidl_use_unfrozen soong variable" into main 2023-07-26 21:42:52 +00:00
Ray-cy.lee
e97e0cb16b Add the option for custom_image to be AVB or NONAVB
Check BOARD_AVB_$(call to-upper,$(partition))_KEY_PATH to decide whether custom_image should sign AVB or not. If key path isn't set, the custom image will be excluded from AVB and copied to /IMAGES in target-files directly. This allows vendor to use custom_images flow packing unsigned image.
And to every non-avb custom partition, one image whose name is partition name must be added in its BOARD_<CUSTOM_PARTITION>_IMAGE_LIST.

BOARD_CUSTOMIMAGES_PARTITION_LIST := tvconfig
BOARD_TVCONFIG_IMAGE_LIST := \
    device/xxxx/yyyy/tvconfig.img \
    device/xxxx/yyyy/tvconfig_custom1.img

Test:
1) Build image, target-files, OTA package by m and m dist
2) Sign images by sign_target_files_apk.py

Fix: 285227850
Change-Id: I7477dafe023e4b168f0f08fb7aedd9e511a60e1b
2023-07-26 20:21:29 +08:00
Jooyung Han
68b4cbecb9 Merge "Support .(dot) files in root" into main 2023-07-26 01:00:19 +00:00
Treehugger Robot
08d991834d Merge "Support transitive resource packages from Soong" into main 2023-07-26 00:34:57 +00:00
Colin Cross
d9d5c2a95e Support transitive resource packages from Soong
Soong is improving resource handling by not squashing resources from
all dependencies into every android_library.  This causes problems
when the android_library is exported to Make, as Make is still using
the old squashing behavior.

Add a file to every static java library that lists the resource packages
of its transitive dependencies.  For modules defined in Andorid.mk files
leave the file empty, but for Soong modules populate it with the list
of transtiive dependencies.  Pass the contents all of the files from
direct dependencies to aapt2 link to include any transitive dependencies.

Bug: 284023594
Test: m Dialer
Change-Id: I4e8ace497d701a9645a62dd5a6ac12e9a6830dcf
Merged-In: I4e8ace497d701a9645a62dd5a6ac12e9a6830dcf
2023-07-25 21:30:38 +00:00
Jooyung Han
8d72515292 Support .(dot) files in root
When .(dot) file/dir is added to the rootdir, it works with normal `m
systemimage` build, but fails when building the images with target
files because the copy command misses .(dot) files.

When packaging, need to copy the whole content from the src directory.
This also matches the condition `ls -A` (which means, we care about dot
files as well).

Bug: 292438323
Test: m dist (aosp_cf_x86_64_phone-userdebug)
Change-Id: Ib3f555305c915d499448c2064e5639a641b2ddb7
2023-07-25 13:58:19 +09:00
Juan Yescas
1083f36818 16k: core: Add flag to make AOSP page size agnostic
The new boolean flag will be PRODUCT_PAGE_SIZE_AGNOSTIC.

When PRODUCT_PAGE_SIZE_AGNOSTIC is true:

- AOSP will use getpagesize() to retrieve the page size.
- The flag `TARGET_MAX_PAGE_SIZE_SUPPORTED` has to be equals to `65536`.
- AOSP will be able to use 4k/16k page size Linux kernels

When PRODUCT_PAGE_SIZE_AGNOSTIC is false:

- AOSP will only support 4k page size kernels.

Test: source build/envsetup.sh
      lunch aosp_raven_64-userdebug
      get_build_var TARGET_PAGE_SIZE_AGNOSTIC
      get_build_var PRODUCT_MAX_PAGE_SIZE_SUPPORTED
      65536

      source build/envsetup.sh
      lunch aosp_raven_64-userdebug
      build/make/core/config.mk:414: error: TARGET_MAX_PAGE_SIZE_SUPPORTED has to be 65536 to support page size agnostic.
      10:32:55 dumpvars failed with: exit status 1

Bug: 289419664
Change-Id: If8fc243a3e2cad77414a53a29805c7b6d349d4dd
2023-07-24 13:48:52 -07:00
Liz Kammer
36c619075e Merge "Allow setting some build_broken out of boardconfig" into main 2023-07-24 14:24:25 +00:00
Liz Kammer
b607281fae Allow setting some build_broken out of boardconfig
Some build broken flags are for cross-cutting features rather than
board-specific. In order to support these without requiring broad
changes across many board configs, these can be set in a buildspec.mk
files.

Test: set build_broken flags in environment, get expected fail
Test: set build_broken flags in buildspec, get expected success
Change-Id: I8a74c30575f6bf40e46281ca5f37f3cfed526ec5
2023-07-21 15:51:58 -04:00
Treehugger Robot
21e6105b79 Merge "Combine aconfig cache files into per-partition dumps." into main 2023-07-21 14:34:44 +00:00
Devin Moore
816167b93b Add new Release_aidl_use_unfrozen soong variable
This comes from a trunk stable build flag `RELEASE_AIDL_USE_UNFROZEN`
and is used by the AIDL compiler when creating build rules for the
generated AIDL libraries.

Test: m
Bug: 290265210

Change-Id: I9161a3262d6b2ef8792e8c0b8a759da9a540c560
2023-07-21 00:17:47 +00:00
Yi Kong
7859cc45f7 Merge "Remove dangling reference to LLVMgold.so" into main 2023-07-20 17:33:54 +00:00
David Fu
4c1bc5b9b7 Merge "Added haiku-presubmit phony rule to makefile" into main 2023-07-20 17:00:05 +00:00