If an AOSP target is built with dynamic partitions support but without
vendor.img available at build time, don't write 'vendor' to
dynamic_partitions_info.txt that will be used for building OTA packages.
We can't remove the partition from BoardConfig file, because the name
will be still needed in other places, such as generating the partition
metadata (super_empty.img). Otherwise manually flashing vendor.img at a
later point would require additional steps (e.g. `fastboot
create-logical-partition`).
Bug: 120852744
Test: `m -j dist` with and without vendor projects.
Change-Id: Ia1c3ed5bbea0255f1908958140dac97a1597586d
Uses skip_mount.cfg for `init` to skip mounting product and
product_service paritions in GSI. The patch also removes
the un-mount in `init.gsi.rc`.
With this patch, a device with flashing GSI will not use the
content in product/prodcut_service partitions on the device
and will always use the content under /system/product in GSI.
The patch also rename the target/product/vndk to
target/product/gsi.
Bug: 120208657
Bug: 117246558
Test: Boot blueline master/P with flashing aosp_arm64-userdebug
Test: /product and /product_service should be symbolic links
Change-Id: Idc9c60e5a05b3d90fc4ab64b0ac000571849b19b
libunwind has no dependency on vendor modules.
Remove it from VNDK list.
Bug: 120948701
Test: build and boot
Change-Id: Ic4c0080fea7da021334aaa1a81b3b7377b06f62f
Building $OUT/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar
is no longer updating the common intermediates:
out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar
out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/classes.jar
after I25163e91886cea6941afa25cdb529ed053278dcb. Add the missing
dependency on common javalib.jar, which already depends on common
classes.jar.
Bug: 119412419
Bug: 121194944
Test: rm out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/classes.jar &&
m core-tests &&
ls out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/classes.jar
Change-Id: Id463d159e46c82656c364fdb2dbe53f33ee1a103
Don't create the install rules for boot.art when WITH_DEXPREOPT
is not set to true, which will ensure there is no dependency on
boot.art in a normal build, which matches the behavior before
I25163e91886cea6941afa25cdb529ed053278dcb.
This should fix the Mac build, which never sets WITH_DEXPREOPT
and does not support running dex2oat.
Bug: 119412419
Bug: 121130576
Bug: 121183382
Test: lunch aosp_sailfish-eng && m WITH_DEXPREOPT=false
files does not depend on out/target/product/sailfish/dex_bootjars/system/framework/arm/boot.art
Change-Id: I39e96b1f35f6808d3007cf1785ec3db89e0decb6
The device currently targeted does not have a product partition.
Adding product-specific apps to it therefore trips up the artifact path
check for /system.
Workaround that by whitelisting /system/product/% for now. This should
be removed when the device has the right partitions.
Bug: 110072687
Test: build mainline_arm64
Merged-In: I54175bc51df5dfe82c64f66f255a2cea6ff9b9ab
Change-Id: I54175bc51df5dfe82c64f66f255a2cea6ff9b9ab
Move the dexpreopting logic into Soong. Make modules will be
dexpreopted by executing the Soong logic in the standalone
dexpreopt_gen binary, which will generate scripts that will
perform dexpreopting for each module. Export global configuration
as JSON to $OUT/dexpreopt.config, which will be used by
dexpreopt_gen and Soong, and per-module JSON configuration that
will be used by dexpreopt_gen.
This relands I59b20c931ee3e5a8d35eb30da4148691c5095502,
I39d580999947ee54cfefe875b57a028be5333bd7,
Ie7daa94e107d53eff075ca58dbe721bd9d7fc8c2 and
Ica006a007d112c232311435aaac0c0e476232b67, with a minor
update to match the changes made to dexpreopt_gen arguments
and a fix to correctly keep dexpreopt disabled on mac builds.
Bug: 119412419
Bug: 120273280
Test: no differences to dexpreopt outputs on aosp_sailfish system/,
only expected changes to dexpreopt outputs on system_other
(.vdex files for privileged Soong modules no longer incorrectly
contain .dex contents).
Change-Id: I25163e91886cea6941afa25cdb529ed053278dcb
I59b20c931ee3e5a8d35eb30da4148691c5095502 accidentally wrote depsfiles
to a file called .d in the top level of the source tree, remove them.
Bug: 119412419
Test: m
Change-Id: Iaf71a64a7ee4aa39084423dfd16aa934613ba158
Ica006a007d112c232311435aaac0c0e476232b67 added a clean step that was
reverted in I0ce3ad70c73ff997aacaf411b0b5dc73760e7f91. Reverting
a clean step could cause a future clean step to be skipped, because
Make only tracks how many clean steps have been run out of each
CleanSpec.mk file. Add back the reverted clean step.
Bug: 119412419
Test: none
Change-Id: I11fe12d7c3526ccc21f468b350b4288cb55a9447
The current increase of 4 % is insufficient for some
targets.
Test: mmm
Bug: 119115481
Change-Id: Idcba8025b913da9b70794bfc7464d15b4d99ad34
(cherry picked from commit 3e02e34090)
Ie7daa94e107d53eff075ca58dbe721bd9d7fc8c2 attempted to pre-create
the directories that unzip would unzip into, but incorrectly
created them in the top of the source tree instead of in
$(PRODUCT_OUT). Fix the directory location and add a cleanspec
to clean up the incorrect directories in the source tree.
Bug: 119412419
Test: m correctly cleans up incorrect directories in source tree
Test: extract unzip command from out/verbose.log.gz and add bash -x
Change-Id: Ica006a007d112c232311435aaac0c0e476232b67
unzip sometimes fails with:
checkdir error: cannot create out/target/product/.../system/framework/oat
File exists
I think this happens when two unzips run in parallel, see that the
parent directory is missing, race to create it, and then one of them
treats the EEXIST when creating it as an error instead of continuing.
Work around this by creating the directories with mkdir -p before
running unzip.
Test: m installclean && m
Bug: 119412419
Change-Id: Ie7daa94e107d53eff075ca58dbe721bd9d7fc8c2
uncompress-prebuilt-embedded-jni-libs uses zip2zip, add a dependency
to the rule that calls it.
Test: treehugger
Change-Id: I39d580999947ee54cfefe875b57a028be5333bd7
This prints the uid map in a very simple format, with
AID_CONSTANT<space>uid
on each line. This is super easy for other tools to
parse, and generate their own mappings, without requiring
edits to fs_config_generator.py itself.
Test: make, treehugger
Change-Id: I10e24ac29d440a24d43580880343d122ae1cdf02
build_super_image.py calls `lpmake` and expects that (i.e.
HOST_OUT_EXECUTABLES) in PATH. However, we have to explicitly set up
that inside the build.
Bug: 120553014
Test: Set OUR_DIR and build blueline-userdebug.
Change-Id: I000f9d069902a902c9504a2ba31dba6dbc6917a2
Move the dexpreopting logic into Soong. Make modules will be
dexpreopted by executing the Soong logic in the standalone
dexpreopt_gen binary, which will generate scripts that will
perform dexpreopting for each module. Export global configuration
as JSON to $OUT/dexpreopt.config, which will be used by
dexpreopt_gen and Soong, and per-module JSON configuration that
will be used by dexpreopt_gen.
Bug: 119412419
Bug: 120273280
Test: no differences to dexpreopt outputs on aosp_sailfish system/,
only expected changes to dexpreopt outputs on system_other
(.vdex files for privileged Soong modules no longer incorrectly
contain .dex contents).
Change-Id: I59b20c931ee3e5a8d35eb30da4148691c5095502
We will call it at an earlier time to compute the patch size; and
choose the transfers to convert to 'new'.
Bug: 120561199
Test: Generate an incremental update on shiner
Change-Id: I29a0c8e75c9e5b66a266c1387186692a86fcbe43