Commit Graph

8734 Commits

Author SHA1 Message Date
Daniel Rosenberg
5514a5aaf6 Merge "Add support for different F2FS block sizes" into main 2023-11-30 00:24:46 +00:00
Ted Bauer
df2b347f9f Merge "aconfig: Add exported mode to aconfig Java library generation." into main 2023-11-29 18:23:10 +00:00
Ted Bauer
4a6af78b69 aconfig: Add exported mode to aconfig Java library generation.
This commit adds a third codegen mode, _exported_, in addition to
the existing modes, production and test.

When codegen mode is _exported_, getters are generated _only_ for
flags marked as exported as well. Also the getters always look
up DeviceConfig values at runtime, and have a default value of
false.

This only implements exported mode for Java codegen, follow-up CLs
will support Rust and C++.

Test: atest aconfig.test
Bug: 311152507
Change-Id: Ie39379b40de072180e05d84c76361b24cc0e0d83
2023-11-29 15:44:24 +00:00
Dennis Song
4605c0ec76 Merge "Expose --avb_resolve_rollback_index_location_conflict" into main 2023-11-29 08:54:36 +00:00
Yi-Yo Chiang
6312ff59c1 Merge "releasetools: Deprecate GKI build rules" into main 2023-11-29 06:47:25 +00:00
Dennis Song
79e313972c Expose --avb_resolve_rollback_index_location_conflict
Expose this option at `merge_builds.py` so that this script
can also resolve the conflict AVB rollback index location
while building the vbmeta image.

Bug: 289368551
Test: TreeHugger
Change-Id: I404160ff5d7591cb6a81ed2d2267de1b0e6ac65f
2023-11-29 06:03:44 +00:00
Po Hu
ce867a65b5 Remove APEX from merged target-files package
It was a temp folder created for check_target_files_vintf.py.
But now it is wrongly archived by create_target_files_archive
in merge_target_files.py.
And then such package will cause CheckVintf exception in
ota_from_target_files.py because the APEX folder is created
again but already exists.
So use MakeTempDir to make it removed after check finished.

Test: merge_target_files & ota_from_target_files
Change-Id: Iab54afff2c346a582d5ee5228103fe091e016cd0
2023-11-29 08:54:44 +08:00
Yi-Yo Chiang
faaede0f01 releasetools: Deprecate GKI build rules
We no longer build GKIs from the platform tree.
These build commands were neither used nor maintained anymore, so clean
them up to reduce maintenance effort.

Bug: 229701033
Fix: 229701033
Test: presubmit
Change-Id: Ie882fccd864920289e48366e99a4ebd67e784d0d
2023-11-28 08:54:33 +00:00
Daniel Rosenberg
d9a520c5bd Add support for different F2FS block sizes
F2FS has been expanded to allow for different block sizes. Currently the
block size must be the same as page size, but this may change in the
future. This gives support for 16K while not restricting the ability to
choose a block size that isn't based on the page size later on.

Bug: 279820706
Test: Boot 16k F2FS device
Change-Id: I4e025d83a5e5ad03d89bc80b02fea390c2cbad69
2023-11-27 18:09:18 -08:00
Oriol Prieto Gascó
c96bf2caec Merge "Add is_exported field to aconfig.proto" into main 2023-11-22 13:41:09 +00:00
Wonsik Kim
8a64367cb5 Merge "aconfig: move cache_ as a memeber" into main 2023-11-21 17:57:39 +00:00
Aditya Choudhary
c35ca4de22 Merge "Split filepaths on ' ' in metadata generator" into main 2023-11-21 16:09:23 +00:00
Aditya Choudhary
93cd9f6791 Split filepaths on ' ' in metadata generator
Test: go test

Change-Id: I5063c5a0b93501010b38aea91e8648cf5960ee6e
2023-11-21 14:02:43 +00:00
Treehugger Robot
fdd0c0cdde Merge "Add --boot-image-dir-path arg" into main 2023-11-21 02:09:17 +00:00
Oriol Prieto Gasco
0b9d289e2a Add is_exported field to aconfig.proto
When a flag is exported, it can be read by code built in other containers. By
default flags are not exported. Set this to true if your flag is gating
a public API which may be called from other containers (typically, a
flag used in @FlaggedAPI annotations).

Test: atest aconfig.test
Bug: 311152500
Change-Id: I53e3ed18b96c1518f04172d5933ef96b41ccda7e
2023-11-20 21:30:18 +00:00
Wonsik Kim
d4d952f9d2 aconfig: move cache_ as a memeber
provider_ object relies on cache_ vector to be alive, but the order
of destruction between these objects at exit are not guaranteed.
This can lead to crash at the exit especially on ASAN build.
By putting cache_ as a member it is guaranteed that cache_ is not
destructed until provider_ is destructed.

