Commit Graph

37104 Commits

Author SHA1 Message Date
Dennis Shen
27cf1a5cd2 Merge "build system to create flag storage files per partition" into main 2024-01-16 21:26:50 +00:00
Jihoon Kang
5a438e61ba Remove RELEASE_EXPOSE_FLAGGED_API and PRODUCT_NEXT_RELEASE_HIDE_FLAGGED_API export
As seen in the CLs in the same topic, these two variables are no longer
in used and do not need to be exported to Soong.

Test: m nothing --no-skip-soong-tests
Bug: 320515715
Change-Id: I268dc3f051d3ff15d95515755dd0c9f9c15dfc82
2024-01-16 20:09:50 +00:00
Jihoon Kang
d6c7dadbb5 Merge "Export RELEASE_HIDDEN_API_EXPORTABLE_STUBS to soong" into main 2024-01-12 23:50:37 +00:00
Dennis Shen
c39f3781b8 build system to create flag storage files per partition
Add make file targets to create storage files. Note the container field
to aconfig command is an empty string for now as flags now by default
assumes empty container string in parsed_flag proto. Need to update it
once the container specification to aconfig files are done.

Bug: b/312239352
Test: m
Change-Id: If7bd12be5917a4779047633c00f88166574bfe0b
2024-01-12 20:21:21 +00:00
Treehugger Robot
a2fc52954e Merge "Remove last reference to SOONG_COLLECT_JAVA_DEPS" into main 2024-01-12 04:28:49 +00:00
Jihoon Kang
e0f37a7511 Export RELEASE_HIDDEN_API_EXPORTABLE_STUBS to soong
This change exports the build flag RELEASE_HIDDEN_API_EXPORTABLE_STUBS
so that it can be utilized in the bp file.

Test: m nothing
Bug: 315027929
Change-Id: I7b7b2658498ef8a84eb2de428c0c78b0f2215704
2024-01-12 01:11:11 +00:00
Colin Cross
4637dafb94 Remove last reference to SOONG_COLLECT_JAVA_DEPS
SOONG_COLLECT_JAVA_DEPS was uncondtionally enabled in
If30ad5dbabb6709f834134cbc9a513a9bdc9d9de, remove the conditional
check for disting the results.  The prevents rerunning Make analysis
in ASfP, which is setting SOONG_COLLECT_JAVA_DEPS=true.

Test: builds
Change-Id: Ibecbeeefda3fec43c8a54b5ff80835e331bab1fc
2024-01-08 14:28:48 -08:00
Treehugger Robot
32fd2dee4f Merge changes from topics "revert-2897484-revert-2897682-dont_limit_systemsdk-JCOOOXGAIF-BSJGJAJAWC", "revert-2897568-revert-2894701-limit_systemsdk-WNEMOTGMRS-ROJNXPXKUV" into main
* changes:
  Revert^2 "Add BUILD_BROKEN_DONT_CHECK_SYSTEMSDK"
  Revert "Revert "Limit System SDK to 34 for Java modules in the v..."
2024-01-06 17:53:41 +00:00
Vladimír Marko
415fdddd98 Merge "Add a new x86(_64) arch variant "goldmont-without-xsaves"" into main 2024-01-05 12:29:33 +00:00
Jiyong Park
885b004547 Revert^2 "Add BUILD_BROKEN_DONT_CHECK_SYSTEMSDK"
5ef2634d5a

Change-Id: I4430ac4b2411baf3f33695ba3b1520345d7f493d
2024-01-04 23:23:38 +00:00
Jiyong Park
7a66924a60 Revert "Revert "Limit System SDK to 34 for Java modules in the v..."
Revert submission 2897568-revert-2894701-limit_systemsdk-WNEMOTGMRS

Reason for revert: Forward fix was merged

Reverted changes: /q/submissionid:2897568-revert-2894701-limit_systemsdk-WNEMOTGMRS

