Commit Graph

84082 Commits

Author SHA1 Message Date
Alex Buynytskyy
aac2a187d4 Improve finalization perfomance by building only current version.
Bug: 275409981
Test: run locally
Change-Id: If531178a17792166726ff7ed230592c392eeb899
2023-05-10 03:10:32 +00:00
Treehugger Robot
20f0cd3f91 Merge "Add lunch support for TARGET_RELEASE" 2023-05-09 13:51:19 +00:00
Treehugger Robot
872023376e Merge "Remove unneeded rbcrun features" 2023-05-09 07:31:40 +00:00
Ryan Zuklie
db4bd944f8 Merge "Revert "(reland) Remove emulator dependencies on non emulator ta..."" 2023-05-08 21:59:15 +00:00
Szu-An Lu
527591f248 Revert "(reland) Remove emulator dependencies on non emulator ta..."
Revert submission 2576824-aosp-no-emulator2

Reason for revert: build fail

Reverted changes: /q/submissionid:2576824-aosp-no-emulator2

Bug: 280698810
Change-Id: Id033198251c10bbe774436837e4cddb527062155
2023-05-08 21:20:13 +00:00
Daniel Zheng
1f09d54104 Merge "fix m fastboot_info" 2023-05-08 19:00:10 +00:00
Treehugger Robot
d279e5d79c Merge changes from topic "aconfig-part-3"
* changes:
  aconfig: simplify argument parsing in main
  aconfig: improve flag value tracing
2023-05-08 18:06:52 +00:00
Mårten Kongstad
98b0eeb2fc aconfig: simplify argument parsing in main
Improve readability by extracting how multiple input files are
transformed from a clap argument to an Input.

Bug: 279485059
Test: atest aconfig.test
Change-Id: I299179d39eca80e107342f6978984da79ee81e34
2023-05-08 12:47:34 +02:00
Mårten Kongstad
76adff2af0 aconfig: improve flag value tracing
Improve how the flag values (state, permission) are tracked when parsing
config and override files: migrate from a raw string to a proper struct,
as this will make it easier when aconfig will output this data in some
structured format for other tools to consume.

Also, rename Cache.debug to Cache.trace.

Bug: 279485059
Test: atest aconfig.test
Change-Id: Idad57c969515f697e9065429d8a44c38d8a512d2
2023-05-08 12:47:34 +02:00
Mårten Kongstad
80bff11aef Merge changes from topic "aconfig-part-2"
* changes:
  aconfig: change flag values to enabled/disabled enum
  aconfig: add read/write permission
  aconfig: Source: remove unnecessary #[derive(Serialize, Deserialize)]
2023-05-08 10:46:26 +00:00
Jeff Hamilton
a02c747449 Add lunch support for TARGET_RELEASE
This replaces support for the unused
TARGET_PLATFORM_VERSION variable.

Now, if you pass three - separated
items the first is product, the
second is release and the third
is variant. If you only pass two
they're still product-variant
and the build system will choose
a reasonable default for release.

Test: run lunch with two and three items, confirmed values in the build banner
Change-Id: I128177d96ffe81b79b6945a24ebf37861c3b25fc
2023-05-08 03:23:30 +00:00
Treehugger Robot
be8badd74e Merge "Script fixes and improvements." 2023-05-07 01:14:30 +00:00
Alex Buynytskyy
00a88ec3ec Script fixes and improvements.
Fix to mark all versions REL.

More robust patch application. Keep getting these build breakages, not sure why. Looks like git is
confusing one folder for the other?
https://android-build.googleplex.com/builds/submitted/10065142/test_suites_arm64/latest/logs/build_error.log

Bug: 275409981
Test: run locally
Change-Id: I6173b9ecae5e9ab12d9abf2eee3f2136dc353210
2023-05-06 20:55:10 +00:00
Daniel Zheng
d00675c764 Merge "Adding Build time flag to specify Cow Version" 2023-05-05 22:19:02 +00:00
Daniel Zheng
2b7ddbda54 fix m fastboot_info
m fastboot_info was not working. make syntax is weird

