Commit graph

93055 commits

Author SHA1 Message Date
Dennis Shen
a4294b0c6a aconfig: create unit test targets for aconfig_protos and
aconfig_storage_file crate

also added a bunch of comments to satisfy android lint requirements

Bug: b/321077378
Test: atest aconfig.test, atest aconfig_protos.test, atest aconfig_storage_files.test
Change-Id: I9bce302ac3bc98c5347e5334d915e77337ee89c4
2024-01-25 17:33:36 +00:00
Dennis Shen
cf9a752092 aconfig: create aconfig_storage_file crate
Move aconfig storage file definition into its own crate, as flag read
lib will need it as well. The new crate is placed under
aconfig_storage_file dir.

Bug: b/321077378
Test: atest aconfig.test, Cargo test at repo root level
Change-Id: I91e8ada2c9bab479ed81cf03824042f3fa460be5
2024-01-24 21:33:42 +00:00
Luca Farsi
a718299b96 Merge "Determine if the build is in presubmit using build id" into main 2024-01-24 19:11:04 +00:00
Dennis Shen
9f34a48141 Merge "Restructure aconfig repo to be a cargo workspace with many crates" into main 2024-01-24 17:51:00 +00:00
Dennis Shen
277e5dc36e Restructure aconfig repo to be a cargo workspace with many crates
Previously, aconfig repo is the root directory of aconfig binary crate,
but it also hosts printflags crate inside, and there is no cargo support
for printflags binary crate. In addition, with more aconfig development,
more crates are being added to this repo. Thus this repo should be
configured as a Cargo workspace with multiple crates rather than a
single crate.

Note the top level Cargo.toml file specifies the crates this workspace
carries:
(1) aconfig_protos: the proto library crate that will be used by many other
crates such as aconfig binary crate and printflags binary crate
(2) aconfig: the aconfig binary crate
(3) printflags: the printflags binary crate

(1) aconfig_protos crate setup:

Inside aconfig_protos dir we set up the aconfig_protos crate, the
previously src/proto.rs is now aconfig_protos/src/lib.rs, the build.rs
is carried over to this crate.

(2) aconfig binary crate setup:

Notice its Cargo.toml file claims package dependency on aconfig_protos
crate. It no longer carries proto related module and build.rs file.

(3) printflags binary crate setup:

Similary, notice that in its Cargo.toml file, it claims package
dependency on aconfig_protos crate.

With this setup, we can Cargo build/test each crate individually when
inside a specific crate dir. But we can also run Cargo build/test at
repo root level, which will build/test all the crates in this workplace.

This is the structuring cl. The next cl is to move storage modules into
its own library crate. This storage file library crate will be used by
both aconfig binary crate as well as flag read library crate (to be
created as another new crate here).

Bug: b/321984352
Test: top and individual crate dir level Cargo build/test, m each
individual targets

Change-Id: I75833f4997f7ee554ff6c1557df9ac87f62b2732
Merged-In: I75833f4997f7ee554ff6c1557df9ac87f62b2732
2024-01-24 02:18:52 +00:00
Treehugger Robot
34a9a0e851 Merge "Move fontchain_lint to build/core/tasks" into main 2024-01-24 01:13:43 +00:00
Treehugger Robot
04acb6d255 Merge "Use RELEASE_BOARD_API_LEVEL_FROZEN" into main 2024-01-23 04:31:31 +00:00
Luca Farsi
c18da79d3f Determine if the build is in presubmit using build id
The current logic to determine if a build is pre or postsubmit is the
existence of the change_info file but this file also exists in
postsubmit, causing the build to break. Use the build ID as the
heuristic instead which should be more reliable.

Test: abtd run
Bug: 314171817
Change-Id: I9871eee71c0574583b528135dadd42e3f485a780
2024-01-22 14:56:13 -08:00
Roshan Pius
9454c64bca Merge "Copy com_android_nfc certs for sepolicy rule" into main 2024-01-22 22:45:49 +00:00
Treehugger Robot
28007ce2e1 Merge "Add all apexes to apex_info" into main 2024-01-22 22:08:14 +00:00
Devin Moore
df791fdad0 Merge "Add all of the packages used to support older/upgrading devices" into main 2024-01-22 20:56:46 +00:00
Jooyung Han
750aad5c32 Add all apexes to apex_info
Previously, META/apex_info.pb contained only /system/apex apexes. Now,
it has all apexes from all possible partitions.

The main purpose of this file is to caculate the decompressed apex size
when applying OTA. Hence it should have all apexes, not just system
apexes.

Bug: 320228659
Test: m dist # check META/apex_info.pb
Change-Id: I3428dc502e4fe3336d1fc5ca941f1fbc332985cd
2024-01-23 05:52:51 +09:00
Dennis Shen
1ef905869f Merge "aconfig: create one file at each create-storage command invocation" into main 2024-01-22 20:49:36 +00:00
Justin Yun
b33308c88c Use RELEASE_BOARD_API_LEVEL_FROZEN
RELEASE_BOARD_API_LEVEL_FROZEN must not be overriden by a board
config value. Use RELEASE_BOARD_API_LEVEL_FROZEN directly to build
configs.

