Test: Build the following targets and check the built image archive.
bonito-userdebug (contains flashable images);
cf_x86_phone-userdebug (contains super.img);
aosp_arm64-eng (contains VerifiedBootParams.textproto)
Test: m -j otatools-package; Check that zip2zip is included; Use
bin/img_from_target_files to generate image archive.
Change-Id: I9f28765bd702849f0df309faebd6aa3072920536
* changes:
merge_target_files: Checks VINTF metadata of resulting target files
Check VINTF compatibility at OTA generation time.
releasetools: add tests for check_target_files_vintf
Add a script to check VINTF compat of target files package.
Instead of relying on META/{system,vendor}_{manifest,matrix}.xml
and blindly copy compatibility.zip from target files package to
OTA package, do a static check on the input target files package
before generating the OTA package.
META/{system,vendor}_{manifest,matrix} does not contain ODM manifest
fragments, which is incorrect.
Also, the on-device check of compatibility.zip uses a old libvintf
binary on the device, which may not understand the incoming VINTF
metadata. This change removes the on-device check. Hence, it removes
the requirement of forwards compatibility of libvintf.
This behavior can be skipped with --skip-compatibility-check.
Test: build OTA package
Bug: 139300422
Bug: 131425279
Change-Id: I7fb93be9eb73f578fc05a182c6c9d1f073db2800
Instead of checking META/{system,vendor}_{manifest,matrix}.xml (which
is error-prone because ODM SKU-specific manifests are not checked),
this script read the target files package, remaps its directory
structure so that checkvintf understands it, and check VINTF
compatibility.
Also, put it in otatools.zip.
Test: run it on an extracted target files package
Bug: 131425279
Change-Id: I06036f9a8d7242d4bc11524028be40e780c508e8
Support for rust modules built in Soong.
Bug: 136189233
Test: Test module builds.
Test: crosvm builds.
Change-Id: Idf2e4a4f760cbcee1d35fe6567ef8e12d4855094
This saves another 5-15% of makefile eval time (depending on
target/branch).
I'm not sure if deps-license is still used at all, but we'll only save
the information for it if it's actually going to run now.
Since the default module tag is "optional", we really don't need to save
a list of most modules in another variable. I don't see anything that
really needs to see the list of optional modules.
Test: treehugger
Change-Id: Iaf54e9932fbe8e61f10bd0c9336fc4fdefea27ab
It turns out that this single line was responsible for 28-44% of the
time we spent parsing makefiles. So instead of filtering across
$(ALL_MODULES), check to see if a variable that we always would set is
set.
Test: treehugger
Test: check kati-build eval time before/after
Change-Id: I946c2efd060181a4ae9edd3409c53d9b49a58285
This was showing up in the top-ten longest makefiles during the product
config and cleanspec kati runs sometimes, even though it's really never
used. So instead of running the sometimes-expensive find command, skip it
unless an AUX OS was specified.
At some point we should remove this entirely, but that's a larger change
that doesn't need to happen yet.
Test: build-aosp_arm.ninja is the same before/after
Change-Id: I0ea10193d2f07e1717224e9020a7defaf6191c05
Bug: none
Test: m -j FrameworksCorePackageManagerTests
confirm FrameworksCorePackageManagerTests.config doesn't have the
placeholder.
Change-Id: Ie16720fcf74490fddd1e282f8526e7161d6d10ce
After the split up of prebuilt_internal.mk, the logic for running
host-init-verifier on init.rc files was misplaced. This change moves
it back to the right location.
Test: see that a mistake in rootdir/init.rc causes the build to fail
Change-Id: I60e503cc48639f4f11c47e6636f140672fde61b4
Include the misc_info.txt in "dist_files" so we can recreate a new
mixed super image (system and vendor images from different builds)
later in the test pipeline.
The misc_info.txt for products with BOARD_SUPER_IMAGE_IN_UPDATE_PACKAGE
set to true is removed from their update packages (essentially, reverts
aosp/976069) since the super_misc_info.txt created here can be used.
Bug: 139404128
Test: $ lunch aosp_x86-userdebug
$ m dist
$ diff $OUT_DIR/dist/super_misc_info.txt $OUT/misc_info.txt
Change-Id: Iad1ff981124a19933b0b575bc99941e0fc3813a7
Without this, we can end up packaging log files from previous CTS runs in
the zip file. If the names of those log files contain whitespace characters,
it can result in a build failure.
Change-Id: Id96d1915a03b6a715acfdc212c9b2d6f28045baa
Because TARGET_OUT_SYSTEM_EXT_EXECUTABLES have been omitted, we cannot
install any executables in system_ext.
So fix it.
Test: set system_ext_specific true in some executable, and then check if
it is installed in /system_ext/bin
Bug: 139719550
Change-Id: I1bc7a2e6a7c25ec4b5b1ea6358ba8d3e1ae6331b
We once attempted to use them (by importing from releasetools scripts)
to parse payload. Due to the dependency on google.protobuf, we have
switched to delta_generator instead (commit 750385e4).
Bug: 65261072
Test: `m -j otatools-package`; and check the related scripts are not
included.
Change-Id: Iaa8bcb0e2792e48512e1b8db29869db875ba8dc9
Bug: 137921421
Test: (1) m tests
(2) check vts-core-tests.zip
For migrating most existing VTS test to executable by Base TradeFed, we have to
create vts-core suite and test all of the modules in vts-core first.
And add the packaging rules for vts-core suite.
Bug: 137921421
Change-Id: Ifc92db205c78db98abf704aa6dfa50f1f77e983d
Treat LOCAL_PROTOC_OPTIMIZE_TYPE := javamicro as a plugin by
explicitly passing the path to protoc-gen-javamicro. This allows
removing the javamicro customizations from the core plugin code.
Bug: 117607748
Test: m checkbuild
Change-Id: I199f47a64a454594a2fff4c5580c53fd17e0bdee
In the case of building a multilib library that defines LOCAL_VINTF_FRAGMENTS,
the previous code would create duplicate rules for the fragment. This change
uses the my_vintf_new_installed variable (which may be empty) to avoid the
duplication.
Bug: 139268165
Test: Verify that build warnings are gone, yet VINTF fragment still installed.
Change-Id: I579ec650019a29a6a105118ad5e5ae9376e8d9bc
libc++demangle provides __cxa_demangle, which used to be a part of
libc++.so but is being moved out to save on resources since very few
libraries need it.
Test: make checkbuild
Bug: http://b/138245375
Change-Id: I677006dbbe87ccf2dd4df182114d2a6b985e3c00