Test: m ; m AconfigDemoActivity
Test: atest aconfig.test
Test: observe no crash on _hwasan build
Change-Id: If9e23e99c501bf8f06fcab003622948b9e730352
2023-11-20 09:50:52 -08:00
Treehugger Robot
085c016934 Merge "aconfig: rename test flag disabled_rw_2 -> disabled_rw_in_other_namespace" into main 2023-11-17 14:20:25 +00:00
Aditya Choudhary
d5e2717e27 Merge "Handle empty input file case in Metadata generation" into main 2023-11-17 12:19:55 +00:00
Mårten Kongstad
bc76a3d9a0 aconfig: rename test flag disabled_rw_2 -> disabled_rw_in_other_namespace
The flag `disabled_rw_2` is used to verify that aconfig can
auto-generate code for flags in different namespaces. Rename the flag to
`disabled_rw_in_other_namespace` to highlight that it belongs to a
different namespace than the other flags.

This CL is a semantic change only.

Bug: None
Test: atest aconfig.test
Change-Id: Ib82fdce0ca3f7cd56b9b3f80e44fe424a03a2ae4
2023-11-17 09:37:06 +01:00
Inseob Kim
8fc7cf6301 Merge "Add support for auto-generated characteristics RRO" into main 2023-11-17 05:02:28 +00:00
Aditya Choudhary
70fb37ec11 Handle empty input file case in Metadata generation
Bug: 296873595
Test: Manual test (use go test inside tools/metadata/testdata)

Change-Id: Ib48e88bdad4c870be3ca955abfd64ee8dd74f85d
2023-11-16 20:09:25 +00:00
Ted Bauer
ca355c09a2 Merge "Revert^2 "Cache Java codegen'd flags in static member variables."" into main 2023-11-16 18:48:00 +00:00
Ted Bauer
c3073786b3 Revert^2 "Cache Java codegen'd flags in static member variables."
This reverts commit efda207c09.

Reason for revert: this unrevert contains the fix for b/311187402

Test: cargo test
Change-Id: I210aebd30edd864a7c141ede336c12aebf4f1fcd
2023-11-16 12:26:41 -05:00
Aditya Choudhary
432c41ecbf Merge "Refactor metadata tool to support metadata generation for different rules." into main 2023-11-15 22:11:22 +00:00
Treehugger Robot
5003ff741a Merge "Move signing related options to a shared place" into main 2023-11-15 18:32:40 +00:00
Treehugger Robot
f0e5c7e321 Merge "Allow ParseOptions to compose multiple option parsers easily" into main 2023-11-15 18:32:00 +00:00
Aditya Choudhary
a96ce3223a Refactor metadata tool to support metadata generation for different rules.
Bug: 296873595
Test: Manual test (use go test inside tools/metadata/testdata)

Change-Id: I881fd76213ec78001f9e12ed2fbc860d1503a364
2023-11-15 18:05:11 +00:00
Ted Bauer
a06cff1048 Merge "Revert "Cache Java codegen'd flags in static member variables."" into main 2023-11-15 18:04:10 +00:00
Aditya Choudhary
4277d617f2 Merge "Add metadata generator tool for test spec metadata generation. Bug: 296873595 Test: Manual test (use go test inside tools/metadata/testdata)" into main 2023-11-15 17:13:28 +00:00
Ted Bauer
efda207c09 Revert "Cache Java codegen'd flags in static member variables."
This reverts commit afe55106e5.

Reason for revert: causes a bug b/311187402

Change-Id: Ic3f56fbb66a6412cd702cebd9e4247032f950324
2023-11-15 16:52:02 +00:00
Jihoon Kang
3b12b769e4 Merge "Set BUILD_FROM_SOURCE_STUB=true for finalization" into main 2023-11-15 16:29:12 +00:00
Aditya Choudhary
51f97c1963 Add metadata generator tool for test spec metadata generation.
Bug: 296873595
Test: Manual test (use go test inside tools/metadata/testdata)

Change-Id: I404b57224828149f26bcf4deadb662f513886231
2023-11-15 16:08:14 +00:00
Jihoon Kang
59c61acf64 Set BUILD_FROM_SOURCE_STUB=true for finalization
Build from text stub feature was initially implemented to improve build
performance and may be unstable for api finalization, as the stubs
generated from api signature files miss some methods, which may cause
backward compatibility issues. Therefore, this change disables building
from text stub for api finalization.

Test: build/tools/finalization/finalize-aidl-vndk-sdk-resources.sh and inspect generated ninja file to verify that the stubs are generated from source Java files.
Bug: 310279899
Change-Id: I9d374e973788bc97514815f64eeb949a94a97647
2023-11-15 00:38:41 +00:00
Kelvin Zhang
68252b801a Move signing related options to a shared place
Move OTA signing flags to payload_signer.py so that we can re-use these
flags in multiple binaries.

Test: th
Bug: 293313353
Change-Id: I44f9910cee37c449397e174a5784f747ec9fb0d6
2023-11-14 12:41:58 -08:00
Kelvin Zhang
c68c6b9530 Allow ParseOptions to compose multiple option parsers easily
There are certain options which we need to share in multiple binaries,
for example, the signer options. Current options parsing function only
accepts 1 extra option handler, which is inflexible. Extend it to take a
list of extra option handlers.

