Commit Graph

84170 Commits

Author SHA1 Message Date
Jeongik Cha
05210f96b3 BUILD_NUMBER and BUILD_HOSTNAME doesn't affect kati regeneration
* Extract BUILD_NUMBER, BUILD_HOSTNAME to file to avoid kati change
* Handle FILE_NAME_TAG_PLACEHOLDER string in dist in build/make/packaging/distdir.mk

Test: check if kati isn't invoked even though BUILD_NUMBER, BUILD_HOSTNAME
  is changed
Test: m && m, and check if the second m is no-op
Bug: 278060169
Change-Id: I1b37760242853c1a145bad255d0bb15524234b25
Merged-In: I1b37760242853c1a145bad255d0bb15524234b25
2023-05-23 07:14:22 +09:00
Jeongik Cha
07cfdab76a Merge "Introduce dist-for-goals-with-filenametag" 2023-05-22 02:25:45 +00:00
Joe Onorato
2f1f4c25f7 Merge "Revert "Define release flags in starlark instead of make"" 2023-05-20 01:52:53 +00:00
Treehugger Robot
c179330edb Merge "16k: Add 16K variant kernel/ramdisk build targets" 2023-05-20 00:11:16 +00:00
Kelvin Zhang
d8eac1cb9a 16k: Add 16K variant kernel/ramdisk build targets
This adds two new build variables, BOARD_KERNEL_PATH_16K and
BOARD_KERNEL_MODULES_16K . BOARD_KERNEL_PATH_16K will be copied
to output directory as is.

BOARD_KERNEL_MODULES_16K is a list of modules which will be packed into a
ramdisk and added to output dir. This allows cuttlefish to switch to 16K
kernel at runtime without adding too much overhead, as ramdisk building
takes very little time.

Bug: 253827893
Test: m kernel_16k ramdisk_16k

Change-Id: Ibb36ba4c3399b3f193795aea6597a4aa535f1bec
2023-05-19 13:08:52 -07:00
Kelvin Zhang
863cba2c1d Merge "Revert "16k: Add 16K variant kernel/ramdisk build targets"" 2023-05-19 20:05:00 +00:00
Kelvin Zhang
6572bee96b Revert "16k: Add 16K variant kernel/ramdisk build targets"
This reverts commit 1f04dfaba2.

Reason for revert: breaks build on ab/10170403

Change-Id: I92e064ab07b02e4f17a22b113032eaa4d9f131cc
2023-05-19 20:03:19 +00:00
Joe Onorato
7b578d32f9 Revert "Define release flags in starlark instead of make"
This reverts commit c113a70221.

Doesn't work with OUT_DIR hard coded outside the tree.

Test: OUT_DIR=/source/whatever m
Bug: 283278495
Change-Id: I8cc74a9ec936b9c7502b97b9b7a4fd731988c407
2023-05-19 09:22:42 -07:00
Kelvin Zhang
ab9fb56784 Merge "16k: Add 16K variant kernel/ramdisk build targets" 2023-05-19 00:00:32 +00:00
Kelvin Zhang
1f04dfaba2 16k: Add 16K variant kernel/ramdisk build targets
This adds two new build variables, BOARD_KERNEL_PATH_16K and
BOARD_KERNEL_MODULES_16K . BOARD_KERNEL_PATH_16K will be copied
to output directory as is.

BOARD_KERNEL_MODULES_16K is a list of modules which will be packed into a
ramdisk and added to output dir. This allows cuttlefish to switch to 16K
kernel at runtime without adding too much overhead, as ramdisk building
takes very little time.

Bug: 253827893
Test: m kernel_16k ramdisk_16k
Change-Id: I4e49c727e5ed07a915145897cb987f29b0fe68e2
2023-05-18 20:12:09 +00:00
Dan Albert
d230125270 Merge "Adapt to gdbrunner packaging." 2023-05-18 18:43:22 +00:00
Treehugger Robot
4d4ffb28f4 Merge "Don't build automatic RROs for tests" 2023-05-18 06:59:24 +00:00
Treehugger Robot
cedf6314bc Merge "Define release flags in starlark instead of make" 2023-05-18 05:22:47 +00:00
Colin Cross
93ff702df2 Don't build automatic RROs for tests
Automatic RROs don't make sense for tests, the tests can't rely on
overlays being installed on product or vendor.  Creating the RROs
causes a race during builds that build both droid and device-tests
goals, as the RROs may be installed to the vendor directory as a
dependency of the device-tests goal before or after the vendor image
is packaged as a dependency of the droid goal.  If the RROs are
installed first and the vendor image is low on space it may result
in an out-of-space error.