Change-Id: Ia103db05bfaebdfd301dbf84183a89d01f58eb67
2024-01-04 23:20:49 +00:00
Joey Jiao
946ca19d49 Enable clang coverage
This is to align with build/soong to support clang coverage.
- support env CLANG_COVERAGE and CLANG_COVERAGE_CONTINUOUS_MODE.
- support kill -37 signal to dump coverage.
- support build clang coverage together with hwasan.

Bug: 309894892
Change-Id: I14f75d7fdfdf872d2db3bbceb2c10d6572bcfebf
2024-01-04 13:48:33 -08:00
Sebastian Pickl
78c6e1368b Revert "Limit System SDK to 34 for Java modules in the vendor pa..."
Revert submission 2894701-limit_systemsdk

Reason for revert: might be breaking builds at 318695834

Bug: 318695834

Reverted changes: /q/submissionid:2894701-limit_systemsdk

Change-Id: Idfaec65ddfbb0091672993d6c857a06e9cfdfb13
2024-01-04 19:28:02 +00:00
Sebastian Pickl
8d0d963070 Merge "Revert "Add BUILD_BROKEN_DONT_CHECK_SYSTEMSDK"" into main 2024-01-04 19:27:24 +00:00
Sebastian Pickl
5ef2634d5a Revert "Add BUILD_BROKEN_DONT_CHECK_SYSTEMSDK"
Revert submission 2897682-dont_limit_systemsdk

Reason for revert: blocking revert for 318695834

Bug:318695834

Reverted changes: /q/submissionid:2897682-dont_limit_systemsdk

Change-Id: Ic4a63fe81434ddb9cb57519bd11c1924224111c6
2024-01-04 19:01:29 +00:00
Joe Onorato
3309714a2a Merge "Add BUILD_BROKEN_DONT_CHECK_SYSTEMSDK" into main 2024-01-04 17:40:50 +00:00
Treehugger Robot
7968bc4f39 Merge "Set BOARD_SYSTEMSDK_VERSIONS even if PRODUCT_SHIPPING_API_LEVEL is unset" into main 2024-01-04 17:39:28 +00:00
Jiyong Park
7a0e042276 Add BUILD_BROKEN_DONT_CHECK_SYSTEMSDK
https://android-review.git.corp.google.com/q/topic:limit_systemsdk
introduced a new check for preventing the use of system SDKs above 34
from Java modules in the vendor partition.

As this may break some unprepared targets, introduce
BUILD_BROKEN_DONT_CHECK_SYSTEMSDK as a temporary escape hatch.

This flag will be deleted eventually.

Bug: 314011075
Test: Add BUILD_BROKEN_DONT_CHECK_SYSTEMSDK := true to BoardConfig.mk
Change-Id: Ie70ce428ec3df8580099efd99e5c7c9c4f9daecb
2024-01-04 23:48:27 +09:00
Jiyong Park
0284ba297c Set BOARD_SYSTEMSDK_VERSIONS even if PRODUCT_SHIPPING_API_LEVEL is unset
Previously, we checked if PRODUCT_SHIPPING_API_LEVEL >= 28, but that no
longer is needed because upgrading from 29 to 35 is not expected. All
devices running Android V are expected to be shipped after 28.

Furthermore, this fixes non-device targets (like sdk) where
PRODUCT_SHIPPING_API_LEVEL is unset.

Bug: 318634417
Test: build with sdk target
Change-Id: I8f8337fb76312334777e621ae5870d953167ad49
2024-01-04 21:14:58 +09:00
Jiyong Park
e67e0dda48 Merge "Limit System SDK to 34 for Java modules in the vendor partition" into main 2024-01-04 09:37:36 +00:00
Jooyung Han
aaab9b5026 Merge "Pass LOCAL_MIN_SDK_VERSION to clang triple" into main 2024-01-04 06:43:11 +00:00
Jooyung Han
358875fbe6 Pass LOCAL_MIN_SDK_VERSION to clang triple
Like soong modules, pass LOCAL_MIN_SDK_VERSION to clang when it's set.

