Commit Graph

8509 Commits

Author SHA1 Message Date
Joe Onorato
11a113676a Merge "Define release flags in starlark instead of make" am: 593bef7150
Original change: https://android-review.googlesource.com/c/platform/build/+/2617915

Change-Id: I97dc13cec1e261baa7efe56d5a8b880f262956a8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-10 03:49:13 +00:00
Joe Onorato
593bef7150 Merge "Define release flags in starlark instead of make" 2023-06-10 03:21:22 +00:00
Joe Onorato
d47d8e8636 Merge "Fix build breakage" am: ed1e3b50f3 am: d1ac3e6971 am: d433bbae25
Original change: https://android-review.googlesource.com/c/platform/build/+/2618395

Change-Id: I05f346c5292e0c319ea92c5f6c7d9b879de5aa0b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-09 23:04:37 +00:00
Joe Onorato
d1ac3e6971 Merge "Fix build breakage" am: ed1e3b50f3
Original change: https://android-review.googlesource.com/c/platform/build/+/2618395

Change-Id: I7db1ffc93f713da34a301da04418b7b5a6afd86e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-09 21:34:34 +00:00
Treehugger Robot
04d9f1e0de Merge "Supply apex_info.pb as parameter to delta_generator if file exists" am: df2af7c840 am: b2dec242f8 am: 8fdc4db774
Original change: https://android-review.googlesource.com/c/platform/build/+/2617618

Change-Id: I4c142f415bbce52f08ab2c6051420ea96356da2e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-09 21:33:07 +00:00
Joe Onorato
ed1e3b50f3 Merge "Fix build breakage" 2023-06-09 20:57:36 +00:00
Joe Onorato
8b51859317 Fix build breakage
error: build/make/tools/aconfig/Android.bp:69:1: module "aconfig.test.java" variant "android_common": path dependency ":aconfig.test.flags{.srcjar}": unsupported device_config_definitions module reference tag ".srcjar"

Test: m aconfig.test.java
Change-Id: I3df980b06796c90dafee3940fe52809748305950
2023-06-09 13:39:41 -07:00
Cole Faust
386b3746ce 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 (this time also tested setting OUT_DIR outside of the tree)
Change-Id: I01d90e06e45cba756156af16f63e04f575877263
2023-06-09 13:10:05 -07:00
Treehugger Robot
b2dec242f8 Merge "Supply apex_info.pb as parameter to delta_generator if file exists" am: df2af7c840
Original change: https://android-review.googlesource.com/c/platform/build/+/2617618

Change-Id: I9751859fb7114e3cc216860bb2cb951fcefe74fa
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-09 20:04:17 +00:00
Treehugger Robot
df2af7c840 Merge "Supply apex_info.pb as parameter to delta_generator if file exists" 2023-06-09 19:23:31 +00:00
Zhi Dou
f72740212f Merge "aconfig: add Java integration tests" am: 1120cb8aa4 am: e6bcd369a9 am: b6108695f0
Original change: https://android-review.googlesource.com/c/platform/build/+/2607427

Change-Id: I9b91945b743d13363c20097dff41b04e4a1fbb7d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-09 15:54:06 +00:00
Zhi Dou
e6bcd369a9 Merge "aconfig: add Java integration tests" am: 1120cb8aa4
Original change: https://android-review.googlesource.com/c/platform/build/+/2607427

Change-Id: I8f1a4d78fdcc297f719e10b9364bb16d266727fc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-09 14:21:44 +00:00
Håkan Kvist
ddb968dce0 Supply apex_info.pb as parameter to delta_generator if file exists
Supply generator with parameter --apex_info_file=META/apex_info.pb
if the file exists.

This ensures that apex_info is included in payload header.

This is identical to the behaviour of brillo_update_payload
which is not being used since:
Invoke delta_generator directly
fcd731e3d6

Issue: 286253576
Test: Manual, confirm that apex_info is included in payload header
Change-Id: Ic096c5f8966beec8686f918aba462c955290a6c5
2023-06-09 12:46:58 +02:00
Mårten Kongstad
9c59c31499 aconfig: add Java integration tests
Add integration tests for Java. This test setup verifies that

  - the build system calls aconfig to generate a Java library
  - the Java test compiles against the auto-generated library
  - the auto-generated code returns expected values

Similar integration tests for C++ and Rust will be added in follow-up
CLs.