Bug: 282885159
Test: Rule to build $OUT/vendor/overlay/SystemUITests__*__auto_generated_rro_vendor.apk no longer exists
Change-Id: I760355ffb1818e91c02a98473312f9f21c149361
Merged-In: I760355ffb1818e91c02a98473312f9f21c149361
2023-05-18 03:14:01 +00:00
Colin Cross
ede2d8e2ec Merge "Build java fuzz targets with one build target instead of needed a host target and device" 2023-05-18 02:51:43 +00:00
Treehugger Robot
4266df817d Merge "aconfig: Add first iteration of cpp codegen to aconfig" 2023-05-17 19:37:28 +00:00
Wei Li
eb035dc89f Merge "Some changes to support SBOM generation for b build unbundled APEXs." 2023-05-17 19:19:47 +00:00
Cory Barker
4b0112209b Build java fuzz targets with one build target instead of needed a host target and device
(cherry picked from commit 12727fceab)

Test: built locally and verified fuzzers with Jazzer
Change-Id: Icb1ecef1920fa1ba6d4492acdd3b37093964eb84
2023-05-17 19:06:26 +00:00
Baligh Uddin
82d450e501 Merge "Add upstream package of a prebuilt fork package, which will have the package information from the METADATA file." 2023-05-17 18:48:16 +00:00
Dennis Shen
1dc9ad4662 aconfig: Add first iteration of cpp codegen to aconfig
The general idea to reuse java codegen's very neat tiny template idea.
For generated cpp code, it is in the form of a collection of classes
inside a namespace. The reason we choose a collection of classes rather
than a collection of static functions is because gmock test technology
only supports mocking virtual method.

Bug: b/279483801
Test: atest aconfig.test
Change-Id: I9ba00667437ff7c3e147ff2828171fc95528bebf
2023-05-17 14:57:58 +00:00
Wei Li
16e7aa3c2e Add upstream package of a prebuilt fork package, which will have the package information from the METADATA file.
Test: CIs
Test: lunch barbet-user && m sbom
Change-Id: Ic8eb42c369de8c94c7977b9631ff4b9084dfef01
2023-05-17 01:38:05 +00:00
Joe Onorato
7833547153 Merge "Use the namepace as the java package name in aconfig and call the class "Flags"" 2023-05-16 23:13:52 +00:00
Dan Albert
426ac69cbf Adapt to gdbrunner packaging.
Similar to
https://android-review.googlesource.com/c/platform/build/+/2403120.
The directory structure of //development/python-packages/gdbrunner
needs to change to be able to export type info to importers, and this
needs to adapt to keep gdbclient working.

Bug: None
Test: gdbclient.py --help
Change-Id: I8127ec7beae2a7840283be25ee236a8e2af48cae
2023-05-16 22:59:55 +00:00
Treehugger Robot
fce28c1b97 Merge "Allow source build to be an extracted target_files" 2023-05-16 22:56:29 +00:00
Cole Faust
c113a70221 Define release flags in starlark instead of make
So that we have a more restricted enviornment for this new configuration
axis that can also be imported into other tools more easily.

Test: Manually
Change-Id: Iabce1919f6d6f57a256ae144784af7c47622b54d
2023-05-16 15:46:55 -07:00
Treehugger Robot
787629c95d Merge "Note ability to annotate dependencies." 2023-05-16 22:34:02 +00:00
Treehugger Robot
e5e5642ba5 Merge "Strip values of soong_config_set calls" 2023-05-16 21:59:40 +00:00
Treehugger Robot
bb404f2b27 Merge "Support custom payload signer in merge_ota" 2023-05-16 21:39:58 +00:00
Joe Onorato
0c4ef0f88c Use the namepace as the java package name in aconfig and call the class "Flags"
Test: aconfig.test
Change-Id: I15032262aad2c80d1ec1bd8fa81664a846b307ec
2023-05-16 14:27:25 -07:00
Cole Faust
76c2fcb90e Strip values of soong_config_set calls
It's a common mistake in make to have leading/trailing whitespace
on values, so strip it out before assigning to variables.

Bug: 282824346
Test: Presubmits
Change-Id: If4d3b86795c05ba32006af3af8031ca083a4c54b
2023-05-16 10:53:05 -07:00
Bob Badour
2191b9db82 Note ability to annotate dependencies.
Test: m droid dist
Change-Id: If3a0d032caf7801196117d7c4d4d21cb67c826bf
2023-05-16 10:52:12 -07:00
Treehugger Robot
d4a32797c9 Merge changes from topic "aconfig-cleanup-1"
* changes:
  aconfig: cache: reject empty namespace and name fields
  aconfig: remove calls to unwrap (outside tests)
  aconfig: rename enum Format -> enum DumpFormat
2023-05-16 16:33:10 +00:00
Mårten Kongstad
e17ba5f423 aconfig: cache: reject empty namespace and name fields
Add invariant to struct Cache: all flag namespace and name fields added
to the cache are required to be non-empty strings.

Bug: 279485059
Test: atest aconfig.test
Change-Id: I5ff34ec8feccc19e52241d4221fc87699518f3ff
2023-05-16 12:52:43 +02:00
Mårten Kongstad
6b9e382eed aconfig: remove calls to unwrap (outside tests)
Do not call unwrap outside tests: replace existing uses with Result
return values or infallible alternatives.

