Commit Graph

85534 Commits

Author SHA1 Message Date
Cole Faust
98142f8446 Change default logging level to WARNING
To avoid spam in the build.

Test: Presubmits
Change-Id: I45db6cd92babda7f83582fd438210cae02c54708
2023-09-12 17:39:47 -07:00
Alice Wang
4f4f965f38 Merge "[avf] Add build-time flag for pVM remote attestation" into main 2023-09-12 07:55:50 +00:00
Jooyung Han
f3c3f40c3b Merge "Run apex_sepolicy_tests for all installed APEXes" into main 2023-09-11 22:30:20 +00:00
Daniel Zheng
d6178ee812 Merge "Turn on fastboot-info for img_from_target_files" into main 2023-09-11 21:05:36 +00:00
Cole Faust
548775d247 Merge "Clean staging dirs in build_image.py" into main 2023-09-11 17:25:19 +00:00
Daniel Zheng
89a85ba933 Turn on fastboot-info for img_from_target_files
Use fastboot-info for fastboot update

Test: m update_package
Bug: 299854419
Change-Id: I9f7c93f8309a2c136ee81cad1391f93b2feb8156
2023-09-11 09:58:32 -07:00
Gurpreet Singh
a2d9728449 Merge "Add OWNERS for sdk extensions version updates" into main 2023-09-11 14:30:11 +00:00
Mårten Kongstad
72c3b38a1d Merge "Revert "Revert "aconfig: @hide generated Java code""" into main 2023-09-11 14:08:55 +00:00
Treehugger Robot
1ee8f4d232 Merge "aconfig: remove unnecessary clones" into main 2023-09-11 12:51:17 +00:00
Mårten Kongstad
65efa27f71 Revert "Revert "aconfig: @hide generated Java code""
This reverts commit c0e8ffea41.

Reason for revert: The detected build breakage was unrelated to the aconfig change. Details in b/297881670#comment11.

Change-Id: Ia32bc2e796ed3de7fa049c2c2db340f4325a2853
2023-09-11 12:17:25 +00:00
Mårten Kongstad
4afc5d7b2b Merge "Revert "aconfig: @hide generated Java code"" into main 2023-09-11 11:06:14 +00:00
Mårten Kongstad
c0e8ffea41 Revert "aconfig: @hide generated Java code"
This reverts commit 379e09d157.

Reason for revert: Seems to have broken the build. Reverting while investigating.

Change-Id: I37c9a065853ef07b1f1c18355205a2f49dd816c4
2023-09-11 11:00:42 +00:00
Mårten Kongstad
fd6cd13947 Merge "aconfig: @hide generated Java code" into main 2023-09-11 10:44:23 +00:00
Mårten Kongstad
b5133f6ad4 aconfig: remove unnecessary clones
Improve performance slightly: remove unnecessary clone operations, or
use references where a new object is not needed.

Bug: 283910447
Test: atest aconfig.test
Change-Id: I75205ffa1723dd2654039baac882c225d2653c86
2023-09-11 11:10:21 +02:00
Mårten Kongstad
379e09d157 aconfig: @hide generated Java code
Flagged APIs are annotated using `@FlaggedApi(Flags.FLAG_NAME)`, where
Flags.FLAG_NAME was auto-generated by aconfig.

When metalava generates an API signature file, it can either

  a) insert the value of the constant ("com.foo.bar.flag_name"), or
  b) insert the name of the constant (FLAG.NAME)

In the case of @FlaggedApi, we want a). This requires that

  x) metlava has access to the definition of the constant while generating the API signature file, and
  y) the constant is not part of the API surface of the API signature file

x) is handled by the build system, y) is handled by the aconfig code
generation.

This CL @hide:s all generated Java code, to make sure it is accessible
within the platform, but never part of any API surface.

Bug: 297881670
Test: atest aconfig.test aconfig.test.java
Change-Id: I328ed1a652a4e5e293f2f4b11f916d29fc2fbcbd
2023-09-11 10:31:46 +02:00
Alice Wang
8d9b3c5d3c [avf] Add build-time flag for pVM remote attestation
Bug: 299604057
Test: m
Change-Id: Iaa1d1934ca05f2fe6d5e1b55a81caa051813e5b5
2023-09-11 07:15:57 +00:00
Jooyung Han
e78ad74b2b Run apex_sepolicy_tests for all installed APEXes
This is to check if unknown file context labels are used in APEX. The
reason why this is done in Makefile is to cover vendor-specific SE
policy and prebuilt APEXes. Note that there's already a validation check
when building APEXes (in Soong), which only checks the generic rules,
not vendor-specific.

Bug: 299391194
Test: atest apex_sepolicy_tests_test
Test: m
Change-Id: I4378b7530e8433d2bf188db95cb5bf791e3bf778
2023-09-11 13:40:52 +09:00
Cole Faust
152cdfab7c Clean staging dirs in build_image.py
build_image.py now accepts a --input-directory-filter-file argument
that contains a list of files to consider from the input directory.
A new, temporary input directory will be created, and only the
considered files will be copied to it.