Test: m fastboot_info
Change-Id: Ifebb6e40f2c19f00436afa719259df97ce929490
2023-05-05 14:22:15 -07:00
Cole Faust
a874f88cee Remove unneeded rbcrun features
- rblf_cli and rblf_env
- -c and -f

This is in preparation for making rbcrun able to function as a more
general purpose starlark interpreter.

Bug: 280685526
Test: go test, ./out/rbc ./build/make/tests/run.rbc, ./build/bazel/ci/rbc_dashboard.py --quick aosp_arm64
Change-Id: Ifff9ce7b4369422f39c5003bb85a168c78bde7cf
2023-05-05 11:52:02 -07:00
Daniel Zheng
025099c4bc Adding Build time flag to specify Cow Version
Adding in build time flag for specifying cow version, in preparation to
add new cow version in libsnapshot

Test: m -> cat misc-info.txt
Bug: 279954153
Change-Id: I148d4e7cdd669496c91213889787172ffd83a5ab
2023-05-05 11:03:27 -07:00
Wei Li
19f8eb1423 Merge "Export some make variables to soong.variables." 2023-05-05 17:32:20 +00:00
Mårten Kongstad
c68c4eabea aconfig: change flag values to enabled/disabled enum
Change the underlying type of a flag's value from bool to an explicit
enum (Disabled, Enabled): this will hopefully reduce future confusion on
how flags are intended to be used.

Bug: 279485059
Test: atest aconfig.test
Change-Id: I9535f9b23baf93ad5916ca06fb7d21277b4573eb
2023-05-05 16:20:09 +02:00
Mårten Kongstad
416330b060 aconfig: add read/write permission
Introduce the concept of flag read/write permissions: a read-only flag
can only have its value set during the build; a writable flag can by
updated in runtime.

Bug: 279485059
Test: atest aconfig.test
Change-Id: I3ec5c9571faa54de5666120ccd60090d3db9e331
2023-05-05 13:45:28 +02:00
Mårten Kongstad
2937566c55 aconfig: Source: remove unnecessary #[derive(Serialize, Deserialize)]
The Source struct is no longer serialized/deserialized. Remove the
unused derives.

Bug: 279485059
Test: atest aconfig.test
Change-Id: Ifd78988ed8134ab43013314b4437e428a8927981
2023-05-05 10:57:19 +02:00
Wei Li
996830047f Export some make variables to soong.variables.
Bug: 275472038
Test: CIs
Change-Id: I2e7a07007224364418659453d979e2bee58fe5f9
2023-05-04 22:57:54 -07:00
Treehugger Robot
6b78461d48 Merge "Inline rbc-run script" 2023-05-05 05:46:08 +00:00
Treehugger Robot
52587e3a87 Merge "(reland) Remove emulator dependencies on non emulator targets (2)" 2023-05-05 01:26:13 +00:00
Cole Faust
78d0254e9e Inline rbc-run script
The board configuration already had this inlined, and the addition
of a separate script makes it harder to follow what's happening.

Bug: 280685526
Test: ./build/bazel/ci/rbc_dashboard.py --quick aosp_arm64-userdebug
Change-Id: Ib76c4a46932ae81d84f854fbee5b0453266d6497
2023-05-04 18:00:11 -07:00
Treehugger Robot
51e1e93a98 Merge "New targets for building files needed by adb sync" 2023-05-04 22:44:32 +00:00
Bill Yi
d98d14dc6b Merge "Merge TQ2A.230505.002 to aosp-master - DO NOT MERGE" 2023-05-04 22:39:57 +00:00
Mårten Kongstad
0b6b92e5a5 Merge changes from topic "aconfig-part-1"
* changes:
  aconfig: add support for changing flag value based on build
  aconfig: introduce cache
  aconfig: define Aconfig proto
  aconfig: add support for cargo
2023-05-04 20:36:22 +00:00
Peter Kalauskas
df6fdeef04 New targets for building files needed by adb sync
Create new phony build targets for sync_system, sync_vendor,
sync_product, sync_system_ext, sync_odm, sync_vendor_dlkm,
sync_odm_dlkm, and sync_system_dlkm.

These build just the files on the associated partion, (e.g.
/system_ext), but not the image file (e.g. system_ext.img). Like sync,
but just for a single partition.