Bug: 317676192
Test: manual check (set LOCAL_MIN_SDK_VERSION as 34 for wpa_supplicant
  and see if generated build commands has android34)
Change-Id: I48928e54417f47f2e0c2417f04e5893764c3edb9
2024-01-04 10:48:51 +09:00
Colin Cross
7f91599457 Merge "Support Soong-generated module-info.json entries" into main 2024-01-03 17:55:47 +00:00
Colin Cross
01ede583ea Merge "Don't install vintf and init.rc from Soong" into main 2024-01-03 16:53:45 +00:00
Jiyong Park
e3c278844d Limit System SDK to 34 for Java modules in the vendor partition
This change disallows Java modules in the vendor partition to use System
SDK that is newer than API level 34; 34 is the latest allowed.

Background 1: with Trunk Stable, the system/vendor interface is released
at Q2 whereas the system/app interface is released at Q3. In other
words, at Q2, the APIs which will be added to the system SDK at Q3 are
not available. Since the system/vendor interface (which is fronzen at
Q2) is what the modules in the vendor partition will be building
against, they can't and shouldn't use those new APIs that will be added
in the future (Q3). Using those APIs is risky because there's a chance
that those APIs get removed or changed between Q2 and Q3. For example,
2024 Q2 is technically still Android U, not Android V.

Background 2: The use of Java APIs in the vendor partition had many
issues. Most significantly, those "vendor" Java apps are categorized as
part of the system partition because all Java app processes require
access to platform internal libraries that are prohibited to vendor
processes. Furthermore, since the Project Treble, the vendor partition
was re-purposed to a partition to host SoC-dependent bits - usually
HALs. Implementing HALs in Java has never been officially supported and
has had many loop holes.

We'd like to use both background 1 and 2 as a chance to disallow any
Java code in the vendor partition. However, since there are already some
Java modules in the partition, we can't suddenly ban it. The deprecation
will be made gradually, and this CL is the start.

This CL implements the "Make" part of the restriction. The "Soong" part
will follow.

Note that LOCAL_SDK_VERSION := current or LOCAL_SDK_VERSION :=
system_current is automatically overridden into 34 or system_34. This is
to prevent sudden breakage of vendor modules that have been targetting
the latest (i.e. current) API level. They will however fail if they use
APIs newer than API level 34.

Bug: 314011075
Test: The following Android.mk module fails as expected.
some/Android.mk:

include $(CLEAR_VARS)
LOCAL_MODULE := example_module
LOCAL_VENDOR_MODULE := true
LOCAL_SDK_VERSION := system_35
LOCAL_SRC_FILES := Foo.java
include $(BUILD_JAVA_LIBRARY)

FAILED:
some/Android.mk: error: example_module: Incompatible
LOCAL_SDK_VERSION 'system_35'. System SDK version '35' is not supported.
Supported versions are: 28 29 30 31 32 33 34

Change-Id: I44c29c6dc45b91a9a30b8a21cd2baae685fa27fb
2024-01-03 16:35:08 +09:00
Colin Cross
3b89c6532a Support Soong-generated module-info.json entries
Allow Soong modules to generate their own module-info.json entries
by merging Soong's module-info.json file into the one generated in
Make.

Skip collecting unnecessary ALL_MODULES.$(my_register_name).*
that are only used for module-info.json if the module was already
handled by Soong via the LOCAL_SOONG_MODULE_INFO_JSON property.

Bug: 309006256
Test: Compare module-info.json
Change-Id: I2c9db3c7c7bae7bd6cb889d7ebc2e383c278c82d
2024-01-02 17:21:22 -08:00
Colin Cross
b2063049f8 Don't install vintf and init.rc from Soong
Soong is now handling installing init.rc and vintf fragment files,
don't install them in Make for Soong modules.

Bug: 309006256
Test: Compare installed files
Change-Id: Ied43c207c6ae158d3f41d81c7fe16688331bf13c
2024-01-02 14:33:20 -08:00
Steven Moreland
fb1160d0b8 PRODUCT_FULL_TREBLE disabled warning
Treble is like so 2016, but it's 2023.