Bug: 295269182
Test: TH
Change-Id: I60ad4cf1a9f377619fef98d6f9ef4d04d3395991
2024-01-22 10:54:06 +09:00
Treehugger Robot
b14bf5f6e9 Merge "Install libvintf_jni" into main 2024-01-21 21:56:31 +00:00
Treehugger Robot
3b7d46f4ca Merge "Fix signing failures on targets with >4GB target_files" into main 2024-01-19 20:06:07 +00:00
Cole Faust
a4e395b2af Merge "Revert "symlink_outputs: Add .KATI_SYMLINK_OUTPUTS to build/make..."" into main 2024-01-19 19:38:57 +00:00
Kevin Dagostino
8ac6cd19c5 Merge "Add banner announcing adevice when running builds." into main 2024-01-19 19:29:13 +00:00
Kelvin Zhang
12ac11025e Fix signing failures on targets with >4GB target_files
An old python zipfile hack prevented zipfile module from decoding 64 bit
sizes correctly, remove the legacy hack to fix.

Test: check_target_files_signatures -v 5GB_target_files.zip
Bug: 319367048
Change-Id: I376c7b68f549ddf88680280d604548d1849cdfe2
2024-01-19 11:04:58 -08:00
Dennis Shen
bac87875fa aconfig: create one file at each create-storage command invocation
Based on the build system feedback, it is better to create storage file
individually per each aconfig command invocation in a makefile. Thus
updating the create-storage command to create one file at a time based
on passed in file selection.

Bug: b/321243743
Test: atest aconfig.test and manually invoke create-storage command
Change-Id: I53625c08e44d3ece4476835827c6b7d28ddd5a1b
2024-01-19 19:02:07 +00:00
Roshan Pius
139c67be26 Copy com_android_nfc certs for sepolicy rule
Copied from:
  com_android_nfc.pk8 -> nfc.pk8
  com_android_nfc.x509.pem -> nfc.x509.pem

BUG: 320583956
Test: Bootup test with signed NFC APK (within NFC apex)
Merged-In: Ia0c1c7228323dec4d283f469701ae3606e2fadca

Change-Id: Ia0c1c7228323dec4d283f469701ae3606e2fadca
2024-01-19 10:23:14 -08:00
Treehugger Robot
1094ec1e81 Merge "Add the rebuilt modules to the benchmark formatting" into main 2024-01-19 17:38:02 +00:00
Joe Onorato
6b40826d2e Add the rebuilt modules to the benchmark formatting
Test: format_benchmarks
Change-Id: Ib3fffc99a1c66a2f700c27821886e8de2e2ec041
2024-01-19 16:41:27 +00:00
Harshit Mahajan
46dfb868b2 Merge "Revert^2 "[CrashRecovery] Add module to BCP and SSCP"" into main 2024-01-19 16:20:35 +00:00
Nelson Li
6a699c8d47 Move fontchain_lint to build/core/tasks
Because `system.img` is a dependency of `fontchain_lint`, and
`system.img` is currently not generated inside `Soong`, it is not
possible to directly convert `fontchain_lint` to `Android.bp`.
Move it to build/core/task first.

Bug: 319050958
Test: m fontchain_lint
Change-Id: I2c318f6f51107cd80f0c70531e23f73569b0ec83
2024-01-19 06:59:22 +00:00
Inseob Kim
2f7809b437 Merge "Remove LOCAL_FILE_CONTEXTS" into main 2024-01-19 01:40:03 +00:00
Cole Faust
8f2283e6f2 Revert "symlink_outputs: Add .KATI_SYMLINK_OUTPUTS to build/make..."
Revert submission 1433935-symlink_outputs

Reason for revert: symlink_outputs was added so bazel could run ninja files, but we abanoned that approach in roboleaf, and then roboleaf was cancelled entirely. Remove this feature so we're more compatible with upstream ninja / n2.

Reverted changes: /q/submissionid:1433935-symlink_outputs

Change-Id: I5a779695689148ed32037f7f82887c458a3587cd
2024-01-18 20:12:12 +00:00
Luca Farsi
9c7dbf06a4 Merge changes Ia3ad8ebf,I94422993 into main
* changes:
  Add option to print command output and fix env on dumpvars commands
  Make build script executable via python
2024-01-18 19:56:57 +00:00
Yu Liu
15fb2a41b1 Merge "Tweak the CUJ scripts to make it work in CI." into main 2024-01-18 04:23:49 +00:00
Inseob Kim
7b06c6918e Remove LOCAL_FILE_CONTEXTS
It's not used anymore.

