With LOCAL_PROTO_OPTIMIZE_TYPE set to one of the lite variants, the build system thinks
the proto should be compiled with lite, and will link in the line runtime libs. But if
the .proto files don't contain the directive to compile the source as lite
(option optimize_for = LITE_RUNTIME;), then the generated code will be full and the
libraries will be full, and it won't link.
Test: make
Merged-In: Ib8a135218d62fa42fa6448c49c97f7aeb2755c42
Change-Id: Ib8a135218d62fa42fa6448c49c97f7aeb2755c42
With LOCAL_PROTO_OPTIMIZE_TYPE set to one of the lite variants, the build system thinks
the proto should be compiled with lite, and will link in the line runtime libs. But if
the .proto files don't contain the directive to compile the source as lite
(option optimize_for = LITE_RUNTIME;), then the generated code will be full and the
libraries will be full, and it won't link.
Test: make
Merged-In: Ib8a135218d62fa42fa6448c49c97f7aeb2755c42
Change-Id: Ib8a135218d62fa42fa6448c49c97f7aeb2755c42
It is replaced by FCM Version specified in the device manifest
directly.
Test: builds
Bug: 69636193
Change-Id: I9e2b871b4c6190107ba9fbb36495bb41c461a0a3
Merged-In: I9e2b871b4c6190107ba9fbb36495bb41c461a0a3
There are now two NDK sysroot timestamp files: ndk_base which depends
on the headers and stub libraries, and ndk which depends on ndk_base
and the static libraries. For building modules that need the NDK, we
only need to depend on the base sysroot.
Test: make native
Bug: None
Change-Id: I803032eda125a632d780c9cde10f47270491d0d2
Test: m -j PRODUCT-aosp_x86-userdebug
Test: Check that some .vdex files built have R8 generated code
Change-Id: I06903dc30c802bbcffd6992c3c25a1b711a5875c
As a followup to this, Treble will be removed. It's too generic
to be used with any reliability or meaning. Individual switches
also mean that they can be used independently.
Bug: 62019611
Test: manual
Change-Id: Ib1bd7d23510daac70a4520b9082f7492b8cbf027
PLATFORM_VNDK_VERSION means the VNDK version that current build
provides. This value will be set to PLATFORM_SDK_VERSION once the
version is release. Otherwise, it will be set to "current".
Bug: 69883025
Test: device boot
Change-Id: I3fde4943aa062d9d148a3d7fc2798948870a48c6
Some test targets include dex files as resource to be loaded
at runtime. This is an issue since full D8 also take dex files
as input.
This CL extracts only the class files and feed that to D8 instead
of the whole jar.
Test: USE_D8_DESUGAR=true m checkbuild tests
Bug: 69329508
Change-Id: I52d80ec01933573f18eb497472a80b6a649c9dae
Add an option to use D8's desugar instead of the standalone version.
USE_D8_DESUGAR=true m would trigger DCHECK in dex2oat unless
https://android-review.googlesource.com/c/platform/art/+/562595 is
patched in as well.
Bug: 69329508
Test: m && USE_D8_DESUGAR=false m
Change-Id: I601dada44c361e45bbc0e2227ae1544a7d9efa90
After this revert CL topic, the default toolchain for Android
goes back to being OpenJDK 8.
This revert is being prepared ahead of time in case of
any problems with CL topic:
https://r.android.com/#/q/topic:bug69449021_attempt2
Bug: 69449021
Test: Treehugger
Change-Id: I0ef41eff91e0d8437dc95e8569880f26f2529bc9
(This is cherry-picked from the first attempt to submit this CL
topic, which was reverted after 3 hours because of bug 70286093;
robolectric 3.{1.1,4.2} now stick with OpenJDK 8 to avoid that bug).
Before this CL topic, the build toolchain for .java source files
used OpenJDK 8, targeting 1.8 (v52 class files) by default.
This CL topic switches the default to OpenJDK 9, but still
targeting 1.8 (v52 class files) by default. If USE_ERROR_PRONE
is set to true, then the default remains OpenJDK 8.
Code in the Android platform should generally be unaffected,
but if host tools that are now compiled and run using
OpenJDK 9 are causing problems for your team, then let me
know.
To manually switch back to the old behavior for now (continue
using OpenJDK 8), run this command in your shell:
export EXPERIMENTAL_USE_OPENJDK9=false
Bug: 69449021
Test: Treehugger
Test: Running robolectric tests succeeds on internal-master
after cherry-picking this CL topic, using the command
line from http://b/70286093#comment1
(cherry picked from commit 5f36a62622)
Change-Id: I4972c714ed80c35328895e88675b56bf0e195c01
This reverts commit 7fbc84686c.
Reason for revert: Build failures on oc-mr1-dev-plus-aosp, b/70486468.
Change-Id: I8c1bf38355b1e35748e065d39038c2aaf37c64af
Exempt-From-Owner-Approval: Revert due to build failures
Test: m -j PRODUCT-aosp_x86-userdebug
Test: Check that some .vdex files built have R8 generated code
Change-Id: I3c07cfce7db44fcc2e1bf99960da248558d4a686
This is only used in file-based OTA, where we may reserve space on
/system partition. With the deprecation of file-based OTA since O, the
code has become obsolete.
Test: `m dist`
Change-Id: I2bd686b292f93b566fe28a2bcd74c564ffc75dac
In TF projects, we can add dir to COMPATIBILITY.tradefed_tests_dir to
include the test names in the artifact, e.g.,
LOCAL_PATH := $(call my-dir)
COMPATIBILITY.tradefed_tests_dir := \
$(COMPATIBILITY.tradefed_tests_dir) $(LOCAL_PATH)/res/config
Bug: 69678490
Test: m -j dist tradefed-tests-list
Confirm out/dist/tradefed-tests-list.zip exists and has a file
tradefed-tests-list which contains the list of tests.
Change-Id: I67b82e5aeec68e9263bada198669b4a23a0750cb
* Moves the test data logic up to before suite logic.
* Saves the source to relative dest pairs.
* Re-uses the saved source to relative dest pairs when generating
the src:dst pairs for suites.
Bug: 69802886
Test: Build a native test with test data and ensured test data
ended up in each arch specific destination folder.
Change-Id: I52cf8771487fb52276f5e6aae5b8eecb222544d7
jacoco-report-classes.jar is found by a glob, so there is no
explicit dependency on it. Add a dependency to javalib.jar so
that it gets installed.
Bug: 70295664
Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_STATIC=true WITH_DEXPREPOT=false
Change-Id: Ia7feaa132879539f88c08a49148e4bbb5a141eab
The oreo merge to AOSP master added a new variable that must
be set when dex preopting a java module with a profile.
Test: m checkbuild
Change-Id: Ib917761ea4fea481e32f3fb663a18b882a13f4a1
Remove 'android-vndk-snapshot' path prefix when creating VNDK
snapshot zip with soong_zip. The path prefix makes it cumbersome
to unzip and install the snapshots to prebuilts/vndk/v{version}.
Test: development/vndk/snapshot/build.sh &&
python development/vndk/snapshot/update.py
Bug: 69950927
Change-Id: I9e5a1898056627ba98a408f048b7cb710e5ef07c
This also updates mkf2fsuserimg.sh to call sload.f2fs.
Change-Id: I245f6b3dfcd966fbc6783329d781375879fcd065
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
After this revert CL topic, the default toolchain for Android
goes back to being OpenJDK 8.
This revert is being prepared ahead of time in case of
any problems with original change topic,
https://r.android.com/#/q/topic:bug_69449021
Bug: 69449021
Test: Treehugger
This reverts commit 3337fbfa6114379f13a35ad3d6bf9cb5a5b8689b
Change-Id: Ibc050ad9a87dceb336e7cd961015e70a639e43db
Before this CL topic, the build toolchain for .java source files
used OpenJDK 8, targeting 1.8 (v52 class files) by default.
This CL topic switches the default to OpenJDK 9, but still
targeting 1.8 (v52 class files) by default. If USE_ERROR_PRONE
is set to true, then the default remains OpenJDK 8.
Code in the Android platform should generally be unaffected,
but if host tools that are now compiled and run using
OpenJDK 9 are causing problems for your team, then let me
know.
To manually switch back to the old behavior for now (continue
using OpenJDK 8), run this command in your shell:
export EXPERIMENTAL_USE_OPENJDK9=false
Bug: 69449021
Test: Treehugger
Test: "make core-oj", checked that compilation now uses
OpenJDK 9 javac -target 1.8
Test: Checked that this is still compiled using OpenJDK 8.
export EXPERIMENTAL_USE_OPENJDK9=false
make core-oj
Change-Id: Iadae20d25e37d2cf0a89918a54af51fab1a4f01d
Allow BOARD_VNDK_VERSION=<version> only if the prebuilt VNDK for
the <version> is provided.
If PRODUCT_EXTRA_VNDK_VERSIONS is set, all the versions in the list
will be checked as well.
Bug: 38304393
Bug: 65377115
Bug: 68123344
Test: Set BOARD_VNDK_VERSION := current and check build
Test: Set PRODUCT_EXTRA_VNDK_VERSIONS := 27 and check if it returns
error when prebuilts/vndk/v27/Android.mk is not provided
Change-Id: I2e43d71f1ea3717ab8c45de84c926ecc43193307
BUILD_DROIDDOC allows LOCAL_SRC_FILES to refer to sources in
$(LOCAL_PATH) and LOCAL_INTERMEDIATE_SOURCES to refer to sources
in $(TARGET_OUT_COMMON_INTERMEDIATES). The droiddoc rules that
use files generated in Soong were trying to abuse LOCAL_SRC_FILES
to point to files in $(OUT_DIR)/soong using ../.. to counter
$(LOCAL_PATH), but failed if $(OUT_DIR) was absolute. Add
LOCAL_GENERATED_SOURCES that can take a path relative to the
top of the source tree or an absolute path.
Bug: 70166718
Test: m OUT_DIR=/tmp/out docs
Change-Id: Iaf0d622a3405da0bf520f7312e11e75e9328062e
Merged-In: Iaf0d622a3405da0bf520f7312e11e75e9328062e
(cherry-picked from commit 4c44a94dab)
In some non-A/B setups, recovery.img is still being used. If AVB is
enabled, we currently don't add a hash footer to recovery.img nor do
we include the hash digest in vbmeta.img. This CL fixes that.
This was tested on a build with the following settings
TARGET_NO_RECOVERY := false
BOARD_USES_RECOVERY_AS_BOOT := false
BOARD_BUILD_SYSTEM_ROOT_IMAGE := false
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 33554432
BOARD_AVB_RECOVERY_ADD_HASH_FOOTER_ARGS := --prop foo:bar
and then it was verified using 'avbtool info_image' that recovery.img
has a hash footer and a 'foo' property with the value 'bar'. This was
also checked successfully for vbmeta.img.
Test: See above.
Bug: None
Change-Id: I98124d5661ea768411416fa8d2a2ae6cc664fdc8
The test rather than the build system needs to check
the files according to the versions of the provided
device (and it does so now).
Fixes: 69864925
Test: clean revert, manual
(revert of cb5b8d2d47)
Change-Id: I1922190bfadca74d0652440fe61e29f22a846cf7