This removes most of the need for `m installclean`, as old files or
files built manually will no longer end up on the partition.

Bug: 205632228
Test: Presubmits
Change-Id: I07e0bf8e840abf0b51a2fdf67b758905fb3c5b5b
2023-09-08 16:24:26 -07:00
Treehugger Robot
6f0db025d0 Merge "Add per partition timestamp to 16K boot OTA" into main 2023-09-08 22:25:29 +00:00
Treehugger Robot
79955070f3 Merge "Add a build-time flag for LLPVM Changes in AVF" into main 2023-09-08 16:32:53 +00:00
Shikha Panwar
32bd6bdd1a Add a build-time flag for LLPVM Changes in AVF
Bug: 278067832
Test: Builds
Change-Id: I25560797e3a0c71a263135ade0d8689ec92cb177
2023-09-08 14:29:00 +00:00
Gurpreet Singh
3b3e686d8b Add OWNERS for sdk extensions version updates
Our team performs the mainline sdk releases and has to update the sdk
extensions version on every release.

Adding people who are involved in the sdk ext release process so that
changes related to sdk extensions version updates can be approved by
our team.

We will only be approving changes which updates sdk extensions version.

Bug: N/A
Test: N/A
Change-Id: I42755dbae7054161f56e789b57e064084eebc7c7
2023-09-08 13:30:10 +00:00
Alan Stokes
7d63a84642 Merge "Add a build-time flag for DICE Changes in AVF" into main 2023-09-08 12:21:41 +00:00
Firman Prayoga
44d86b138b Merge "Revert "Clean staging dirs in build_image.py"" into main 2023-09-08 04:06:57 +00:00
Firman Prayoga
df21706765 Revert "Clean staging dirs in build_image.py"
Revert submission 2736954-proper_installclean

Reason for revert: Potential culprit for build breakage b/299545346

Reverted changes: /q/submissionid:2736954-proper_installclean

Change-Id: I2b0671bd40b7a74ef02923a777ec899401691454
2023-09-08 01:24:45 +00:00
Cole Faust
420f6978ca Merge changes I1cfdc6f4,I22c91c79 into main
* changes:
  Validate release config with a schema
  Make release_config.bzl match internal
2023-09-07 20:43:04 +00:00
Cole Faust
8a7efafe50 Validate release config with a schema
To more thouroughly check that it's valid.

Test: m nothing
Change-Id: I1cfdc6f4d20e826eb870f5e1e71d0386c589bc9a
2023-09-07 12:32:39 -07:00
Cole Faust
0c869edcd1 Make release_config.bzl match internal
To avoid merge conflicts. These are buildifier errors that will be
fixed in a followup cl.

Test: presubmits
Change-Id: I22c91c796aee16ef16f05471c2ff5221fa41d7b3
2023-09-07 12:29:21 -07:00
Treehugger Robot
05a03698b7 Merge "[zip] Set all entry times before 1980 to 1980-01-01" into main 2023-09-07 18:54:47 +00:00
Alan Stokes
95cfb629d1 Add a build-time flag for DICE Changes in AVF
Bug: 299472719
Test: Builds
Change-Id: I1c9f4085781681e0070a0b9abade5e940a8d6ed6
2023-09-07 17:42:17 +01:00
Cole Faust
c383825953 Merge "Clean staging dirs in build_image.py" into main 2023-09-07 16:41:45 +00:00
Treehugger Robot
f49b9a3371 Merge "Fix $(PROGUARD_DICT_ZIP) builds" into main 2023-09-07 02:27:36 +00:00
Cole Faust
206971459d Fix $(PROGUARD_DICT_ZIP) builds
Previously, when building the proguard dict zip, we got a lot of
warnings like these, and the files were always rebuilt:

```
[ 39% 9/23] Copy symbols with mapping: out/target/common/obj/APPS/HTMLViewer_intermediates/proguard_dictionary
ninja: Missing `restat`? An output file is older than the most recent input:
 output: out/target/common/obj/APPS/HTMLViewer_intermediates/proguard_dictionary.textproto
  input: out/soong/.intermediates/packages/apps/HTMLViewer/HTMLViewer/android_common/e10894d3da5db41239526c9048962355/proguard_dictionary
```

For some reason kati wasn't adding `restat=true` on these ninja rules.
Adding $(4) to KATI_RESTAT fixes it for some reason.

Test: m dist repeatedly doesn't give the restat warnings
Change-Id: Ie02526b3ab127f42bdc2db350d2dc468e7888fe2
2023-09-06 18:13:27 -07:00
Mark Punzalan
0d7190b413 [zip] Set all entry times before 1980 to 1980-01-01
Before this change, entry times before 1980 had the year changed to 1980
but the month/day/hour/minutes/seconds were all kept as-is.

Bug: 277978832
Test: atest zipalign_tests
Change-Id: I9f87e98a6b985002578490b87c654fee86c65d62
2023-09-06 21:44:40 +00:00
Kelvin Zhang
b5661d6ef5 Add per partition timestamp to 16K boot OTA
update_engine requiers per partition timestamp if this partition's build
prop includes build.date.utc.