Currently, to add a new CLI flag, caller must append the flag name to
`extra_long_opts`, then pass an extra option handler which can handle
that option. Define a new dataclass which contains both the CLI flag
name and the code to handle that flag for better composition.

Test: th
Bug: 293313353
Change-Id: I758db66dfd95934f5b2701454d97bfe7d37dc16d
2023-11-14 12:41:56 -08:00
Ted Bauer
afe55106e5 Cache Java codegen'd flags in static member variables.
By caching flag values directly in member variables instead of caching
a HashMap and accessing that, flag reads avoid `hashCode()`, map
lookup, and Boolean.parse runtime costs. Flag reads are turning out
to have performance problems in hot paths, so this should help to
alleviate that.

Bug: 309625014
Test: m
Change-Id: I923bf6af2ae3fcbbf2fee7126b492a47cd6049ad
2023-11-14 12:02:01 -05:00
Sundong Ahn
1930fd1f67 Add --boot-image-dir-path arg
The --boot-image-dir-path arg is added to use the boot.img in Android
Common Kernel (ACK) when merging.

Test: merge_target_files.py with --boot-image-dir-path and without
--boot-image-dir-path
Bug: 309745179

Change-Id: Ia164a9fc7e4761ad7efb871c0b6054195e9e4bda
2023-11-14 13:11:59 +09:00
Justin Yun
136fa83d4e Merge "Define BOARD_API_LEVEL and BOARD_API_LEVEL_FROZEN" into main 2023-11-13 23:40:06 +00:00
Treehugger Robot
534b47bc8e Merge "Require scl files in ExecutionModeScl" into main 2023-11-13 21:39:12 +00:00
Cole Faust
6309234411 Require scl files in ExecutionModeScl
Also remove json from scl file builtins, as it's not in bazel.

Bug: 309686282
Test: Presubmits
Change-Id: I6227c5dc14922b4682380254b4716b4ae38c47b9
2023-11-13 11:47:30 -08:00
Zi Wang
2b09495e2a Merge "Update test: true to mode: "test"" into main 2023-11-13 19:23:55 +00:00
Justin Yun
23d52435f3 Define BOARD_API_LEVEL and BOARD_API_LEVEL_FROZEN
BOARD_API_LEVEL and BOARD_API_LEVEL_FROZEN are set by the release
flags.
BOARD_API_LEVEL sets ro.board.api_level that shows the API level of
the vendor API surface.
BOARD_API_LEVEL_FROZEN sets ro.board.api_frozen that shows if the
ro.board.api_level is finalized.

Bug: 295269182
Test: getprop ro.board.api_level
Change-Id: Ie57c57b6c9f1fc0c98968195843059a48da8e512
2023-11-10 16:31:04 +09:00
Zi Wang
0ab8a96dcf Update test: true to mode: "test"
Test: CI

Bug: 309990433
Change-Id: I31644510002560fd81c41fbe37f0872fc1135390
2023-11-09 16:33:39 -08:00
Treehugger Robot
124101862b Merge "Prevent using symlinks to starlark files" into main 2023-11-10 00:00:41 +00:00
Cole Faust
ccd26808af Prevent using symlinks to starlark files
Symlinks are frequently confusing / a source of bugs. They also don't
provide much utility over just loading the other file and re-exporting
its symbols, so recommend doing that instead.

Test: Presubmits
Change-Id: Ie3052ebc0add77f1746d6321fbdf7bc15df9819b
2023-11-09 14:32:55 -08:00
Dennis Shen
05585a9fa3 Merge changes from topic "rust_caching" into main
* changes:
  aconfig: Cache flag values for rust codegen
  aconfig: Cache flag values for c/c++ codegen
2023-11-09 20:03:42 +00:00
Dennis Shen
737b8e30a1 aconfig: Cache flag values for rust codegen
Bug: b/307336730
Test: atest aconfig.test
Change-Id: I01741a4205cbe4e9b007f43b043505bcbcf05cd8
2023-11-09 15:15:54 +00:00
Abhishek Nigam
1dfca46094 Revert "Move more non-AB code to separate files"
This reverts commit 513b86e5c2.

Change-Id: I6aae60642772a052404eb1773966b2e637864bbc
2023-11-08 22:29:18 +00:00
Abhishek Nigam
b148ac22f8 Revert "Fix non-AB ota generation failure"
This reverts commit 782b752889.

bug: 308932171
tested: locally generated and applied ota on nonab device
Change-Id: I67b26be01d6240b2cb332e13bc7c7959de128755
2023-11-08 22:29:18 +00:00
Dennis Shen
96506f4349 aconfig: Cache flag values for c/c++ codegen
Bug: b/307336730
Test: atest aconfig.test
Change-Id: Id604cf154d09a48f657277af6d799f0e17bc4e93
2023-11-08 19:19:35 +00:00