Bug: 307369186
Test: build
Change-Id: Icb24e218d0dbc5f76f0c83f809728d33dc67719e
2023-12-28 21:39:10 +00:00
Seungjae Yoo
a79329678d Merge "Append root digest information of microdroid vendor into vendor.img" into main 2023-12-28 01:17:36 +00:00
Steven Moreland
6b5b3b40bd Merge "Force PRODUCT_NOTICE_SPLIT." into main 2023-12-27 18:40:17 +00:00
Steven Moreland
5c11308f60 Force PRODUCT_NOTICE_SPLIT.
Bug: 307369186
Test: N/A
Change-Id: I9d7810422cd8c34e84d755cfc14aded633a5baad
2023-12-27 01:09:36 +00:00
Seungjae Yoo
939d37b88c Append root digest information of microdroid vendor into vendor.img
Instead appending public key information into vendor partition,
append root digest of microdroid-vendor's hashtree descriptor. The root
digest would be extracted in build time with avbtool.

Bug: 285855436
Test: avbtool info_image --image $ANDROID_PRODUCT_OUT/vendor/etc/avf/microdroid/microdroid_vendor.img
Test: avbtool info_image --image $ANDROID_PRODUCT_OUT/vendor.img
Change-Id: I930b09774a1024a2e5d30f474f1589fc1b8aa25a
2023-12-26 17:21:41 +09:00
Treehugger Robot
d7298ff414 Merge "Change sepolicy version format for vFRC" into main 2023-12-22 02:25:15 +00:00
Julien Desprez
eebf6dcd1a Use sha256 when zipping target_files
similar to general-tests.mk, this will avoid recomputing sha256 when
uploading target files to RBE.

Test: presubmit
Bug: 316952196
Change-Id: I879214ac79f5c269f337fafcede8513c1e90e60e
2023-12-18 22:39:04 +00:00
Dmitrii Merkurev
901136e9d8 Revert "Revert "Allow to override fastboot-info.txt for specific..."
Revert submission 2871792-revert-2871156-fastboot_info-UVHXWCTZZB

Reason for revert: Some images weren't available in Android.mk

Reverted changes: /q/submissionid:2871792-revert-2871156-fastboot_info-UVHXWCTZZB

Bug: 315866782
Test: confirmed bluejay abtd build has correct fastboot-info.txt

Change-Id: Id75d879119744ab97225e5a551e8d32a1b09a356
Signed-off-by: Dmitrii Merkurev <dimorinny@google.com>
2023-12-14 13:27:38 +00:00
Satoshi Niwa
88fc7ad3a8 Add a new x86(_64) arch variant "goldmont-without-xsaves"
Its target arch is goldmont, but without xsaves support.
It can build images that run on old Intel/AMD CPUs as well as new CPUs.

Bug: 314243939
Test: Build an image with TARGET_ARCH_VARIANT:=goldmont-without-xsaves
Change-Id: I9c4bfd3928511f5b4a075f9a9337db6e1270a765
2023-12-14 17:47:56 +09:00
Dan Shi
f877c1c7c4 Merge "Revert "Allow to override fastboot-info.txt for specific board"" into main am: e8519a7bad am: c0d94d179a am: 17391cba39
Original change: https://android-review.googlesource.com/c/platform/build/+/2871792

Change-Id: I370421e6e101b3e5f078a6a7b86dc745ce7164b1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-13 20:55:05 +00:00
Dan Shi
17391cba39 Merge "Revert "Allow to override fastboot-info.txt for specific board"" into main am: e8519a7bad am: c0d94d179a
Original change: https://android-review.googlesource.com/c/platform/build/+/2871792