Test: th
Bug: 293313353
Change-Id: I6bf3de8e855f0830b26bdbe2cbdc78ba891662a7
2023-09-06 13:02:19 -07:00
Cole Faust
48b81e7386 Clean staging dirs in build_image.py
build_image.py now accepts a --input-directory-filter-file argument
that contains a list of files to consider from the input directory.
A new, temporary input directory will be created, and only the
considered files will be copied to it.

This removes most of the need for `m installclean`, as old files or
files built manually will no longer end up on the partition.

Bug: 205632228
Test: Presubmits
Change-Id: I4c82ac7f1ed49a37271755749c8f72afeeb7f295
2023-09-06 11:51:13 -07:00
Treehugger Robot
2462269f1f Merge "Use localtime_r() on Windows too." into main 2023-09-06 18:12:22 +00:00
Zhi Dou
58fd788f51 Merge "aconfig: flag java lib enable optimization" into main 2023-09-06 12:56:46 +00:00
Zhi Dou
deafa792eb aconfig: flag java lib enable optimization
This change adds annotation in the generated code. If the flag is read
only, annotations @com.android.aconfig.annotations.AssumeTrueForR8 or
@com.android.aconfig.annotations.AssumeFalseForR8 will be added in to
the corresponding methods in the interface FeatureFlags, and class
Flags.

Test: atest aconfig aconfig.test.java
Bug: 295328116
Change-Id: Ic1b62a86f0945a5e72ae2c4987cce77fe3f172e9
2023-09-06 12:55:09 +00:00
Nikita Ioffe
9ee5ca6b37 Merge "Propagate device assignment related flags to soong" into main 2023-09-06 12:37:24 +00:00
Treehugger Robot
ed234171f8 Merge "make: HWASan exclude path support" into main 2023-09-06 01:14:12 +00:00
Cole Faust
56e8f7009c Merge "Install LOCAL_SOONG_INSTALL_SYMLINKS even if LOCAL_SOONG_INSTALLED_MODULE isn't set" into main 2023-09-06 00:15:09 +00:00
Elliott Hughes
16caa44298 Use localtime_r() on Windows too.
I don't know why I didn't clean these up when I learned about this
trick.

Test: treehugger
Change-Id: I16e7d92fd79c2dfc006612442bbb924b35a5f213
2023-09-05 21:37:01 +00:00
Cole Faust
c67e769b8c Install LOCAL_SOONG_INSTALL_SYMLINKS even if LOCAL_SOONG_INSTALLED_MODULE isn't set
LOCAL_SOONG_INSTALL_SYMLINKS can now be set by the install_symlink
module type. The install_symlink module type doesn't set
LOCAL_SOONG_INSTALLED_MODULE because make tries to copy that file
around, which doesn't work with a symlink.

Bug: 205632228
Test: built and ran the emulator observed the /system/bin/hwservicemanager symlink is still there
Change-Id: I1ec355b5ae057d0b7fe167674d70da6a4d03f6b5
2023-09-05 14:16:38 -07:00
Treehugger Robot
6c4627369e Merge changes from topic "aconfig-misc-fixes-2023-09-04" into main
* changes:
  aconfig: add invariant checks for `is_fixed_read_only`
  aconfig: re-enable development with cargo
2023-09-05 17:21:22 +00:00
Treehugger Robot
4d779cf4cd Merge "Reland: Add 16k/4k boot OTAs to /system partition" into main 2023-09-05 16:55:20 +00:00
Jared Duke
2674152fdc Merge "Ensure special Dalvik annotations are kept" into main 2023-09-05 15:49:17 +00:00
Nikita Ioffe
7902e5ed63 Propagate device assignment related flags to soong
Bug: 298007909
Test: builds
Change-Id: I0513784c813c856e9cb4674f1e33a7d83e411b02
2023-09-04 22:49:42 +01:00
Mårten Kongstad
21717e744e aconfig: add invariant checks for is_fixed_read_only
Update parsed_flag::verify_fields to verify that the invariant "if a
parsed flag is_fixed_read_only, its permission must be READ_ONLY".

Note: commands.rs will ensure that no value files are used to create an
invalid parsed flag when flag declarations and values are parsed, but
the invariant check should still be added for completeness sake, and to
make sure no invalid hand-crafted test data exists.

Also fix invalid test data found by adding this invariant.

Bug: 298935897
Test: atest aconfig.test
Change-Id: I8cea5c4d28c458525b7034d78ecb34dd09272771
2023-09-04 20:25:59 +02:00
Mårten Kongstad
5cfad6abd2 aconfig: re-enable development with cargo
The integration tests introduced in 906405f5c9 depend on libraries
auto-generated by running aconfig. This works fine for the Android build
system, but breaks `cargo t`.

Disable the tests when using `cargo t` for local development. Cargo can
be used for rapid local development, including running unit tests;
integration tests should be run using atest.

Bug: 298904077
Test: cargo t
Test: atest aconfig.test_mode.test.rust aconfig.prod_mode.test.rust
Change-Id: Ifcd374fa6efdc121cbfd4c4ac4fb43cf9cacc192
2023-09-04 13:22:28 +02:00