Move aconfig storage file definition into its own crate, as flag read
lib will need it as well. The new crate is placed under
aconfig_storage_file dir.
Bug: b/321077378
Test: atest aconfig.test, Cargo test at repo root level
Change-Id: I91e8ada2c9bab479ed81cf03824042f3fa460be5
Previously, aconfig repo is the root directory of aconfig binary crate,
but it also hosts printflags crate inside, and there is no cargo support
for printflags binary crate. In addition, with more aconfig development,
more crates are being added to this repo. Thus this repo should be
configured as a Cargo workspace with multiple crates rather than a
single crate.
Note the top level Cargo.toml file specifies the crates this workspace
carries:
(1) aconfig_protos: the proto library crate that will be used by many other
crates such as aconfig binary crate and printflags binary crate
(2) aconfig: the aconfig binary crate
(3) printflags: the printflags binary crate
(1) aconfig_protos crate setup:
Inside aconfig_protos dir we set up the aconfig_protos crate, the
previously src/proto.rs is now aconfig_protos/src/lib.rs, the build.rs
is carried over to this crate.
(2) aconfig binary crate setup:
Notice its Cargo.toml file claims package dependency on aconfig_protos
crate. It no longer carries proto related module and build.rs file.
(3) printflags binary crate setup:
Similary, notice that in its Cargo.toml file, it claims package
dependency on aconfig_protos crate.
With this setup, we can Cargo build/test each crate individually when
inside a specific crate dir. But we can also run Cargo build/test at
repo root level, which will build/test all the crates in this workplace.
This is the structuring cl. The next cl is to move storage modules into
its own library crate. This storage file library crate will be used by
both aconfig binary crate as well as flag read library crate (to be
created as another new crate here).
Bug: b/321984352
Test: top and individual crate dir level Cargo build/test, m each
individual targets
Change-Id: I75833f4997f7ee554ff6c1557df9ac87f62b2732
Merged-In: I75833f4997f7ee554ff6c1557df9ac87f62b2732
The current logic to determine if a build is pre or postsubmit is the
existence of the change_info file but this file also exists in
postsubmit, causing the build to break. Use the build ID as the
heuristic instead which should be more reliable.
Test: abtd run
Bug: 314171817
Change-Id: I9871eee71c0574583b528135dadd42e3f485a780
Previously, META/apex_info.pb contained only /system/apex apexes. Now,
it has all apexes from all possible partitions.
The main purpose of this file is to caculate the decompressed apex size
when applying OTA. Hence it should have all apexes, not just system
apexes.
Bug: 320228659
Test: m dist # check META/apex_info.pb
Change-Id: I3428dc502e4fe3336d1fc5ca941f1fbc332985cd
RELEASE_BOARD_API_LEVEL_FROZEN must not be overriden by a board
config value. Use RELEASE_BOARD_API_LEVEL_FROZEN directly to build
configs.
Bug: 295269182
Test: TH
Change-Id: I60ad4cf1a9f377619fef98d6f9ef4d04d3395991
An old python zipfile hack prevented zipfile module from decoding 64 bit
sizes correctly, remove the legacy hack to fix.
Test: check_target_files_signatures -v 5GB_target_files.zip
Bug: 319367048
Change-Id: I376c7b68f549ddf88680280d604548d1849cdfe2
Based on the build system feedback, it is better to create storage file
individually per each aconfig command invocation in a makefile. Thus
updating the create-storage command to create one file at a time based
on passed in file selection.
Bug: b/321243743
Test: atest aconfig.test and manually invoke create-storage command
Change-Id: I53625c08e44d3ece4476835827c6b7d28ddd5a1b
Because `system.img` is a dependency of `fontchain_lint`, and
`system.img` is currently not generated inside `Soong`, it is not
possible to directly convert `fontchain_lint` to `Android.bp`.
Move it to build/core/task first.
Bug: 319050958
Test: m fontchain_lint
Change-Id: I2c318f6f51107cd80f0c70531e23f73569b0ec83
Revert submission 1433935-symlink_outputs
Reason for revert: symlink_outputs was added so bazel could run ninja files, but we abanoned that approach in roboleaf, and then roboleaf was cancelled entirely. Remove this feature so we're more compatible with upstream ninja / n2.
Reverted changes: /q/submissionid:1433935-symlink_outputs
Change-Id: I5a779695689148ed32037f7f82887c458a3587cd
Two fixes:
soong dumpvars commands require TARGET_RELEASE to be set in the env, so
set that.
Added option to print command output which is useful for actually
logging build output not only in the case of command failures.
Test: ABTD run with this change
Bug: 314171817
Change-Id: Ia3ad8ebfa58959c13417abaeeaa42a354c4c61de
Add shebang line to make build test suties script callable via command
line without needing python.
Test: ./build/make/ci/build_test_suites --target_product aosp_x86_64
--target_release trunk_staging --with_dexpreopt_boot_img_and_system_server_only --dist_dir <dist_dir> --change_info <change_info_file> <extra_targets>
Change-Id: I94422993e864e021b036a4eb1673b463ad4b86d4
vabc_compression_param can be a combination of algorithm + level.
Updating this check so that it works with both.
Test: ota_from_target_files
Change-Id: I2f13ca31c728d7c8607ac085c9b663691f8dfa02
As seen in the CLs in the same topic, these two variables are no longer
in used and do not need to be exported to Soong.
Test: m nothing --no-skip-soong-tests
Bug: 320515715
Change-Id: I268dc3f051d3ff15d95515755dd0c9f9c15dfc82
These changes are necessary to allow NFC stack delivery to be properly
trunk stable flagged:
1. Delivered as NfcNci.apk and framework-nfc.jar for Android
U based builds (existing).
2. Delivered as com.android.nfcservices.apex which embeds NfcNci.apk &
framework-nfc.jar for Android V based builds (new).
Bug: 303286040
Test: Device boots up after flashing
Test: atest CtsNfcTestCases
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:046c1816091f9150c91953b8571dc946b0a59f86)
Merged-In: Ib2170146d07763ff6c852ce810497ebe1ac2eead
Change-Id: Ib2170146d07763ff6c852ce810497ebe1ac2eead
Add make file targets to create storage files. Note the container field
to aconfig command is an empty string for now as flags now by default
assumes empty container string in parsed_flag proto. Need to update it
once the container specification to aconfig files are done.
Bug: b/312239352
Test: m
Change-Id: If7bd12be5917a4779047633c00f88166574bfe0b