Test: modify System UI, m sync_system_ext && adb sync && am restart
Change-Id: I5aa40d7018e029a57114681dd16db3f1e5651a63
2023-05-04 11:02:17 -07:00
Daniel Zheng
047ed4abf9 Merge "Updating fastboot-info version" 2023-05-04 17:49:07 +00:00
Mårten Kongstad
09c28d1689 aconfig: add support for changing flag value based on build
Teach aconfig about build IDs (continuously increasing integers). Extend
the aconfig file format to allow flags to say "by default, my value is
X, but starting from build ID A, it's Y, and from build ID B, it's Z".

Bug: 279485059
Test: atest aconfig.test
Change-Id: Idde03dee06f6cb9041c0dd4ca917c8b2f2faafdd
2023-05-04 14:34:55 +02:00
Mårten Kongstad
4d2b4b047b aconfig: introduce cache
Introduce the Cache struct to represent parsed and verified aconfig and
override content. Most commands in aconfig will work of an existing
cache file, eliminating the need to re-read the input every time.

Restructure main.rs to use clap to create a proper command line
interface with support for sub-commands. main.rs is responsible for
parsing the command line, performing disk I/O and calling the correct
subcommand implementation (in commands.rs).

To simplify unit tests, subcommands never perform explicit I/O; instead
they only work with Read and Write traits.

Also add dependencies on clap, serde and serde_json.

Bug: 279485059
Test: atest aconfig.test
Change-Id: Ib6abf2eabd264009804f253874b6fba924fc391b
2023-05-04 10:40:26 +02:00
Mårten Kongstad
bb520729e8 aconfig: define Aconfig proto
Fill in aconfig.proto. Define Aconfig definitions (for introducing flags
and setting their values) and Overrides (for overriding flags regardless
of what their definitions say). More changes to the proto schema are
expected when more of the aconfig project is outlined.

Use proto2 instead of proto3: this will cause the protobuf text parser
to error on missing fields instead of returning a default value which is
ambiguous, especially for booleans. (Also, the text protobuf parser
doesn't provide good error messages: if the input is missing a field,
the error is always "1:1: Message not initialized").

Unfortunately the generated Rust wrappers around the proto structs land
in an external crate, which prevents aconfig from adding new impl
blocks. Circumvent this by converting the data read from proto into
structs defined in the aconfig crate.

Change main.rs to parse (static) text proto.

Also add dependency on anyhow.

Bug: 279485059
Test: atest aconfig.test
Change-Id: I512e3b61ef20e2f55b7699a178d466d2a9a89eac
2023-05-04 10:35:25 +02:00
Peiyong Lin
d2704dc746 Merge "Split ANGLE supported and enabled into different Makefiles." 2023-05-04 00:39:57 +00:00
Treehugger Robot
c3216a321b Merge "Support generating partial OTAs from extracted target_files" 2023-05-04 00:05:29 +00:00
Bill Yi
2aa8d8eadf Merge TQ2A.230505.002 to aosp-master - DO NOT MERGE
Merged-In: Iec0d67abed7e0d53976e663ca8f4d497a33199e8
Merged-In: Ie6c40c596af6da2c2af8368c5efa5bf907c5479a
Merged-In: I264df2b5a111cf9ce4fe8d5f9f36d2fa39de5d6f
Change-Id: Ib7a4ac5e08f6ce1683c674219996bfc65dda6fce
2023-05-03 22:34:46 +00:00
Roman Kiryanov
f47363caf5 (reland) Remove emulator dependencies on non emulator targets (2)
Bug: 111538404
Test: presubmit
Change-Id: I62531f60db9bd81ea12c898913b3bbd73c873b6f
Signed-off-by: Roman Kiryanov <rkir@google.com>
2023-05-03 14:27:48 -07:00
Richard Xie
47bddbced9 Merge "Revert "Remove emulator dependencies on non emulator targets (2)"" 2023-05-03 21:09:56 +00:00
Richard Xie
02b9b9e194 Revert "Remove emulator dependencies on non emulator targets (2)"
Revert submission 2529481-aosp-no-emulator

Reason for revert: DroidMonitor: Potential culprit for Bug 280642806 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.

Reverted changes: /q/submissionid:2529481-aosp-no-emulator

