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
A java module exports SDK library names that it is using directly or
indirectly via its dependencies. Manifest fixer uses the SDK lib names
to automatically add <uses-library> tags for the apk.
The SDK library names are exported via exported-sdk-libs file in make.
From Soong, they are exported via LOCAL_EXPORT_SDK_LIBRARIES flag.
Bug: 77575606
Test: m -j
Change-Id: I4e7a9bdc5bf845af85168abf55f8063900bacc72
Test: Run sign_target_files.py to sign a target_files.zip.
Test: `python -m unittest test_sign_target_files_apks`
Change-Id: Ie795d1bce7bae6af427832283e3d10bfecad80c5
Switch to GSI images for arm/arm64 sdk images.
BUG: 79941736
This cl does not impact real device images
Test: make -j110 PRODUCT-sdk_phone_armv7-sdk showcommands dist \
DIST_DIR=git_master-without-vendor-linux-sdk_x86-sdk sdk_repo
Change-Id: Ia50be068cc5e5307cdf7ee3a8e11014ed8019992
Merged-In: Ia50be068cc5e5307cdf7ee3a8e11014ed8019992
Scudo is a hardened usermode allocator that is part of LLVM's compiler-rt
project (home of the Sanitizers). clang allows for -fsanitize=scudo as a
possible command line option to link the shared Scudo library to a binary.
This patch add Scudo as a potential sanitize option. Scudo is not compatible
with ASan and TSan and will be disabled if either is enabled.
Test: aosp compiled with m -j
Test: local experiment with LOCAL_SANITIZE := scudo to ensure that a test
target (mediaserver) could be linked with scudo.
Change-Id: I462843b9d5512fba2c4a3ac1a0c356ca90bce4e5
Switch a use of `ndk` to the timestamp file that `ndk` depends on
itself.
Mark more module-specific rules as PHONY.
Test: diff build-aosp_arm.ninja (stripping _kati_always_build_)
Test: Turn on --warn_real_to_phony for Kati, see fewer warnings
Change-Id: I101ced4067780e38d18820f5d916596429087e49
These had been depending on the phony target for the library
(liblz4.vendor), not the actual built file and notice file.
Since we hadn't been saving the NOTICE file, and were only assuming the
installed notice file path. save that away for use during packaging.
Test: m vndk; diff out/target/product/generic/android-vndk-aosp_arm.zip
Test: m vndk; diff out/target/product/generic_arm64/android-vndk-aosp_arm64.zip
Change-Id: If9a4bed27030b7bd464cd3987739df94d32a0037
The common mk files form a long chain of generic sounding names that
don't make much sense. For instance, embedded, base, core_minimal, core
and core_base all inherit each other, but there's no logical ordering
of these names.
The common mks will be split based on destination partition, which will
create many new files. Merging some of the common ones before this split
keeps the total number of mks under control.
There are only 2 products inheriting this mk excluding base.mk (which
has over 300 descendants). The other levels in the hierarchy all have
multiple device categories rooted at them (e.g. wearables from base.mk,
tvs and cars from core_minimal.mk), but embedded.mk has not which
makes it a compelling target to remove.
Bug: 80410283
Test: diff products variables with multiproduct_kati
Change-Id: I35c05973dfefefb7a31686476215386b8b89a557
Merged-In: I35c05973dfefefb7a31686476215386b8b89a557
Merged-In: I2e25032645c87f084f911e14fade16bc802ff457