Build system will install binaries to product partition path when build
scripts specify module's install path to product partition.
To supports that, TARGET_OUT_PRODUCT_EXECUTABLES for primary and
secondary ABI path should be declared.
Bug: 110745956
Test: Set LOCAL_PRODUCT_MODULE to true in Android.mk or set product to
true in Android.bp file.
Change-Id: Ib8a491364ee30e49bb327163974661915e183608
Test: builds
Test: build with BOARD_SUPER_PARTITION_SIZE and
BOARD_SUPER_PARTITION_PARTITION_LIST defined
Bug: 79106666
Change-Id: Ifcd50ecab22ef096ff1eb386f8d87e16fffdcf5e
Test: `make vendorimage`
Test: `make vendorimage` with the following:
- install a large file to vendor image
fails as expected (because _PARTITION_SIZE is exceeded)
Test: `make vendorimage` with the following:
- set PRODUCT_USE_LOGICAL_PARTITIONS to true
- set BOARD_VENDORIMAGE_PARTITION_RESERVED_SIZE
fails as expected (BOARD_VENDORIMAGE_PARTITION_SIZE needs
to be undefined)
Test: `make vendorimage` with the following:
- install a large file to vendor image
- set PRODUCT_USE_LOGICAL_PARTIIONS to true
- add a small BOARD_VENDORIMAGE_PARTITION_RESERVED_SIZE
- remove BOARD_VENDORIMAGE_PARTITION_SIZE
build succeeds.
Bug: 79106666
Change-Id: Ica8fdce64e8f37d91e66e3d49c0c74fadd15a832
- Copy "use_logical_partitions" to *_image_info.txt before sending
it to build_image.py, so that the script can use this variable.
- build_image.py emits an additional properties file to inform
the build system about the system image size.
Test: `make systemimage`
Test: `make systemimage` with the following:
- install a large file to system image
fails as expected (because _PARTITION_SIZE is exceeded)
Test: `make systemimage` with the following:
- set PRODUCT_USE_LOGICAL_PARTITIONS to true
- set BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE
fails as expected (BOARD_SYSTEMIMAGE_PARTITION_SIZE needs
to be undefined)
Test: `make systemimage` with the following:
- install a large file to system image
- set PRODUCT_USE_LOGICAL_PARTIIONS to true
- add a small BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE
- remove BOARD_SYSTEMIMAGE_PARTITION_SIZE
build succeeds.
Test: same for systemotherimage
Bug: 79106666
Change-Id: I574062882acd1ecd633ac38c5a8c5351b90a32d8
vndk-check-list check can't be done for 64-bit only product. Some
VNDK libraries (libstagefright_codec_*) are 32-bit only and thus
not built for 64-bit only product. As a result vndk-check-list always
fails on such device. Suppressing the error until the codec libraries
are built with 64-bit.
Bug: 110429754
Test: m -j on hikey64_only
Change-Id: I240ceee3fd0a778e47904ed44a1964084f354141
Remove support for compiling with javac from OpenJDK8.
We still target 1.8 by default, and OpenJDK8 prebuilts are still
required for the bootclasspath and running robolectric.
Bug: 38418220
Test: m java
Change-Id: I6f178f73b42331494fadcc25a62a5475656b873e
Relanding with change to not run on the darwin build since host init
verifier is not possible there.
Bug: 36970783
Bug: 110477913
Test: builds pass without failures
Test: builds fail with failures in init files used via LOCAL_INIT_RC,
PRODUCT_COPY_FILES, or TARGET_PREBUILT
Change-Id: Iae93705a9320159ed97328e615eaa3bc150e6442
Make it so that `export`/`unexport` are deprecated during product
configuration, but obsolete during Android.mk parsing (and later in the
build, since we can't un-obsolete it).
Remove some ccache / goma exports, those don't need to be exports, since
soong_ui asks about them explicitly. They also only run doing the
initial project configuration, so we don't run anything with that
environment.
Bug: 73959648
Test: m nothing
Test: build_test on all downstream branches
Change-Id: I55a749f46775660439ae57e881a02c914e83de16
Make the values tristate, so that we can differentiate set vs not in
scripts that parse the logs.
Also add some placeholders for warnings that I expect to turn into
errors.
Test: Set BUILD_BROKEN_PHONY_TARGETS to "foo"
Change-Id: I3f7e1e0f85dcef84d6461fc40bdd83dc5bf75ff7
check-vndk-list has not been run when VNDK is not enabled (i.e.
BOARD_VNDK_VERSION is unset). This was problematic because there is a
chance that a CL which passed pre-submit tests can fail the post-submit
tests when the targets selected for the pre-submit tests are all without
VNDK enforcement.
In order to prevent the case, check-vndk-list is executed regardless of
whether BOARD_VNDK_VERSION is set or not.
Bug: 110424280
Test: m -j on sailfish
Test: m -j on sailfish fails after adding an arbitrary library to VNDK
Change-Id: Ia7427be2a297940a9e9c9f46cb058245596171c9
Run ErrorProne as a processor in javac from OpenJDK9.
Bug: 69485063
Test: m RUN_ERROR_PRONE=true javac-check
Change-Id: I2dde597430b47c440df22d248809233a6ade1625
We may pack prebuilts that end with ".apk" into target_files zip, via
PRODUCT_COPY_FILES. META/apkcerts.txt won't contain the cert info for
such files, and we want to keep them as is while signing, despite of the
".apk" extension.
This CL adds "--skip_apks_with_path_prefix" option to
sign_target_files_apks.py. APKs with matching prefixes will be copied
verbatim into the signed images. The prefix should match the entry names
in the target_files (e.g. "SYSTEM_OTHER/preloads/"). The option may be
repeated to specify multiple prefixes.
Note that although we may skip signing an APK file with "-e ApkName=".
This would skip *all* the APK files with the matching basename.
"--skip_apks_with_path_prefix" allows matching the exact prefix.
For example:
$ ./build/make/tools/releasetools/sign_target_files_apks.py \
--skip_apks_with_path_prefix SYSTEM_OTHER/preloads/ \
--skip_apks_with_path_prefix PRODUCT/prebuilts/PrebuiltApp1 \
--skip_apks_with_path_prefix VENDOR/app/PrebuiltApp2.apk \
target_files.zip \
signed-target_files.zip
Bug: 110201128
Test: Run the command above and check the logs.
Test: `python -m unittest test_sign_target_files_apks`
Change-Id: I7bd80b360917cef137cf1e7e8cfa796968831f47
There are no descendants of this mk in AOSP. Move the content that was
shared with core_minimal.mk to base.mk (ContactsProvider and
DefaultContainerService)
Bug: 80410283
Test: diff product variables with multiproduct_kati
Change-Id: I95431b3db789e9c347bb37109a3ac7f627025f96
Merged-In: I95431b3db789e9c347bb37109a3ac7f627025f96
It only has one mk inheriting it now, so it's redundant. Push its
packages into the single child (generic_no_telephony.mk).
Bug: 80410283
Test: diff product variables with multiproduct_kati
Change-Id: Ie56e22be7f43558fdd259c808e5a6a937bd12ea6
Merged-In: Ie56e22be7f43558fdd259c808e5a6a937bd12ea6
(cherry picked from commit 57000e3c79)
Not used anymore, and it's in pretty bad shape, so delete it.
Bug: 80410283
Test: N/A.
Change-Id: I1353aa24024ece38857be6b489d36b0a612355cb
Merged-In: I1353aa24024ece38857be6b489d36b0a612355cb
(cherry picked from commit f65e806618)
This product has warnings about overriding build commands, which means
that there are multiple instructions on how to build a file, and we've
just picked one of them. Which one we pick is usually stable, but it can
change.
Bug: 77611511
Test: turn default to false, aosp_x86_arm still uses a warning
Change-Id: Id821c04e3dd6a1f69ea748827c3570a751b4e1dd
If there aren't any boot dex files, we can't generate a boot image
profile.
Test: lunch uml-eng; m
Test: diff build-aosp_arm.ninja
Change-Id: I09cc1ef37379d9d353958c8aa75731f3d29df759