Bug: 279485059
Test: atest aconfig.test
Change-Id: Ie5919b704b23a0f96bbef84ffbe9270d667cecd8
2023-05-16 11:19:58 +02:00
Mårten Kongstad
ba94e6a6b2 aconfig: rename enum Format -> enum DumpFormat
Rename enum Format to enum DumpFormat to make it more apparent what it
refers to.

Bug: 279485059
Test: atest aconfig.test
Change-Id: I869be020b69618b036fa05247f155d9e35ff85e2
2023-05-16 11:00:16 +02:00
Satoshi Futenma
1f93ce20c5 Support custom payload signer in merge_ota
Add options to handle custom payload signer as it is required in
merge_ota.py as well if the original OTA packages are signed by
the signer.

If input is only one OTA, clone apex_info.pb to the target.

Use common.ZipWriteStr instead of zipfile.writestr, this ensures
that the same permission for the entries as done by
ota_from_target_files.

Bug: 282189563
Test: manual. pass single OTA to merge_ota, with same signing
    parameters as originally used. Confirm that output zip is
    binary identical to input.
Change-Id: I3b926b8cd69bc74dff6ccf8b5ccc72bedffcac6f
2023-05-16 10:21:05 +02:00
Joe Onorato
7f1171e493 Merge "Add aconfig rules" 2023-05-16 02:49:45 +00:00
Treehugger Robot
1da7ff838b Merge "Add merge_ota to otatools" 2023-05-15 22:52:50 +00:00
Joe Onorato
0d1a98106a Add aconfig rules
Test: treehugger
Change-Id: I456f87894926287a91d42e738016ca8052cd5039
2023-05-15 15:38:49 -07:00
Treehugger Robot
d28f557324 Merge "Add support for packaging modules.load.charger into vendor_[kernel_]boot" 2023-05-15 22:24:11 +00:00
Treehugger Robot
48a8afe677 Merge "Remove gpl_source.tgz" 2023-05-15 21:36:32 +00:00
Kelvin Zhang
b97416e09e Allow source build to be an extracted target_files
common.LoadInfoDict() already supports loading from extracted
directories, just use it.

Test: generate an incremental OTA where both inputs are directories
Bug: 227848550
Bug: 277028723
Change-Id: Iedba831bb4d65d971df6b2ac95279e3234a02e2f
2023-05-15 11:13:26 -07:00
Mårten Kongstad
7890fa3e84 Merge "aconfig: use bail! and ensure! where applicable" 2023-05-15 13:54:07 +00:00
Mårten Kongstad
e66b89f635 aconfig: use bail! and ensure! where applicable
The Android Rust style guide recommends anyhow's bail! and ensure!
macros where possible. Update the code accordingly.

Bug: 279485059
Test: atest aconfig.test
Change-Id: I7db7cc2d8ec15e1d3450657ad000e879adb19e08
2023-05-15 11:10:12 +02:00
Satoshi Futenma
6d56d45f96 Add merge_ota to otatools
Bug: 282189563
Test: manual, m otatools-package, confirm that merga_ota is
    present in otatools.zip
Change-Id: I40c3866bfb016aa1dec1c6dc2d95c66deb1e61ea
2023-05-15 09:06:02 +02:00
Treehugger Robot
b87fd73330 Merge "Use non-next NetworkStack" 2023-05-12 23:02:19 +00:00
Mårten Kongstad
71f9dabe47 Merge changes from topic "aconfig-part-5"
* changes:
  aconfig: follow Java conventions for Java file paths
  aconfig: separate flag declarations and flag values
2023-05-12 12:21:02 +00:00
Treehugger Robot
8d5d2257d9 Merge "parallelize add_partition_calls only if output_zip is None" 2023-05-12 10:56:23 +00:00
Mårten Kongstad
d42eeeba3d aconfig: follow Java conventions for Java file paths
Update codegen_java to write the generated Java file(s) to
"java/package/File.java" instead of just "File.java".

Also generalize codegen_java::GeneratedFile to commands::OutputFile in
preparation for the upcoming C++ and Rust codegen.

Also change Java package name to 'com.android.internal.aconfig'.

Bug: 279485059
Test: atest aconfig.test
Change-Id: I13978697e35010fe6be8637aa495d4b852dbed7e
2023-05-12 10:01:00 +02:00
Mårten Kongstad
fa23d2993b aconfig: separate flag declarations and flag values
Simplify how aconfig configurations work: remove the ability to set flag
values based on build-id.

The aconfig files now some in two flavours:

  - flag declaration files: introduce new flags; aconfig will assign the
    flags a hard-coded default value (disabled, read-write)

  - flag value files: assign flags new values

`aconfig create-cache` expects flags to be declared exactly once, and
for their values to be reassigned zero or more times.

The flag value files are identical what used to be called override
files.

Also, remove the now obsolete build-id parameter: this was used to
calculate default values before applying overrides, and is no longer
needed.

Also rename a few more structs and functions to be closer to the .proto
names. This will make it easier to use the generated proto structs
directly, and get rid of the hand-crafter wrappers.

Bug: 279485059
Test: atest aconfig.test
Change-Id: I7bf881338b0567f932099ce419cac457abbe8df8
2023-05-12 08:50:49 +02:00