Change-Id: I732e1b1a1f001fe016a4e20c1a95516995522501
2023-05-03 20:56:54 +00:00
Roman Kiryanov
f50711adc4 Merge "Remove emulator dependencies on non emulator targets (2)" 2023-05-03 17:28:12 +00:00
Treehugger Robot
626b012556 Merge "Update sdk finalizer for change to api_levels_released_versions" 2023-05-03 17:24:31 +00:00
Peiyong Lin
20d1b668db Split ANGLE supported and enabled into different Makefiles.
ANGLE binaries should be added to the PRODUCT_PACKAGES instead. This
patch also splits the angle.mk to angle_supported.mk and
angle_default.mk so that when a device just wants to ship ANGLE binaries
to coexist with native GLES drivers, it only needs to inherit the
angle_supported.mk and when a device wants to ship ANGLE as the default
system GLES drivers, it only needs to inherit the angle_default.mk. When
ANGLE is the default system GLES driver, make sure persist.graphics.egl
is defined so that ANGLE is loaded properly.

Bug: 270994705
Test: atest CtsAngleIntegrationHostTestCases
Change-Id: I3de4a40b62b39c91c8f6df56d68755830b303f10
2023-05-03 16:44:26 +00:00
Mårten Kongstad
fe753f5365 aconfig: add support for cargo
Officially, aconfig is build using the Android tool-chain. However, to
speed up the local development cycle, add support for building with
cargo.

While it is possible to tell cargo to place the build artifacts outside
the source tree, there is no way to tell it to not generate the cargo
lock file in the same directory as Cargo.toml. Add a .gitignore to
ignore Cargo.lock and the target directory.

The way the Android build system and cargo generates code from the
protobuf files is slightly different. Tell cargo to enable the "cargo"
feature and introduce src/protos.rs to hide this difference from the
rest of the aconfig source.

Bug: 279485059
Test: m aconfig && aconfig
Test: atest aconfig.test
Test: cargo build
Test: cargo test
Change-Id: I85741f58cadae353ed95c124f566e4f4a7484186
2023-05-03 09:41:11 +02:00
Mårten Kongstad
e7a850e942 Merge "aconfig: add project scaffolding" 2023-05-03 06:18:02 +00:00
Kelvin Zhang
6b10e15acc Support generating partial OTAs from extracted target_files
This allows the build system to potentially paralleize generation of OTA
package and zipping of target files

Bug: 262185376
Bug: 227848550
Change-Id: I90b6c25761683ebe3803b22fc8e23540a5282c66
2023-05-02 20:48:14 -07:00
Treehugger Robot
f9f3c569d0 Merge "Generate enforce_uses_libraries.status to out/target/product" 2023-05-03 00:09:09 +00:00
Treehugger Robot
a43178f9f0 Merge "Fix whitespace in soong_config_set calls" 2023-05-02 22:26:06 +00:00
Cole Faust
3736374dfe Fix whitespace in soong_config_set calls
In make, soong_config_set uses an $(eval) to set it's value, expanding
the value of the soong config variable _before_ evaluating the value.
Because of this, make will strip trailing whitespace like it does on
regular assignments.

Make rbcrun match this behavior.

Test: ./out/rbcrun ./build/make/tests/run.rbc
Change-Id: I907e85cdf50f6fac54331c0d1044f0d53bec22ed
2023-05-02 10:11:02 -07:00
Mårten Kongstad
867a349ed9 aconfig: add project scaffolding
Introduce a new tool, aconfig, to manage build time configurations, such
as feature flags.

This CL adds a project skeleton. Later CLs will add the actual
implementation.

Note: there is no need for an explicit TEST_MAPPING file;
rust_test_host are automatically included in host-unit-tests and
explicitly adding these tests via TEST_MAPPING will cause an error.

Bug: 279485059
Test: m aconfig && aconfig
Test: atest aconfig.test
Change-Id: I94047a19a55ae4d45b4fd7a0c8105a91ddcdfd79
2023-05-02 17:36:30 +02:00
Treehugger Robot
ed1ab26f5d Merge "Use misc_info.txt to check for VABC" 2023-05-01 22:30:19 +00:00