Change-Id: I0a765845255a3eedfb86b0b92c174cbd1fe54d14
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-13 20:23:04 +00:00
Dan Shi
e8519a7bad Merge "Revert "Allow to override fastboot-info.txt for specific board"" into main 2023-12-13 19:19:16 +00:00
Dan Shi
16490d3207 Revert "Allow to override fastboot-info.txt for specific board"
Revert submission 2871156-fastboot_info

Reason for revert: possble cause of b/315866782

Reverted changes: /q/submissionid:2871156-fastboot_info

Change-Id: I07baf20bd50529a36f2841350a24ba58d480f5e2
2023-12-13 18:58:49 +00:00
Inseob Kim
771b893d0f Change sepolicy version format for vFRC
sepolicy versioning is for system <-> vendor compatibility. This changes
sepolicy version format from sdk version (e.g. 34.0) to vendor api
version (e.g. 202404.0).

Bug: 314010177
Test: build and boot
Change-Id: Ic15e07e7422be203dae08670bf58328669c9f474
2023-12-13 09:20:12 +00:00
Dmitrii Merkurev
d63d6a7adb Merge "Allow to override fastboot-info.txt for specific board" into main am: aaf82ff626 am: 47abe8a42e am: a2191b0e4a
Original change: https://android-review.googlesource.com/c/platform/build/+/2871235

Change-Id: I607579e81d21af5982fc247bda504e245b84a128
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-13 04:25:17 +00:00
Dmitrii Merkurev
a2191b0e4a Merge "Allow to override fastboot-info.txt for specific board" into main am: aaf82ff626 am: 47abe8a42e
Original change: https://android-review.googlesource.com/c/platform/build/+/2871235

Change-Id: I9d11637bddf26fc2687fc494656d3e5d7b6afdab
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-13 03:52:44 +00:00
Dmitrii Merkurev
aaf82ff626 Merge "Allow to override fastboot-info.txt for specific board" into main 2023-12-13 02:56:12 +00:00
Will McVicker
850a2e8e2f Add new product property to detect if PAGE_SIZE is defined
As part of the effort to support page size agnostic builds, this patch
adds a product property that is set when Android is built with
`PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true` set. This property is
required to be set on all devices launching with V and later.

Test: atest -c Vts16KPageSizeTest
Bug: 315034809
Change-Id: Ia4f7cca362d8e65459b9a1f188cf60d9905c624b
2023-12-12 22:37:19 +00:00
Dmitrii Merkurev
21eeb06291 Allow to override fastboot-info.txt for specific board
Introduce TARGET_BOARD_FASTBOOT_INFO_FILE to override
fastboot-info.txt generated by default

Test: locally with CF target on related change
Bug: 315811289
Change-Id: I52208e49ac1dfe8558849be9befa60df805665e3
Signed-off-by: Dmitrii Merkurev <dimorinny@google.com>
2023-12-12 22:10:32 +00:00
George Lin
9e746d2682 Merge "Revert "Fix the KNOWN_CODENAMES to include "L"."" into main am: 7c607a0e32 am: c15097fa2e am: b7d6f8c952
Original change: https://android-review.googlesource.com/c/platform/build/+/2864057

Change-Id: I614619d59238e2daa098a04b30591a653e6271db
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-11 23:29:03 +00:00
George Lin
b7d6f8c952 Merge "Revert "Fix the KNOWN_CODENAMES to include "L"."" into main am: 7c607a0e32 am: c15097fa2e
Original change: https://android-review.googlesource.com/c/platform/build/+/2864057

Change-Id: I9cac7c3f73010c52913822be2c46a82c8fcc2229
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-11 22:45:48 +00:00
George Lin
7c607a0e32 Merge "Revert "Fix the KNOWN_CODENAMES to include "L"."" into main 2023-12-09 00:13:57 +00:00
George Lin
b30e25376f Revert "Fix the KNOWN_CODENAMES to include "L"."
This reverts commit c4517b0fbd.

Reason for revert: The CL is considered a culprit of b/315384164

Change-Id: I47479cad38f2337e68e14a5e31bd9bc26d948b94
2023-12-08 21:45:17 +00:00