Note: the build does not currently support specifying that
tests/*.values should be applied, so the test flags will all be assigned
the defaults. A later CL will fix this.

Bug: b/283911467
Test: atest aconfig.test aconfig.test.java
Change-Id: Ia365e209261f4935a23e2dac9ef0ab5b60f76e52
2023-06-09 09:59:21 +02:00
Treehugger Robot
ecc527eb52 Merge "fixup! Allow ota_from_target_file to work entirely on directories" am: d60dbf9773 am: 980458ae17 am: 08fc8461a1
Original change: https://android-review.googlesource.com/c/platform/build/+/2617616

Change-Id: I77011348d3b32a35217b804feb9f4ea38fcffea9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-09 00:46:53 +00:00
Treehugger Robot
980458ae17 Merge "fixup! Allow ota_from_target_file to work entirely on directories" am: d60dbf9773
Original change: https://android-review.googlesource.com/c/platform/build/+/2617616

Change-Id: I093dccc54174e68f282d9a0f79e6a5ba7f2555ea
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-08 23:08:30 +00:00
Treehugger Robot
d60dbf9773 Merge "fixup! Allow ota_from_target_file to work entirely on directories" 2023-06-08 22:20:30 +00:00
Mårten Kongstad
35f8c6b0a1 Merge changes from topic "aconfig-rename-namespace-to-package" am: ec5da68dbd am: 5c4398ba52 am: 7446093e9b
Original change: https://android-review.googlesource.com/c/platform/build/+/2617393

Change-Id: Ia6cc72cf50115bac6c5816cd786dde5156e7ba43
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-08 17:39:13 +00:00
Mårten Kongstad
5c4398ba52 Merge changes from topic "aconfig-rename-namespace-to-package" am: ec5da68dbd
Original change: https://android-review.googlesource.com/c/platform/build/+/2617393

Change-Id: Ia24fee81a09ad3dd8bbecabfab38359b1d6cceb5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-08 16:13:24 +00:00
Mårten Kongstad
ec5da68dbd Merge changes from topic "aconfig-rename-namespace-to-package"
* changes:
  aconfig: include namespace in create-device-config-defaults
  aconfig: improve code diffs in tests
  aconfig: add namespace field to flag_declaration and parsed_flag
  aconfig: allow dots in package fields
  aconfig: rename namespace -> package
2023-06-08 15:12:10 +00:00
Håkan Kvist
b8982fc538 fixup! Allow ota_from_target_file to work entirely on directories
The following log message would always be shown:
WARNING : Cannot find care map file in target_file package

Break out of the care map copying loop as soon a file has been
copied. This ensures that else statement is only executed if no
care map file exists.

Test: Manual. Run ota_from_target_files with target-zip with and
    without care map files.
Change-Id: Ia196aa182ed81f21424317a7005f5634866b4b99
2023-06-08 15:17:57 +02:00
Mårten Kongstad
202102f7be aconfig: include namespace in create-device-config-defaults
Update the output format of create-device-config-defaults to include the
flag's namespace. Also change the delimiters. The new format is

  <namespace>:<package>.<flag-name>=[enabled|disabled|

Bug: 285468565
Test: atest aconfig.test
Change-Id: I9b4ca1611cca8528dc341fc12812b614c86f6c08
2023-06-08 11:28:09 +02:00
Mårten Kongstad
b025507857 aconfig: improve code diffs in tests
Implement a helper function to make it easier for unit tests to diff
(and find the first difference) generated code and expected code.

Bug: 283910447
Test: atest aconfig.test
Change-Id: I460e8fbf05e8f33e8a62ecef67b2d9d77051e876
2023-06-08 11:27:59 +02:00
Mårten Kongstad
066575b95f aconfig: add namespace field to flag_declaration and parsed_flag
Add a new field to the proto messages flag_declaration and parsed_flag.

The new field will be used verbatim as a parameter when calling
DeviceConfig.getBoolean to read the value of a READ_WRITE flag. See the
DeviceConfig API for more info.

Note: not to be confused with the old namespace field, which has been
renamed to package.

Bug: 285211724
Test: atest aconfig.test
Change-Id: I2181be7b5e98fc334e5277fb5f7e386f1fe0b550
2023-06-08 11:27:57 +02:00
Mårten Kongstad
fbd71e2773 aconfig: allow dots in package fields
Allow package fields to include dots.

Update the generated code based on the package name: if the package name
is com.android.example:

  - java: package com.android.example; ...
  - C++: namespace com::android::example { ... }
  - Rust: mod com { mod android { mod example { ... } } }

Also, update examples to use dots in the package fields.

Also, remove unnecessary #include from the auto-generated C++ code: the
header should not include itself.

Bug: 285000854
Test: atest aconfig.test
Change-Id: I8a5352e25c64c34dee0725202a1b7c9957819de8
2023-06-08 11:25:43 +02:00
Devin Moore
d10e1e46b7 Merge "Add new script to analyze static/shared library usage" am: 9bf17fd9dd am: 0d3d349885 am: df53f92fd6
Original change: https://android-review.googlesource.com/c/platform/build/+/2590128

Change-Id: Ic48dc344b6c31db45bd3f72d1d2716c86bbe9921
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-07 22:20:47 +00:00
Devin Moore
0d3d349885 Merge "Add new script to analyze static/shared library usage" am: 9bf17fd9dd
Original change: https://android-review.googlesource.com/c/platform/build/+/2590128

Change-Id: I6fced63d717ea4b5cfff7fff0a4e00e0e3a6deba
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-07 20:55:17 +00:00
Devin Moore
9bf17fd9dd Merge "Add new script to analyze static/shared library usage" 2023-06-07 20:18:09 +00:00
Treehugger Robot
39113c0584 Merge "Resolve test crash in build/make/tools/compliance." am: 69227ff9ae am: 295a2df7cd am: 9c1ac01d12
Original change: https://android-review.googlesource.com/c/platform/build/+/2619070

Change-Id: I391d522aad017d1d72b5274cd643062d00ef84b4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-07 20:07:44 +00:00
Treehugger Robot
295a2df7cd Merge "Resolve test crash in build/make/tools/compliance." am: 69227ff9ae
Original change: https://android-review.googlesource.com/c/platform/build/+/2619070

Change-Id: I28a58137fe08032a88da937a8bb412eeb0766dc6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-07 18:19:52 +00:00
Jingwen Chen
376b6b6378 Resolve test crash in build/make/tools/compliance.
Test: m compliance_sbom
Test: go test ./...
Fixes: 285157766
BUG: 282746032
Change-Id: I5cc39f45f7ac3d9c574e2ebaa7fdfda864cb109d
2023-06-07 13:06:13 +00:00
Mårten Kongstad
9fb58965af aconfig: rename namespace -> package
What used to be referred to as a namespace is now called a package.

This CL is a semantic change only.

Bug: 285000854
Test: m nothing
Test: atest aconfig.test
Change-Id: If3fca67c415af75b44f316e16666b97089407069
2023-06-07 14:53:04 +02:00
Treehugger Robot
161b0fab75 Merge changes from topic "aconfig-gen-device-config-files" am: 2bb714ed2b am: 2960cffd7b am: 167b26de05
Original change: https://android-review.googlesource.com/c/platform/build/+/2613433

Change-Id: I22dd2fddc3f0e5ecdc8ac8c8ffb01289d2103f6b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-07 11:58:12 +00:00
Treehugger Robot
2960cffd7b Merge changes from topic "aconfig-gen-device-config-files" am: 2bb714ed2b
Original change: https://android-review.googlesource.com/c/platform/build/+/2613433

Change-Id: I06f9c490eea3026808db32a80b3f2f2e2909050f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-07 10:35:09 +00:00
Treehugger Robot
2bb714ed2b Merge changes from topic "aconfig-gen-device-config-files"
* changes:
  aconfig: add create-device-config-sysprops command
  aconfig: add create-device-config-defaults command
  aconfig: add test utilities
  aconfig: cache.rs: remove unnecessary use statements
  aconfig: give commands ownership of all arguments
2023-06-07 09:50:23 +00:00
Treehugger Robot
54eca11796 Merge "Use python based unzip function for portability" am: 3cda7834aa am: 976a36fb8e am: 60b74959a8
Original change: https://android-review.googlesource.com/c/platform/build/+/2615433

Change-Id: I73b5e85885ee22eaa5eb98623715abcaea17489e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-06 20:29:33 +00:00
Treehugger Robot
e7ae241f2e Merge "Always set a avb salt for hermetic build" am: fff48d788f am: 4c357806a3 am: f9fb104f9e
Original change: https://android-review.googlesource.com/c/platform/build/+/2613794

Change-Id: Ie529f3b071ba7def82cb963ea1a99eb4ead0f334
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-06 20:27:20 +00:00
Treehugger Robot
976a36fb8e Merge "Use python based unzip function for portability" am: 3cda7834aa
Original change: https://android-review.googlesource.com/c/platform/build/+/2615433

Change-Id: Id10787e68ac4a0a6ea0ada47a24f46dd7e128915
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-06 19:08:34 +00:00
Treehugger Robot
4c357806a3 Merge "Always set a avb salt for hermetic build" am: fff48d788f
Original change: https://android-review.googlesource.com/c/platform/build/+/2613794

Change-Id: I3feffd1c65f8e92e7c6a6c6e0481e206b28ec8dd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-06 19:07:16 +00:00
Kelvin Zhang
7c9205b008 Use python based unzip function for portability
Bug: 283033491
Test: th
Change-Id: Ief86b55c1d4a14220a0fb593c583a721d59cf86c
2023-06-05 15:54:12 -07:00
Devin Moore
bd13e63e99 Add new script to analyze static/shared library usage
Parses module-info.json, gathers stats on how many times each library is
included shared or statically.

Can print a list of libraries that would be a candidate for changing
from static to shared or visa versa.

Test: m
Bug: 280829178
Change-Id: I4bbffbd673ab2e08c69d0ab6e68402be77c9ffbc
2023-06-05 20:23:36 +00:00
Kelvin Zhang
c819b29f46 Always set a avb salt for hermetic build
When building images via `m` , build_image.py is invoked directly
without going through add_img_to_target_files. To ensure images built in
either way are identical, move uuid/salt computation to build_image.py,
so that the same uuid/salt will be used.

Bug: 281960439
Test: m installclean && m && m target-files-dir , maks sure images in
$OUT and $OUT/obj/PACKING/target_files_intermediates are identical

Change-Id: Icdab29df84f5a0ec7c080f99f9fdbdc3c9b10b90
2023-06-05 09:59:54 -07:00
Treehugger Robot
b2989fc109 Merge "Adding option to disable fastboot_info" am: ecf635f507 am: 8f26a9ca1d am: b083f09783
Original change: https://android-review.googlesource.com/c/platform/build/+/2612133

Change-Id: Ic02ad4911e965eb9d07e0882c804f56d945ad6e9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-03 04:13:22 +00:00
Treehugger Robot
8f26a9ca1d Merge "Adding option to disable fastboot_info" am: ecf635f507
Original change: https://android-review.googlesource.com/c/platform/build/+/2612133

Change-Id: I45872eab4df9b1044ff6a6fb1c582f5cd316a365
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-03 02:42:53 +00:00
Treehugger Robot
ecf635f507 Merge "Adding option to disable fastboot_info" 2023-06-03 01:56:41 +00:00
Dennis Shen
d0799b1a77 Merge "aconfig: update rust code gen to use libflags_rust" am: 3b0ca61d36 am: 8c1cce4e39 am: 1b0d706359
Original change: https://android-review.googlesource.com/c/platform/build/+/2607428

Change-Id: Id767e678c777b383a0143584c4bd9dd55e858abe
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-02 17:41:54 +00:00
Dennis Shen
8c1cce4e39 Merge "aconfig: update rust code gen to use libflags_rust" am: 3b0ca61d36
Original change: https://android-review.googlesource.com/c/platform/build/+/2607428

Change-Id: I5f100c044c906f06714ad1b4acbcbea83048a770
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-02 15:48:31 +00:00
Dennis Shen
3b0ca61d36 Merge "aconfig: update rust code gen to use libflags_rust" 2023-06-02 15:13:40 +00:00
Mårten Kongstad
c31a6ff653 aconfig: add create-device-config-sysprops command
Add a new "create-device-config-sysprops" command that works like
"create-device-config-defaults" but for system properties.

DeviceConfig is a Java service, and will mirror (some of) its values by
setting system properties in the persist.device_config namespace. Native
code will access DeviceConfig (actually, the system properties) via the
server_configurable_flags library.

The new command writes a file that can be appended to /system/build.prop
to pre-populate persist.device_config before DeviceConfig has started.

Like create-device-config-defaults, the new command skips READ_ONLY
flags.

Bug: 285468565
Test: atest aconfig.test
Change-Id: I311c7c5e0b03dc897b09204137d43cc182324717
2023-06-02 16:47:04 +02:00
Mårten Kongstad
f02734e915 aconfig: add create-device-config-defaults command
DeviceConfig is the backend for READ_WRITE flags.

Add a new command "create-device-config-defaults" to create a file that
DeviceConfig will read to pre-populate its data store on first init.

This will be used to quickly switch flag values during CI tests:
rebuilding and reflashing a device would have the same effect, but would
be costlier. This feature is not expected to be used outside CI tests.

Note: because DeviceConfig only works with READ_WRITE flags, the
generated file excludes READ_ONLY flags.

Bug: 285468565
Test: atest aconfig.test
Change-Id: I4caff1a10647b8da0ce4e3615678993a957a92dd
2023-06-02 16:46:28 +02:00