Bug: N/A
Test: TH
Change-Id: Ib61922add91ad07e2c28b0950117470e5435ab34
2024-01-18 12:33:02 +09:00
Yu Liu
cda84245af Tweak the CUJ scripts to make it work in CI.
Bug: 318706915
Test: manual test
Change-Id: I0982d1d724ec05aee7a0d6bdaa05497745421674
2024-01-18 00:35:13 +00:00
Luca Farsi
b559eefb50 Add option to print command output and fix env on dumpvars commands
Two fixes:
soong dumpvars commands require TARGET_RELEASE to be set in the env, so
set that.

Added option to print command output which is useful for actually
logging build output not only in the case of command failures.

Test: ABTD run with this change
Bug: 314171817
Change-Id: Ia3ad8ebfa58959c13417abaeeaa42a354c4c61de
2024-01-17 16:14:55 -08:00
Luca Farsi
d42a053aa8 Make build script executable via python
Add shebang line to make build test suties script callable via command
line without needing python.

Test: ./build/make/ci/build_test_suites --target_product aosp_x86_64
--target_release trunk_staging --with_dexpreopt_boot_img_and_system_server_only --dist_dir <dist_dir> --change_info <change_info_file> <extra_targets>

Change-Id: I94422993e864e021b036a4eb1673b463ad4b86d4
2024-01-17 15:25:18 -08:00
Kevin Dagostino
185109bdd6 Add banner announcing adevice when running builds.
Test: ANDROID_QUIET_BUILD=true mm
Test: mm
Change-Id: Ib1329d2f52f11d0ad437d0fb02000e4e7f104d55
2024-01-17 21:56:30 +00:00
Tim Tsai
7cd5b313f6 Merge "Fixed not mapping sdk_sandbox key to vendor key" into main 2024-01-17 17:08:07 +00:00
Harshit Mahajan
7b6a18c4bd Revert^2 "[CrashRecovery] Add module to BCP and SSCP"
1b22a8e7dd

Bug: b/289203818
Test: m
Change-Id: I4837ef66e14b06ce62be30e04eb988ebab9c2c6c
2024-01-17 15:01:24 +00:00
Treehugger Robot
0562b343d1 Merge "Remove unnecessary calling of PayloadGenerator" into main 2024-01-17 07:18:51 +00:00
Treehugger Robot
0ac2d7fb7a Merge "Remove RELEASE_EXPOSE_FLAGGED_API and PRODUCT_NEXT_RELEASE_HIDE_FLAGGED_API export" into main 2024-01-17 00:20:54 +00:00
Daniel Zheng
b7b838fd3b Merge "Update check to work with compression levels" into main 2024-01-16 21:45:40 +00:00
Yu Liu
5afa685f81 Merge "Properly report failures in the CUJ scripts" into main 2024-01-16 21:35:42 +00:00
Dennis Shen
27cf1a5cd2 Merge "build system to create flag storage files per partition" into main 2024-01-16 21:26:50 +00:00
Daniel Zheng
15a36a14d6 Update check to work with compression levels
vabc_compression_param can be a combination of algorithm + level.
Updating this check so that it works with both.

Test: ota_from_target_files
Change-Id: I2f13ca31c728d7c8607ac085c9b663691f8dfa02
2024-01-16 12:41:01 -08: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
Yu Liu
c6576ad307 Properly report failures in the CUJ scripts
Bug: 318706915
Test: manual test
Change-Id: I25dc7908f354c09cb829070e6de86f6cdfa38dab
2024-01-16 19:27:45 +00:00
Luca Farsi
bb17372928 Merge "Add dexpreopt option to build commands" into main 2024-01-16 18:21:14 +00:00
Treehugger Robot
c5b4b824ae Merge "build: Allow NFC stack to be delivered as a mainline module or APK" into main 2024-01-13 22:12:12 +00:00
Roshan Pius
dbaddabffb build: Allow NFC stack to be delivered as a mainline module or APK
These changes are necessary to allow NFC stack delivery to be properly
trunk stable flagged:
1. Delivered as NfcNci.apk and framework-nfc.jar for Android
U based builds (existing).
2. Delivered as com.android.nfcservices.apex which embeds NfcNci.apk &
framework-nfc.jar for Android V based builds (new).

Bug: 303286040
Test: Device boots up after flashing
Test: atest CtsNfcTestCases
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:046c1816091f9150c91953b8571dc946b0a59f86)
Merged-In: Ib2170146d07763ff6c852ce810497ebe1ac2eead

Change-Id: Ib2170146d07763ff6c852ce810497ebe1ac2eead
2024-01-12 18:17:26 -08: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
Luca Farsi
212d38662b Add dexpreopt option to build commands
Missed passing down the WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY
option in the build commands.

Test: ./build/make/ci/build_test_suites --target_product aosp_x86_64
--target_release trunk_staging --with_dexpreopt_boot_img_and_system_server_only --dist_dir <dist_dir> --change_info <change_info_file> <extra_targets>
Bug: 314171817

Change-Id: I0424e8b7ef350b3baff76ff9bcb8255c914fee5a
2024-01-12 11:24:25 -08:00