We split large apks and generated patches for them in parallel,
resulting in nondeterminate packages between different runs. This CL
sort the split transfers by target name first; and then add them
sequentially to the final transfer list.
Also fix a side effect where we may generate a wrong sha1 for split
ranges due to synchronization error.
Bug: 71770360
Bug: 71759418
Test: Generate the package several times, compare the log and the transfer list.
Change-Id: I2a49e22594d59ffaa98b11edc776be4e3c4c561f
This domain should instead depend on same_process_hal_file, to which all
domains already have access.
Bug: 70990973
Test: emulator -gpu guest; boots with no denials from bootanim.
Change-Id: Ic577dd3c3895f8471d68a0da245d37a17cd6a3f3
The options passed are already the default.
This is also to reduce the difference between user and userdebug
related to dexopt.
Test: m
Change-Id: Id62c38f145909b511761b471160028915000fc23
Prior to this CL, we have similar codes in different paths
(WriteFullOTAPackage / WriteBlockIncrementalOTAPackage /
WriteABOTAPackageWithBrilloScript). This CL factors out the common codes
that deal with OEM-specific properties into BuildInfo class, and adds
tests for the new class.
Test: python -m unittest test_ota_from_target_files
Test: Create an incremental package that uses and doesn't use OEM
properties respectively.
Test: Create a full package that uses and doesn't use OEM properties
respectively.
Change-Id: Ida914cace12803d55396fa503bafcac2db2a520e
This architecture only existed for unbundled use, but even the NDK is
removing support in their r17 release, so just remove support for it.
Test: build/soong/build_test.bash -only-config
Test: check buildserver configs, I don't see anything still using armv5
Change-Id: Ic183b510c9ada94438bd4cc2b9362fa438a29ced
Currently we determine if a test artifact has multiple build
outputs by checking if it is NATIVE_TEST, NATIVE_BENCHMARK, or
LOCAL_MULTILIB and declare the module is_native.
This is technically not true therefore let's use a different
variable to determine if we need multiple architecture directories.
Bug: 71554249
Test: make sl4a -j ; Results in an autogenerated empty configuration file.
Change-Id: I17c8f3ef7e1cd502b57e25c71688f12a35a9787d
Static libraries using the system STL have type
native:ndk:system:none, not native:ndk:system:shared, since no
actually linking takes place. These are still allowed to be linked to
platform modules.
Test: make checkbuild
Bug: None
Change-Id: Ib999bb0f422ec3938daa740fca5681e153d6525a
Some parts of envsetup.sh aren't very happy with things like
this:
function cd() {
builtin cd "$@" && pwd && ls -l
}
here, I have s/cd/builtin cd/ one such case where envsetup
is trying to execute the output of cd.
Test: manual
Change-Id: I2774481dfbd958410682a4f773f1b8f12a0080aa
Test: python -m unittest test_common
Test: Run sign_target_files_apks.py on a target with compressed APKs.
Change-Id: I107a8b8f2f0f82e2d1947f14c8a8b3778f633b11
llvm-ar is required for platform LTO build.
With GNU ar, we used crsPD flags, however 'P' flag is not supported by
llvm-ar. Since none of the platform archive files are built using third
party AR, the 'P' flag should not matter to us. However we've been
relying on one side-effect of 'P', where 'ar foo.a some/path/to/obj.o'
when foo.a already has a file named 'obj.o' will be an append operation,
regardless whether the existing one is the same (ar has no way of
telling the difference). We workaround this by always appending ('q'
flag) for llvm-ar. This may result in larger intermediate archive files
(more duplication) but will not affect the final build result.
Bug: 71618641
Test: m checkbuild
Change-Id: Id96a244cfe49cecfba08cc868dd18934ecb4ff23
* changes:
Clear resource_export_package outside conditionals
Fix adbs after move from build/tools to build/make/tools
Use proguard.jacoco.flags for EMMA_INSTRUMENT_STATIC
When generating VNDK snapshot, BOARD_VNDK_RUNTIME_DISABLE must not be
'true' to have correct ld.config.txt file.
Bug: 71349776
Test: lunch aosp_arm64_ab-user; make -j vndk dist
Change-Id: I20b14addb2f4a191134a1a9943e328566ca48424
$(resource_export_package) is used by package_internal.mk outside
ifeq ($(need_compile_res),true), but only cleared inside the
conditional. This causes unnecessary dependencies to be added
to an old value of $(resource_export_package). In rare cases,
the dependency can be on itself, causing a dependency loop.
Bug: 71571462
Test: m checkbuild
Change-Id: I9fda7fe3bf9d208ad4ba2f8cdb184034bf43f044
This is cherry-picked from attempt 3, which was reverted
due to http://b/70862583.
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: art/test/testrunner/run_build_test_target.py -j40 art-interpreter
Test: dalvik/dx/tests/run-all-tests
(cherry picked from commit ab1e54d5f1)
Change-Id: I119be15bd95747722114b970400b740fa47bf9e0
Merged-in: Ic42a518c90515b497e5cecec444ded373e403a4b
* clang -fno-caret-diagnostics
suppresses warning source lines, carets, and
the stats line of "n warnings generated"
* clang-tidy -extra-arg-before=-fno-caret-diagnotics
only suppresses the "n warnings generated" line.
* Pass this flag and -quiet to clang-tidy when
WITH_TIDY is not 1 or true.
* Remove redundant quotation marks around -extra-arg-before.
Bug: 69051430
Test: normal build and build with WITH_TIDY=1
Change-Id: I9021ee315edc977c15dda6ab246a00182f31fad1
In order to let GSI more generic. Normalize the 64 bits arm GSI
to be:
TARGET_2ND_ARCH_VARIANT := armv8-a
TARGET_2ND_CPU_VARIANT := generic
Bug: 64775084
Test: Build pass and boot to home screen
Change-Id: I1dd5aa8524c1d243f832372bf7e3e64fae09e945
Merged-In: I1dd5aa8524c1d243f832372bf7e3e64fae09e945
VNDK snapshot phony package, vndk_v$VER, is redefined to
separate phony packages per VNDK snapshot build variant,
vndk_v$VER_$VARIANT, where $VARIANT is defined as the primary
$TARGET_ARCH of the build target.
Accordingly, top level Android.bp file under prebuilts/vndk/v$VER
is redefined as separate Android.bp files for each snapshot
variant at prebuilts/vndk/v$VER/$VARIANT/Android.bp.
Test: m -j PRODUCT_EXTRA_VNDK_VERSIONS=27 (after installing
snapshot to prebuilts/vndk/v27)
Bug: 71370248
Change-Id: Ida449978090fe8a4f16376c991d34fa0945be596
Redefine VNDK snapshot top level dir with $(TARGET_PRODUCT) and
additionally package TARGET_2ND_ARCH build variants of libs since
they are needed by 32bit processes running on a 64bit device.
Test: m -j vndk dist
Bug: 71370248
Change-Id: I8c6953f1b52b61caf413559bab56b294479b6d86
The suffix for VNDK config files ld.config.txt,
llndk.libraries.txt, and vndksp.libraries.txt has been changed to
*.$(PLATFORM_VNDK_VERSION).txt.
Refactor the paths-of-intermediates function such that instead of
parsing filenames from list of modules within the function,
provide the function a list of preprocessed
module_name:file_name pairs.
Bug: 70918357
Test: m -j vndk dist
Change-Id: I2d69b7822cef4c709e15a53f99c7ab2efb22406c