Commit Graph

18255 Commits

Author SHA1 Message Date
Colin Cross d61a1aba36 Merge changes from topics "hiddenapi-soong", "hostdex_install"
* changes:
  Move hiddenapi to Soong
  Simplify soong_java_prebuilt.mk and soong_app_prebuilt.mk
2019-01-17 22:53:24 +00:00
Xin Li ab9de0ab6e Merge "DO NOT MERGE - Merge pie-platform-release (PPRL.190105.001) into master" 2019-01-17 21:19:43 +00:00
Colin Cross 49adea3bd8 Move hiddenapi to Soong
Perform hiddenapi CSV generation and dex encoding for Soong modules
in Soong.  This fixes an issue where dexpreopting was happening on
a different jar than was being installed.

Bug: 122856783
Test: m checkbuild
Change-Id: I24a235c63ff62fed7e1af9f2fd17e55b0c1598a5
2019-01-17 10:23:10 -08:00
Colin Cross 83b7bdf765 Simplify soong_java_prebuilt.mk and soong_app_prebuilt.mk
Simplify importing Soong modules into Make by always copying
LOCAL_PREBUILT_MODULE_FILE to LOCAL_BUILT_MODULE, which lets
Soong pick the final output file instead of trying to figure
out which of the various intermediate files should be the
output file.

Also fixes an issue where hostdex modules could attempt to
copy to both $(common_javalib.jar) and $(LOCAL_BUILT_MODULE),
which are the same file for host java modules.

Test: set compile_dex:true on core.platform.api.stubs. no warnings
      of target overriding
Test: m checkbuild

Change-Id: I2e089012436fe8649db82a673d446d1c5a73a731
2019-01-17 10:23:06 -08:00
Nicolas Geoffray 85437e248d Merge "dex_preopt: differentiate between updatable boot jars and non-updatable boot jars." 2019-01-17 18:08:13 +00:00
Nicolas Geoffray 6ce12f56de dex_preopt: differentiate between updatable boot jars and non-updatable boot jars.
bug: 119868597
Test: m
Change-Id: I2f12ed6f37b629effc30e7b0c3310dc32e5ff4c8
2019-01-17 14:35:41 +00:00
Treehugger Robot 0a8750b3da Merge "Change the impl lib name of java_sdk_library" 2019-01-17 10:01:37 +00:00
Sundong Ahn a9f2ef5ed1 Change the impl lib name of java_sdk_library
The impl lib name of java_sdk_library is changed to {module_name}.jar
instead of {module_name}.impl.jar

Bug: 110404779
Test: m -j
Change-Id: I275cd40e3682640b96425e56698cea770888cbb1
Merged-In: I275cd40e3682640b96425e56698cea770888cbb1
(cherry picked from commit 0372f189ac)
2019-01-17 09:42:57 +09:00
Jeongik Cha f712ce79f5 Execute appcompat for apps built from soong
Appcompat runs for app defined in Android.mk, but not in Android.bp
So make appcompat run for app from soong(Android.bp)

Bug: 110073830
Bug: 122026042

Test: m out/target/product/$(get_build_var TARGET_DEVICE)/appcompat.zip

Change-Id: I73832410ec5850222b04086c2a377146886ba035
2019-01-16 14:27:21 +09:00
Colin Cross 371f557f8e Merge "Revert "Simplify soong_java_prebuilt.mk and soong_app_prebuilt.mk"" 2019-01-16 01:41:01 +00:00
Colin Cross 5d196364e1 Revert "Simplify soong_java_prebuilt.mk and soong_app_prebuilt.mk"
This reverts commit a76cc6d732.

Reason for revert: broke emma turbine build

Change-Id: Ie894565501d0de44f96dc736408a8c4e2ba2ed90
2019-01-16 01:38:41 +00:00
Colin Cross 8bc94444eb Merge "Simplify soong_java_prebuilt.mk and soong_app_prebuilt.mk" 2019-01-15 23:39:25 +00:00
Ivan Lozano c244c21573 Enable execute-only memory layouts by default.
This enables execute-only memory (XOM) layouts to be used by default in
the build system. As of now, there's only support for ARM64 devices, so
this only affects those. Since userland XOM requires kernel support,
devices without the necessary support will continue to allow pages
marked execute-only to be read and they should be unaffected by this.

Bug: 77958880
Test: Device with and without kernel support boot.
Test: Binary throws segfault when reading from XOM on supported device.
Test: Debugger works and stack traces are still generated correctly.
Test: Teamfooding, stable during regular usage.

Change-Id: I8db4235c8e60eea6d701bdf3c43b79a06d6b01cd
2019-01-15 13:05:59 -08:00
Treehugger Robot d878baceda Merge "Fix typo in some comments" 2019-01-15 19:55:08 +00:00
Dan Willemsen 7c7252d628 Merge "Stop using the `files` target for droidcore" 2019-01-15 19:11:01 +00:00
Neil Fuller 5a89537574 Merge "Revert "Add core-simple to the standard boot classpath"" 2019-01-15 19:04:26 +00:00
Xin Li dd1f2cf7de DO NOT MERGE - Merge pie-platform-release (PPRL.190105.001) into master
Bug: 122685541
Change-Id: Icecb4e9698f55dbacce8045cddd0c4756c814e52
2019-01-15 10:17:53 -08:00
Colin Cross a76cc6d732 Simplify soong_java_prebuilt.mk and soong_app_prebuilt.mk
Simplify importing Soong modules into Make by always copying
LOCAL_PREBUILT_MODULE_FILE to LOCAL_BUILT_MODULE, which lets
Soong pick the final output file instead of trying to figure
out which of the various intermediate files should be the
output file.

Also fixes an issue where hostdex modules could attempt to
copy to both $(common_javalib.jar) and $(LOCAL_BUILT_MODULE),
which are the same file for host java modules.

Test: set compile_dex:true on core.platform.api.stubs. no warnings
      of target overriding
Test: m checkbuild

Change-Id: Id84d499a0869961be5a906d8472b75b9c843b4b4
2019-01-15 10:16:55 -08:00
Treehugger Robot 63d012f987 Merge "Error if a Soong module attempts to install a classes jar" 2019-01-15 17:40:28 +00:00
Jiyong Park 9ee3a16f26 Fix typo in some comments
Test: no need
Change-Id: I68620689f1a2eb2eca67e11b55dc781e7744859e
2019-01-16 01:07:35 +09:00
Treehugger Robot fc598781c6 Merge "ATest: Add test config template for python." 2019-01-15 10:04:58 +00:00
Dan Willemsen 3b6f6fe8aa Stop using the `files` target for droidcore
This way if a BoardConfig.mk configures a specific image to exist (so it
doesn't end up as a folder on /system), but does not configure for it to
be created (like the device targets on AOSP that use a prebuilt), we
won't unnecessarily trigger the build system to build the contents.

Test: `m` before and after, comparing file lists
Test: check treehugger builds before/after
Change-Id: If0e4b958b3dfaa02771a5da70f970379635f904e
2019-01-14 21:46:31 -08:00
android-build-team Robot 0252b84cf1 Make change and version bump to PPRL.190105.001
Change-Id: Id79e037f244d735dbbe8d70f0840ae294ec87fb4
2019-01-14 22:14:10 +00:00
Elliott Hughes 37ab4e2b2e Use find(1)'s -exec directly.
toybox xargs doesnt have --no-run-if-empty:

  xargs: Unknown option no-run-if-empty (see "xargs --help")

But we shouldn't need it anyway.

Test: make -j32 showcommands dist TARGET_BUILD_APPS='Launcher3 Launcher3Tests' EMMA_INSTRUMENT_STATIC=true TARGET_BUILD_VARIANT=userdebug
Change-Id: I72f680c27b58a42b9fb9de1a0bc4187cabcfb516
2019-01-14 12:56:07 -08:00
Colin Cross 1a2e9dc10c Error if a Soong module attempts to install a classes jar
Only dex jars should be installed, make it an error to not provide
a dex jar for an device installable java module.

Bug: 122831369
Test: m checkbuild
Change-Id: I99c5738e6053fbaa3dd22406f50b7a002555702c
2019-01-14 12:50:08 -08:00
Neil Fuller c69129b2b8 Revert "Add core-simple to the standard boot classpath"
This reverts commit e85777782a.

Bug: 119301609
Test: build
Change-Id: Ibf9f9f56a6027a4cc3f3ea5a34b3dee748ad83c2
2019-01-14 16:02:01 +00:00
Nicolas Geoffray 7769c3459a Merge "Remove conscrypt from boot image." 2019-01-14 08:31:05 +00:00
Luca Stefani 5f1faeb9c2 Make get-file-size compatible with toybox stat
* Use the same format as mk_qemu_image.sh

Change-Id: I5df23f488006440075a00798a171f7a8856e097a
2019-01-12 19:13:06 +01:00
Treehugger Robot b26319ca38 Merge "Fix size check for devices with multiple groups" 2019-01-12 05:59:30 +00:00
Adam Seaton 2f19e51ae4 Merge platform/build into pi-platform-dev for January builds 2019-01-11 15:38:12 -08:00
Treehugger Robot d148d61ccf Merge "Deprecate USER in favor of BUILD_USERNAME" 2019-01-11 22:32:57 +00:00
Yifan Hong d58e70bf21 Fix size check for devices with multiple groups
The old code calls check-sum-of-partition-sizes within a foreach
loop, causing syntax error:
... fi partition_size_list=...

Add a semicolon after fi to fix this.
Test: build with multiple groups, each group with a partition in it

Change-Id: Ic4387408f3efc1744871619c300546765c678a61
2019-01-11 13:21:11 -08:00
Michael Butler d15c8c1da4 Merge "Revert "Add $(PRODUCT_OUT)/apex to the artifact path whitelist"" 2019-01-11 20:37:55 +00:00
Michael Butler 4cf7cde9aa Revert "Add $(PRODUCT_OUT)/apex to the artifact path whitelist"
This reverts commit 3387e65686.

Reason for revert: Topic likely causing build failure on aosp_x86_64-eng in aosp_master:

"build/make/core/base_rules.mk:271: error: art/build/apex: MODULE.TARGET.SHARED_LIBRARIES.com.android.runtime.host.libart-compiler already defined by art/build/apex."

Change-Id: I2033828e7a13062b72d1d66a7f289cf5bb12b776
2019-01-11 20:24:25 +00:00
Roland Levillain 2e77d4ee2c Merge "Support kryo385 CPU." 2019-01-11 18:41:11 +00:00
Treehugger Robot 6bff2bc817 Merge "Add $(PRODUCT_OUT)/apex to the artifact path whitelist" 2019-01-11 17:43:16 +00:00
Vladimir Marko e3a2db8661 Remove conscrypt from boot image.
But keep it as part of the boot class path and deliver the
dex files uncompressed in /system/framework/conscrypt.jar.

Test: Pixel 2 XL boots.
Bug: 119868597
Change-Id: I41b96a586401d120998be5a111331935030922c6
2019-01-11 10:27:17 +00:00
Yoshisato Yanagisawa 391cbc5409 Remove Goma resource check code.
Since resource check has been done in Soong, we do not need that
here.

Bug: 118390303
Test: treehugger
Change-Id: Ib9d0862c65c6dc6e7fd7563995a9a335b3185786
Signed-off-by: Yoshisato Yanagisawa <yyanagisawa@google.com>
2019-01-11 17:07:58 +09:00
Jiyong Park 3387e65686 Add $(PRODUCT_OUT)/apex to the artifact path whitelist
$(PRODUCT_OUT)/apex is where shared libraries in APEXes get installed
into. The path can be considered as a fake path as the shared libraries
are installed there just to have symbol files for them under
$(PRODUCT_OUT)/symbols/apex for debugging purpose. Shared libraries in
APEXes are made available to the path at runtime by mounting APEXes via
apexd. The files under $(PRODUCT_OUT)/apex are never compiled into a
file system image (e.g. system.img)

Bug: 120846816
Test: build/soong/build_test.bash -dist -products mainline_system_arm64
Change-Id: I3727091214f08f945559fa5f0f1450e74c1a5c9b
2019-01-11 13:33:56 +09:00
Jeongik Cha bdf0ec03b6 Merge "Dump and enforce certificate for apks" 2019-01-11 04:31:02 +00:00
Treehugger Robot 73e13b5030 Merge changes I68c8a566,Ib8a588e5
* changes:
  All all_objects to LOCAL_INTERMEDIATE_TARGETS
  Reorder binary.mk to move LOCAL_INTERMEDIATE_TARGETS later
2019-01-11 04:29:49 +00:00
Treehugger Robot 1b8939b946 Merge "Add BUILD_USERNAME and BUILD_HOSTNAME" 2019-01-10 21:29:47 +00:00
Dan Willemsen 11ee341199 All all_objects to LOCAL_INTERMEDIATE_TARGETS
This fixes the WITH_TIDY flakes that we've been seeing, as we've been
relying on a particular order of target-specific variable inheritance.

Change-Id: I68c8a56620c29a41e45f26e5ea81a5313490c1cf
Fixes: 122637600
Test: WITH_TIDY=true m libhellojni_jni
2019-01-10 13:21:07 -08:00
Dan Willemsen e24da82ffd Reorder binary.mk to move LOCAL_INTERMEDIATE_TARGETS later
I'll be adding more intermediate targets in this file, so move all of
the uses closer to the end.

Bug: 122637600
Test: build-aosp_arm64.ninja is the same before and after
Change-Id: Ib8a588e570cb2a61bab75118db6e480d6afceaa8
2019-01-10 13:10:17 -08:00
Treehugger Robot 1951e70416 Merge "Remove code to start Goma compiler_proxy." 2019-01-10 19:24:03 +00:00
Treehugger Robot 82f2cb078f Merge "Stop trying to read depfile from vtsc" 2019-01-10 17:46:34 +00:00
Treehugger Robot 56645f7d88 Merge "Support LOCAL_DEX_PREOPT := nostripping" 2019-01-10 08:58:01 +00:00
Yoshisato Yanagisawa f07f721235 Remove code to start Goma compiler_proxy.
Since the code to start compiler proxy is implemented in soong now
(https://android-review.googlesource.com/c/platform/build/soong/+/839293).
We do not need to do that in goma.mk.

Bug: 118390303
Test: After staring goma client, executed followings:
Test: USE_GOMA=true make -j 4
Change-Id: If3da9908483e183f539c0d6ef9dc5826200b0d6b
Signed-off-by: Yoshisato Yanagisawa <yyanagisawa@google.com>
2019-01-10 14:29:45 +09:00
Colin Cross 723a22feea Support LOCAL_DEX_PREOPT := nostripping
Support LOCAL_DEX_PREOPT := nostripping by passing it to
dexpreopt_gen.

Bug: 122610462
Test: m
Change-Id: I05f7009d38505f995cd16cc8dbb4ecd6ecc3d71c
2019-01-09 21:27:53 -08:00
Jeongik Cha b2c4bb7e3d Dump and enforce certificate for apks
Dump the list of APKs that aren't located at system partition and signed
with system certificate.
And when enforcement option is enabled, it makes build error if there is
the apk that satisfies the condition above.

Bug: 74699609

Test: m -j
Test: m out/target/product/$(get_build_var TARGET_DEVICE)/certificate_violation_modules.txt

Change-Id: I23c41f2665dd97abac3e77d1c82d81ff91b894eb
2019-01-10 11:37:22 +09:00
Dan Willemsen 5125746561 Stop trying to read depfile from vtsc
vtsc just ignores the -d argument and apparently can't write a depfile.
So for now, just stop assuming it produces one.

Bug: 121058584
Bug: 120496070
Test: NINJA_ARGS="-w missingdepfile=err" m libvts_interfacespecification
Change-Id: Ie1483fbeead9f710d8a6636df07ce44bbc4a6e2d
2019-01-09 16:40:58 -08:00
Jiyong Park 8d95a14476 Merge "Add PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES" 2019-01-09 23:33:51 +00:00
Nicolas Geoffray 9ce12752dc Merge "Preopt: Pass -Xbootclasspath: arg to dex2oat." 2019-01-09 12:37:15 +00:00
Jiyong Park 185d41e84d Add PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES
It is a list of <module_name>:<manifest_name> pairs. When the module
name of an APK or an APEX matches with <module_name>, then its app
manifest name is overridden to <manifest_name>.

<module_name> and <manifest_name> can be patterns as in
com.android.%:com.mycompany.android.%.release

Test: m with PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES for
1) an APK in Android.mk
2) an APK in ANdroid.bp
3) an APEX
and check that manifest names are modified as specified

Change-Id: Ic09e059ea7b7ea99a50a1cf423a25aa587ef4466
2019-01-09 21:08:10 +09:00
Anton Hansson fe9f373e10 Merge "Fix qemu image definition conditionals" 2019-01-09 10:33:51 +00:00
Thomas Joseph Avila 6083089f7a set BUILD_ID=PI
Bug: 122310206
2019-01-08 15:36:57 -08:00
Treehugger Robot d968c5dab1 Merge "Remove data binding from master build" 2019-01-08 04:56:01 +00:00
Treehugger Robot dc1f4499d0 Merge "Fix depfile output from dexpreopt strip script" 2019-01-08 02:19:35 +00:00
Yigit Boyar a53f680352 Remove data binding from master build
Data Binding only works as part of tools. It also only builds there
(in studio-master-dev branch). This CL removes references to the data
binding checkout which will be followed by removal of data binding
from master manifest.

Bug: 122478832
Change-Id: I338cc1aa10a5ad39114bc0ed14a529365016e9a4
2019-01-08 00:43:03 +00:00
Tao Bao 9f1eda65e6 Merge "Don't build retrofit OTA package if vendor.img is unavailable." 2019-01-07 23:49:23 +00:00
Dan Willemsen 07b73576e4 Fix depfile output from dexpreopt strip script
strip.sh uses $2.d to write the depfile, while this had been passing in
$@.tmp in as $2. Instead, move the file first, then use strip.sh with
the real output file so that we can find the depfile.

Also don't specify a depfile (or other dependencies) when
LOCAL_CERTIFICATE==PRESIGNED, as we'll skip all of that in the rule in
that case.

Bug: 121058584
Test: NINJA_ARGS="-w missingdepfile=true" m
Change-Id: I1323e775e3a6ce5a06a19d59f3fb07495f116f34
2019-01-07 15:06:48 -08:00
Treehugger Robot 4ab7bb3ee8 Merge "Save invocation info of dex2oat runs." 2019-01-07 21:38:16 +00:00
Tao Bao 519d18286e Don't build retrofit OTA package if vendor.img is unavailable.
We used to build retrofit full OTA package as long as
PRODUCT_RETROFIT_DYNAMIC_PARTITIONS is true. This doesn't work with AOSP
targets that have the flag set but without any available vendor image.

This CL detects such a condition and uses a separate flag to guard the
retrofit OTA building as well as the split super images generation.

Bug: 120852744
Test: `m -j dist` on blueline (w/ vendor images) and aosp_blueline (w/o
      vendor images).
Change-Id: I65726f24f8fc546be6802941a6a06590a3804c16
2019-01-07 12:22:48 -08:00
Yifan Hong b3f5918890 Merge "Allow devices launched with DAP to override super partition name." 2019-01-07 18:26:17 +00:00
Treehugger Robot 575402b967 Merge "Fix hiddenapi-greylist.csv generation." 2019-01-07 16:28:31 +00:00
Treehugger Robot c3efc773aa Merge "Update OWNERS for dex preopt related files." 2019-01-07 15:28:43 +00:00
Mathew Inwood 0fa280036b Fix hiddenapi-greylist.csv generation.
It was referring to a non-existant macro paramater resulting in empty
output.

Test: m out/target/common/obj/PACKAGING/hiddenapi-greylist.csv
& then check output.

(cherry picked from commit 8626c8ea95)

Change-Id: Ib48042ecca320c4d7c3a27959e41e5c55099b27a
Merged-In: Ib48042ecca320c4d7c3a27959e41e5c55099b27a
2019-01-07 14:59:51 +00:00
Tor Norbye 5ca77c512c Merge "Switch apicheck over from doclava to metalava" 2019-01-06 16:04:33 +00:00
Yifan Hong 035c0ea0d4 Allow devices launched with DAP to override super partition name.
Test: on cuttlefish
Bug: 111801737
Change-Id: Ibb9b7132898d3c871186ded01432de4419809e7c
2019-01-04 16:03:50 -08:00
Treehugger Robot a84df446be Merge "Fix dep filename for rs.srcjar" 2019-01-04 15:17:50 +00:00
Tianjie Xu daf0839f0b Merge "recovery text images: Use center_alignment for background texts" 2019-01-04 07:26:32 +00:00
Dan Willemsen a9cb7e3392 Fix dep filename for rs.srcjar
Caught by https://android-review.googlesource.com/861510

Bug: 121058584
Test: m out/target/common/obj/APPS/Gallery2_intermediates/renderscript/rs.srcjar
Test: NINJA_ARGS="-t deps out/target/common/obj/APPS/Gallery2_intermediates/renderscript/rs.srcjar" m
Change-Id: I92a803963f4431e8506b1f2517a7186d16667709
2019-01-03 22:14:56 -08:00
Treehugger Robot 28bad7a498 Merge "Pack libsquashfs_utils.so into otatools.zip." 2019-01-04 00:32:06 +00:00
android-build-team Robot 6d1164be43 Version bump to PPRL.181205.002
Change-Id: Ia860871139d5795525d6ebe105c32bbe857214a0
2019-01-03 23:49:38 +00:00
Treehugger Robot 6fee1039af Merge "Rename to LOCAL_PREFER_CODE_INTEGRITY" 2019-01-03 22:22:26 +00:00
Tao Bao beea6c0828 Pack libsquashfs_utils.so into otatools.zip.
Overlooked the transitive dependency on this lib in my previous CL that
packs libfec.so.

Bug: 122280472
Test: Build `otatools.zip`. Unzip and check that
      `ldd bin/delta_generator` no longer shows any missing lib.
Change-Id: I7b633ea870f05b86ee7760c736dac7c74dee5dc2
2019-01-03 12:34:40 -08:00
Jiyong Park b6c095ff4d Read all product makefiles even when TARGET_BUILD_APPS is set
This allows us to have vendor-specific product makefiles for building
unbundled artifacts. The makefile could be used to specify path to the
keystore used to sign the artifacts for the vendor.

Bug: 121224311
Test: m
Change-Id: I260bfddc5fc438fc0986b39d9010087bf758c7ca
2019-01-04 04:04:38 +09:00
Victor Hsieh 330d21d53b Rename to LOCAL_PREFER_CODE_INTEGRITY
During code review, the name change was suggested.

Test: local CTS passed
Bug: 112037137
Change-Id: I1782c532ad6dd36ee8aad7987e47a14f5c1895ee
2019-01-03 09:48:39 -08:00
Tao Bao a19f8e993b Pack libfec.so into otatools.zip.
delta_generator now has a dependency on libfec.so [1], for generating
A/B incrementals.

[1] https://android-review.googlesource.com/c/platform/system/update_engine/+/854154

Bug: 122280472
Test: `m -j otatools-package` with aosp_marlin-userdebug. Check that
      `otatools.zip` contains libfec.so.
Change-Id: Ia6642bb2c7ccb0f89ad3079bdf65e4dbffee13f5
2019-01-02 23:24:51 -08:00
Dan Willemsen 0636428d43 Deprecate USER in favor of BUILD_USERNAME
Bug: 122270019
Test: treehugger, codesearch
2019-01-02 14:33:29 -08:00
Dan Willemsen 63e48db6d1 Add BUILD_USERNAME and BUILD_HOSTNAME
These replace $USER and `hostname`, which will soon become stable values
due to sandboxing the build on Linux.

Bug: 122270019
Test: check build.prop
Change-Id: I7493e45a2a2defbdba5d82596cb91d68480f0187
2019-01-02 14:33:29 -08:00
Tor Norbye cb58fa13df Switch apicheck over from doclava to metalava
Apicheck seems to only be used for signature file
conversion and diffing at this point.

Test: make dist
Not Yet Merged In Ib8c09ba7f85fbb48526132ca8cc85856d63ca407
Change-Id: I5ca70a019ef4f7828f0a566f7745fc2dbf673b2e
2019-01-01 13:18:04 -08:00
Dan Willemsen ad6a15433e Produce ro.build.version.preview_sdk_fingerprint
This is just a hash of the current.txt and system-current.txt right now,
though it may expand to include other API surfaces in the future.

Once prebuilts/sdk/current is populated with api_fingerprint.txt files,
we can use those for unbundled builds, but until then, just use the
PLATFORM_PREVIEW_SDK_VERSION as a placeholder.

MD5 was just the most convenient, since we don't have a sha tool that we
can use on Mac currently. I'm hoping we can get a toybox-based tool in
the future that standardizes that, but we aren't currently using sha*sum
from toybox on Linux, much less on Darwin yet.

Test: m dist out/dist/api_fingerprint.txt
Test: m out/target/product/.../system/build.prop
Change-Id: If69f270560d05135cb81a9bb2d1b208ea78f86df
2018-12-27 12:30:05 -08:00
Vladimir Marko 3266d6ef22 Preopt: Pass -Xbootclasspath: arg to dex2oat.
Test: Pixel 2 XL boots.
Bug: 119868597
Change-Id: I951c0953ad336b6a3af441da396fe7705258623c
2018-12-21 15:52:24 +00:00
Mikhail Naganov aa73cefbc4 Use ASAN linker for native tests
Native tests (BUILD_NATIVE_TEST) use their own MODULE_CLASS.
Check for it when selecting the linker for ASAN.

Test: build a native test, readelf -l <test> | grep linker
Change-Id: I34ca8c443c792bdf8b4b1fa812806c56f13a72d0
2018-12-20 16:15:54 -08:00
Pirama Arumuga Nainar 9305e203f0 Enable coverage only when LOCAL_SDK_VERSION > 23
Bug: http://b/116873221

The coverage runtime (libclang_rt.profile) needs stderr, which is
exported by bionic only after API level 23.

Test: Build with coverage on globally
Change-Id: I1bdfbbf248d1743d529e9f40f0b52da92bb20ef7
2018-12-20 13:49:52 -08:00
Treehugger Robot 92b623259b Merge "Don't write vendor to dynamic_partitions_info.txt if it's unavailable." 2018-12-20 20:45:40 +00:00
xunchang dbe55e147e recovery text images: Use center_alignment for background texts
It's desirable that the background texts display in the center of the
screen. So we will add the flag "--center_alignment" when generating
these images.

Bug: 121280655
Test: check and run the graphic tests
Change-Id: I6ba73ba7ef130288e950f95748e0e3fe28aa0827
2018-12-20 11:18:26 -08:00
Colin Cross 059edc0a96 Merge "Add a flag to allow unbundled builds to build SDKs from source" 2018-12-20 00:35:59 +00:00
Colin Cross cff1cee3f1 Hide unzip warning when zip file is empty
unzip prints a warning and exits with code 1 when a zip file is empty.
Pipe the output of unzip through grep -v to hide the warning,
using PIPESTATUS to preserve the exit code of unzip, and then
filter out exit codes that are not 0 or 1.

Test: m
Change-Id: If2cf725fc3315d5996d5a7190288df46d84a59e2
2018-12-19 23:47:10 +00:00
Treehugger Robot 17e9a79fb0 Merge "Log only errors when invoking veridex." 2018-12-19 23:46:04 +00:00
Tao Bao 943fa4c523 Don't write vendor to dynamic_partitions_info.txt if it's unavailable.
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
2018-12-19 14:17:55 -08:00
Dario Freni ee835c736b Log only errors when invoking veridex.
Test: m
Bug: 121225084
Change-Id: I7e8cfbb7b0bcdb3f8d941086ce920da38d558145
2018-12-19 18:24:53 +00:00
Nicolas Geoffray c857ed2acd Merge "Fix build time preopt with shared library uses." 2018-12-19 08:37:01 +00:00
Colin Cross 8e0ff1c370 Add a flag to allow unbundled builds to build SDKs from source
Mainline modules are tightly coupled to the platform, and should
build against the current SDK from source and not prebuilts. Add
a flag UNBUNDLED_BUILD_SDKS_FROM_SOURCE to specify that a
TARGET_BUILD_APPS build should build the current SDK instead of
using the prebuilts.

Bug: 121194841
Bug: 121231426
Test: no change to out/build-aosp_sailfish.ninja
Test: forrest unbundled build
Test: forrest master apps build
Test: forrest mainline modules build
Change-Id: I9ebc08745409a817d831817cb282aba1de6d81bb
2018-12-18 22:43:16 -08:00
Alex Light 2c108e08e4 Save invocation info of dex2oat runs.
It is useful to have the exact dex2oat invocation used to generate
artifacts for some tests. This adds the --write-invocation-to= flag to
the build to save this information.

Test: m droid
Bug: 119332327
Change-Id: Ie17ac73c790b0c55ef5569f03d11e7f03b5ef035
2018-12-18 14:30:27 -08:00
Treehugger Robot 81e29e0969 Merge "Add missing dependency on common javalib.jar" 2018-12-18 21:17:07 +00:00
Nicolas Geoffray c892b60bdc Update OWNERS for dex preopt related files.
Test: N/A

Change-Id: Ib3a33c508b06a51e4b9da39658ba118a63cdc7c9
2018-12-18 19:39:20 +00:00
Colin Cross 54a71e229b Add missing dependency on common javalib.jar
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
2018-12-18 11:06:25 -08:00
Nicolas Geoffray c04f3126f4 Fix build time preopt with shared library uses.
- Handle hidl libraries.
- Handle new shared library encoding.

Test: no mismatch preopt during boot.
bug: 117845483
bug: 111174995
Change-Id: Ie4bca653594c72df2eb2fdd827bc73cfcb76b1d7
2018-12-18 17:33:02 +00:00
Colin Cross 19fbc1b9e9 Don't install boot.art when WITH_DEXPREOPT is false
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
2018-12-18 15:36:36 +00:00
Colin Cross 6db5b0ea9a Move dexpreopting to Soong
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
2018-12-17 13:46:17 -08:00
Colin Cross b8901d7fb8 Revert "Move dexpreopting to Soong"
This reverts commit e736c58043.

Test: none
Bug: 119412419
2018-12-14 11:49:55 -08:00
Colin Cross 7f9ccd53d7 Revert "Add missing dependency on zip2zip"
This reverts commit e373b3f08b.

Test: none
Bug: 119412419
2018-12-14 11:49:55 -08:00
Colin Cross 24258b1fb1 Revert "Create directories before unzipping dexpreopt zip"
This reverts commit 9eaeb56c24.

Test: none
Bug: 119412419
2018-12-14 11:49:55 -08:00
Colin Cross 10846f99fb Revert "Correctly create directories before unzipping dexpreopt zip"
This reverts commit 2bb1f518fd.

Test: none
Bug: 119412419
2018-12-14 11:49:55 -08:00
Treehugger Robot cb4d613e53 Merge "Correctly create directories before unzipping dexpreopt zip" 2018-12-14 10:45:18 +00:00
Colin Cross 2bb1f518fd Correctly create directories before unzipping dexpreopt zip
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
2018-12-13 23:32:06 -08:00
Treehugger Robot 06c8df1ccd Merge "Add missing dependency on zip2zip" 2018-12-14 06:18:01 +00:00
Treehugger Robot 49448d5bc5 Merge "Create directories before unzipping dexpreopt zip" 2018-12-14 05:59:32 +00:00
Tao Bao 7732b434e9 Merge "Set PATH when calling build_super_image.py." 2018-12-14 04:23:01 +00:00
Colin Cross 9eaeb56c24 Create directories before unzipping dexpreopt zip
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
2018-12-13 18:32:57 -08:00
Colin Cross e373b3f08b Add missing dependency on zip2zip
uncompress-prebuilt-embedded-jni-libs uses zip2zip, add a dependency
to the rule that calls it.

Test: treehugger
Change-Id: I39d580999947ee54cfefe875b57a028be5333bd7
2018-12-13 15:52:09 -08:00
Ivan Lozano 00997c2ac2 Merge "Add make var to avoid recovering with diagnostics." 2018-12-13 20:56:18 +00:00
Colin Cross 3b1d5a1538 Merge "Move dexpreopting to Soong" 2018-12-13 20:23:11 +00:00
Tao Bao 403a2f9051 Set PATH when calling build_super_image.py.
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
2018-12-13 10:53:12 -08:00
android-build-team Robot b36e11d62f Version bump to PQ2A.190205.003
Change-Id: I98f389c32af1e680a6652f38a49841aad2c70319
2018-12-13 18:28:32 +00:00
Anton Hansson 32c76fe219 Fix qemu image definition conditionals
BOARD_USES_<X>IMAGE is not equivalent with that image actually
existing. Since these targets depend on the INSTALLED_<X>IMAGE
variables being defined, gate the conditionals on that instead.

This logic is used in other places in Makefile

Bug: 120974093
Test: make
Change-Id: I6766042c801bf7fddc4b84671dbe5d3a157aea6b
2018-12-13 16:46:05 +00:00
Treehugger Robot 93e6c59784 Merge "DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master" 2018-12-13 05:45:21 +00:00
Colin Cross e736c58043 Move dexpreopting to Soong
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
2018-12-12 17:21:22 -08:00
Mathieu Chartier cc4ca50cfb Change profman logging to only be for errors
Move profman logging to only be for errors. Avoids build spam.

Bug: 120907449
Test: make
Change-Id: I0707dc5c8d6516cbf95d263864bdddaf5a5990c9
2018-12-12 10:28:02 -08:00
Ivan Lozano 5fb2de7086 Add make var to avoid recovering with diagnostics.
Add a LOCAL_SANITIZE_NO_RECOVER variable that allows specifying which
sanitizers running in diagnostics mode shouldn't recover. This can help
debugging as we test enabling sanitizers in new libraries since it'll
cause tombstones to be generated along with the diagnostics information.

Bug: 80195448
Bug: 110791537
Test: Compiled test module with this flag, checked compiler command.
Test: Test module crashed, tombstone contained diagnostics information.
Change-Id: I441b9c873e54bf6404325f4d0ac59835350c2889
2018-12-12 10:22:30 -08:00
Treehugger Robot 53de7a71f6 Merge "Add recovery_acpio option to make recovery image" 2018-12-12 08:13:46 +00:00
Xin Li 3449df5704 DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master
Bug: 120502534
Change-Id: Ib1b590fc605b17e3a3901e65f62d5f7ad2257f6a
2018-12-11 14:03:11 -08:00
Tianjie Xu b38ae44d1e Merge "recovery text image: use zopflipng to compress the generated images" 2018-12-11 18:56:20 +00:00
Artem Serov f7dccc6bc0 Support kryo385 CPU.
Pixel 3 should use kryo385 CPU.

Related change:
https://android-review.googlesource.com/c/platform/build/soong/+/831260

Test: Builds Pixel 3.
Bug: 119564566
Change-Id: Iede5830093497abe753a34df3bc4913468be39d0
2018-12-11 12:04:52 +00:00
Chen, ZhiminX 752439b321 Add recovery_acpio option to make recovery image
Test: can generate recovery image with recovery_acpio
Fixes: 111871613

Change-Id: I9174a4741f571a00bcadc548cd9e1316b4175132
2018-12-11 15:23:28 +08:00
xunchang cc57d31c91 recovery text image: use zopflipng to compress the generated images
Generate the images for recovery's wipe data menu. And use the lossless
tool zopflipng to compress the generated image. This saves space
in the boot image at the cost of the increase of build time. In practice,
it adds about ~20 seconds to build the bootimage with 32 threads.

zopflipng generally runs slower. Even with a predefined filters
strategy, it runs about 3 times slower than pngcrush, e.g. ~40s vs 15s
to compress a 1.8M png file. However, zopflipng also gives a better
compression: ~1.4M vs 1.6M for the same image. So I guess the time
consumption is a price worth paying.

Bug: 74397117
Test: build the bootimage and check the resource images
Change-Id: I3e71f8bedd3c183a3374b1a9464bf05500e1aa61
2018-12-10 19:53:38 -08:00
Jeff Sharkey f7d482bd9a Bump PREVIEW_SDK_INT for Q builds.
We've already added new APIs in Q, so we shouldn't be claiming a
value of "0", which signals a production platform release.

Bug: 120797950
Test: manual
Change-Id: I6c9063ac4ace79b3ee6b1c67ccdf76f4063ad165
2018-12-10 17:13:24 -07:00
Tianjie Xu 19e6502884 Merge "Generate the recovery text images at build time" 2018-12-10 19:41:43 +00:00
Nicolas Geoffray ed167cf814 Factor out common code.
Test: m
Change-Id: If718c281656a890fb5eba54eb290976c153e2bb6
2018-12-07 14:35:52 +00:00
Nicolas Geoffray 923f267bf6 Merge "Use the final APK for dexpreopt when it's not stripped." 2018-12-07 14:13:45 +00:00
android-build-team Robot 4a676aaa3a Version bump to PPRL.181205.001
Change-Id: I9174bab704afa3ff85be5236be16d15f66446bb4
2018-12-07 02:58:19 +00:00
Nicolas Geoffray d80f9c0d32 Use the final APK for dexpreopt when it's not stripped.
The final APK may contain compressed or uncompressed dex files,
and this affects dex2oat compilation.

Test: build sailfish, test that SystemUI.vdex and Settings.vdex
don't have the dex code.

Change-Id: Ic032f61ed67dcdf342f6eaef71d805b89d6fc99a
2018-12-07 00:19:57 +00:00
Tianjie Xu 81c88ad58b Generate the recovery text images at build time
We used to manually generate the background text images for recovery. That
process requires opening various emulators and takes a long time. Now that
the host Java tool is ready to generate these images, we can embed the
generation step into the build of the recovery image.

Since there's currently no make variable that defines screen width of the
device, we put the commonly used values for pixels here, i.e. 1440 for
xxxhdpi and 1080 for xxhdpi. Devices with other dpi can still use this
feature if they define the screen width in their config files.

Test: build bootimage with screen with set/unset
Change-Id: Ic8389a527e6e7194de58a9c50763e841e886652b
2018-12-06 01:10:38 -08:00
Treehugger Robot 696dd3bd93 Merge "[make] Disable CFI when building with HWASan." 2018-12-05 22:00:21 +00:00
android-build-team Robot 9bba258684 Version bump to PQ2A.190205.002
Change-Id: I777d30e644ed2d17d45ccd51f3ac8f779481f7a8
2018-12-05 21:17:23 +00:00
Chih-hung Hsieh a441818a10 Merge "Disable implicit-integer-sign-change by default." 2018-12-05 18:24:12 +00:00
Anton Hansson 6983776cdb Merge "Add RRO partition specification in Makefiles" 2018-12-05 14:43:19 +00:00
android-build-team Robot a854251074 Make change and version bump to PQ2A.190205.001
Change-Id: I3a9837cd93d3ea9cff98315b5a7c003b0c0e8276
2018-12-05 05:17:29 +00:00
Elisa Pascual Trevino f6edf31c61 [DO NOT MERGE] Security String update to 2019-02-05
Bug: 120144419
(cherry picked from commit a9c8e6165e)

Change-Id: I1b9dcb2548176d418d435545ab38fbc4bdd3f16c
2018-12-05 05:13:24 +00:00
Evgenii Stepanov 88a95a35fa [make] Disable CFI when building with HWASan.
Same as soong. This needs do match, otherwise, for example, CFI may be
disable in a static library in soong, and left enabled in a shared
library in make; that would not work as CFI only supports DSO granularity.

Bug: 120508119, 112709969
Change-Id: I00d6b1c9c373bcb6804c135407c6eeae88b375b6
Test: hwasan build of master branch boots
2018-12-05 01:15:01 +00:00
Yifan Hong 5df29604b9 Merge changes from topic "super_target_files"
* changes:
  add_img_to_target_files uses build_super_image
  Build super_empty with build_super_image.py
  Build super.img from images in target_files
2018-12-04 23:20:21 +00:00
Ryan Mitchell 8dd846c45f Add RRO partition specification in Makefiles
This adds support for overlays to be placed in the product and
product_services partitions.

   LOCAL_VENDOR_MODULE :=  true #/vendor/overlay
   LOCAL_ODM_MODULE := true #/vendor/odm/overlay
   LOCAL_PRODUCT_MODULE := true #/system/product/overlay
   LOCAL_PRODUCT_SERVICES_MODULE := true #
   /system/product_services/overlay

Bug: 110869880
Test: built overlay with different partitions and verified correct apk
location

Change-Id: I21f594e784a18cf59f4ff03c00e30b463ec85008
2018-12-04 20:53:29 +00:00
Chih-Hung Hsieh 1871062b28 Disable implicit-integer-sign-change by default.
* New clang compiler makes some integer santizers enabling
  implicit-integer-sign-change, but Android code does not
  boot with this new sanitizer yet.

Bug: 119329758
Test: build and boot with new clang compiler
Change-Id: Ic80cde49d3ef51277fbe2a0aa8c1b8f2f8bfd80c
2018-12-04 19:52:14 +00:00
Bill Rassieur 1e2d9d2c35 Merge PQ1A.181205.006 from Pi-QPR1-Release into ToT for Pi-Platform release.BUG: 120448245 2018-12-04 10:48:09 -08:00
Haibo Huang 6201b9eb5a Remove denver64 from make
Test: build
Bug: 73545680
Change-Id: I8f28c7d6beaa5b0a7de9000ebea2f4d8e87f0381
2018-12-03 22:34:11 +00:00
android-build-team Robot 8b9e70ab6b Make change and version bump to PQ2A.190201.001
Change-Id: I52d510de78e0806606dc459df853be9348b424ee
2018-12-03 19:58:47 +00:00
Elisa Pascual Trevino 7247a3ca1c [DO NOT MERGE] Security String update to 2019-02-01
Bug: 120144419
(cherry picked from commit 14b4156d8d)

Change-Id: I913992d9e9f76c48b6bacbc95441a56187d967b1
2018-12-03 19:58:33 +00:00
Yifan Hong 055e6cf5c8 add_img_to_target_files uses build_super_image
Use the new script to build super_empty and super split images. No more
transformation to lpmake_args.

Test: build target_files_package for retrofit device
Change-Id: Id5f6bd607654ca869bcdf58d86b7ae300e3927eb
2018-12-03 11:33:44 -08:00
Yifan Hong 8b79d168eb Build super_empty with build_super_image.py
Use the script to build it to avoid having duplicate logic in
build-superimage-target-args and build_super_image.py
Test: build it

Change-Id: I82f74d56d744c5f5b8dd38d41fedd264b042bc7a
2018-12-03 11:33:44 -08:00
Yifan Hong 2b891ac024 Build super.img from images in target_files
For non-retrofit (launch) devices, super.img is used for factory, so
source images should be from target_files.

In this change, build-superimage-target procedure is converted to a
more flexible script so that it can be built.

Bug: 119322123
Test: build target files for device launch with dynamic partitions
Change-Id: I6ee0cc3e145357dfc74be248f81f5f8f4e51fc5c
2018-12-03 11:33:44 -08:00
Pirama Arumuga Nainar 539b58a55b Merge "Use libucrt instead of libmsvcr110" 2018-12-03 17:53:43 +00:00
android-build-team Robot 2c89c60c65 Version bump to PQ2A.181115.005
Change-Id: I4254acb57a5d277d7dd75f4498eb56812c48d173
2018-12-01 16:38:40 +00:00
Jaewoong Jung 58b7f7480f Merge "Use debug mode when running R8 for eng builds." 2018-11-30 22:40:45 +00:00
David Brazdil 8d8d4584f8 Merge "Replace hidden API lists with a single CSV" 2018-11-30 10:01:02 +00:00
Anton Hansson bd5bad916a Merge "Remove USE_HWC2 plumbing and settings" 2018-11-30 09:11:28 +00:00
android-build-team Robot 5d916e957f Version bump to PQ2A.181115.004
Change-Id: Idf94c6e62334230de786ac0fea9e87f62ef7867f
2018-11-30 03:30:32 +00:00
Pirama Arumuga Nainar 132f959e5e Use libucrt instead of libmsvcr110
Bug: http://b/117796718

ucrt is either preinstalled in newer Windows or can be installed in
older Windows, whereas a dependence on msvcr110 doesn't work on Windows
without additional dependencies.

Test: Run generated binaries on Windows VM (7, 8, and 10) without
installing any extra dependencies.

Change-Id: If5a5ffaa9d822ca05b4b54896937f224103f33d7
2018-11-29 17:22:32 -08:00
Treehugger Robot 4681fc3803 Merge "Add ODM in valid_super_partition_list" 2018-11-30 00:39:51 +00:00
Bill Rassieur f8efe99d0c Set RC Name to PPRL.181105.017.
BUG: 119059929
2018-11-29 13:34:41 -08:00
Tom Cherry e7e33bc7f5 Merge "Remove copying of TARGET_OUT_RAMDISK to recovery image" 2018-11-29 16:50:37 +00:00
Ivan Lozano 6750532978 Merge "Disable AArch64 XOM when not using lld." 2018-11-29 15:58:39 +00:00
David Brazdil 59b6fd541d Replace hidden API lists with a single CSV
Combine existing hiddenapi-* txt files into a single CSV containing
a list of all class members and their corresponding flags.

Test: m, phone boots
Change-Id: I67f1b5f331b262e9b681d9a3c78c9e4cbb5ea082
2018-11-29 15:48:56 +00:00
Anton Hansson b91e0c5ab1 Remove USE_HWC2 plumbing and settings
Last use removed in Ibefde5feaeaec8fb68cbc6ea1c019bf8b5e608bb

Test: make
Change-Id: I0567347379b1d030ed2f8dba7babc1f22be5dac4
2018-11-29 10:08:07 +00:00
Yifan Hong 2a0d148f26 Merge "Allow space in BOARD_*_SIZE variables for dynamic partitions" 2018-11-29 04:41:16 +00:00
Treehugger Robot 7328e08efe Merge "Pass --avoid-storing-invocation to dex2oat" 2018-11-29 02:56:51 +00:00
Yifan Hong e5d879a193 Allow space in BOARD_*_SIZE variables for dynamic partitions
Allow instances like:
BOARD_SUPER_PARTITION_SIZE := 4294967296 # 4GiB

Test: add trailing space to BOARD_SUPER_PARTITION_SIZE,
BOARD_(group)_SIZE, BOARD_*IMAGE_PARTITION_RESERVED_SIZE,
BOARD_SUPER_PARTITION_(device)_DEVICE_SIZE, build passes.

Fixes: 120042457
Change-Id: Ib7244e3fd2f782657c84cdb74e601ac96176571d
2018-11-28 15:33:17 -08:00
Jaewoong Jung b3113da542 Use debug mode when running R8 for eng builds.
Bug: 119601874
Test: Built for different variants.
Change-Id: Icaf300c944b1d0594f524a11999cc5a8229919eb
2018-11-28 15:19:46 -08:00
Yifan Hong 9b743fa997 Add ODM in valid_super_partition_list
ODM can already be built with dynamic sizes (in that
build_image.py builds it correctly). Add it to the list of
valid dynamic partitions.

Test: builds
Change-Id: Ib5d1348530d2120e3af7dbe422ac3ebe6149b4fb
Fixes: 120047099
2018-11-28 12:42:36 -08:00
Colin Cross 3ec2c61549 Pass --avoid-storing-invocation to dex2oat
Pass --avoid-storing-invocation to dex2oat, which will remove the
command line from the final .odex files.  This will help make the
.odex files reproducible across devices and build system changes,
simplifying comparisons.

Bug: 119412419
Test: m checkbuild
Change-Id: I46cedadab9a87addc0f9e35f7bbe578beae1df60
2018-11-28 11:57:47 -08:00
Tom Cherry 3871f0fc61 Remove copying of TARGET_OUT_RAMDISK to recovery image
This was only needed for pushing first stage init to the recovery
image.  This isn't actually needed however, as the recovery image can
be fully shared and can run full init as long as there is a symlink
from /init to /system/bin/init, so that is added instead.

Bug: 80395578
Test: boot to recovery via this symlink
Change-Id: I8910543525a841401b209bfd98af30c5a0dc2688
2018-11-28 08:53:38 -08:00
Dan Albert 638ca85aec Merge "Don't use libandroid_support post-21." 2018-11-28 16:19:01 +00:00
Anton Hansson 715a6c4c80 Merge "Improve consistency of indentation in Makefile" 2018-11-28 10:15:53 +00:00
Ivan Lozano f9f03e0119 Disable AArch64 XOM when not using lld.
AArch64 execute-only memory is only supported when using lld as the
linker. There's still a few modules which don't use lld, so in those
cases we need to disable this option.

Bug: 77958880
Test: Module with LOCAL_USE_CLANG_LLD false builds without XOM
Test: Module without LOCAL_USE_CLANG_LLD defined builds with XOM

Change-Id: I5dfe3cd1e1cac2b3ead13912af9f7fe896d507e9
2018-11-27 14:53:33 -08:00
Miao Wang 62c2390a55 Correctly configure armv8-2a for 32-bit
Bug: 119681317
Test: mm
Test: CtsRenderscriptTestCases
Change-Id: I455c94948430d3cc2dd320cce830ae18be6a93cd
2018-11-27 14:05:48 -08:00
Dan Albert e6d958aed7 Don't use libandroid_support post-21.
Test: m checkbuild
Bug: http://b/119587551
Change-Id: If3a3556ad27e632778efda43da8384a40eedee5a
2018-11-27 13:59:28 -08:00
android-build-team Robot 29aa01041f Version bump to PQ1A.190105.004
Change-Id: I19540a99e1a472ed62ea64b354a3606e080f5b4c
2018-11-26 22:09:51 +00:00
android-build-team Robot a2617c373c Make change and version bump to PQ2A.181115.003
Change-Id: I8ad893c65f3b89b6f6631f8a0cb1a706237859c4
2018-11-26 18:59:10 +00:00
android-build-team Robot c47e70d08b Version bump to PQ1A.190105.003
Change-Id: I012a7cb3037a343508d0d1f9634ca1f0cca5c9a6
2018-11-26 18:55:55 +00:00
Anton Hansson 6d81498baf Improve consistency of indentation in Makefile
Only use one consecutive tab in make rules and use spaces
for any additional indentation. This should generally prevent
tabs from appearing on the cmdline.

This cl is the result of 3 regex replaces:
\\\n\t\t([^\t]) -> \\\n\t    \1
\\\n\t\t\t([^\t]) -> \\\n\t        \1
\\\n\t\t\t\t([^\t]) -> \\\n\t            \1

Test: make mainline_system_arm64
Change-Id: Ic3f72deed35e39e4b1a4b492db65aeabc5bef0d5
2018-11-26 18:12:05 +00:00
Anton Hansson 5d218a123f Merge "Add support for TARGET_PRODUCT_PROP" 2018-11-26 17:51:13 +00:00
Anton Hansson e9ee80e24a Add support for TARGET_PRODUCT_PROP
Like TARGET_SYSTEM_PROP, but is merged into /product/build.prop.

Also change the formatting of the output of both of these macros
slightly, so make the start and end clearer.

Bug: 119911662
Test: migrate downstream products to use this
Change-Id: Iddae7aac3c51b5706f3fb2690c5ca5a98840ad34
2018-11-22 15:27:35 +00:00
Yifan Hong 9b024fe583 Merge "dynamic_partition_use -> use_dynamic_partitions." 2018-11-22 00:19:56 +00:00
Yifan Hong 50611038e9 dynamic_partition_use -> use_dynamic_partitions.
Test: build OTA package
Change-Id: Ia43d23f49fc024ecc767da1c2186c4b446c034de
2018-11-21 13:00:57 -08:00
Ivan Lozano fda9a6f38e Add support for AArch64 XOM binaries.
Adds build system support for generating AArch64 binaries with
execute-only memory layouts via a new LOCAL_XOM property. Also adds
support for an ENABLE_XOM build flag for global builds.

Bug: 77958880
Test: make -j ENABLE_XOM=true
Change-Id: I6af9e3615d0a9fdff802eae50e6ad94311ec8046
2018-11-21 09:05:08 -08:00
Treehugger Robot 01284abf21 Merge changes from topic "dp_sysprop"
* changes:
  ro.boot.dynamic_partitions: fix empty values
  Remove ro.boot.logical_partitions
2018-11-21 07:39:21 +00:00
android-build-team Robot 41c94d5c0c Make change and version bump to PQ2A.181120.001
Change-Id: I0a868c1b6b8be14d4a4fe52ab0a93f17aae5d37e
2018-11-21 04:17:06 +00:00
Treehugger Robot b906ebb313 Merge "PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS: allow inheritance" 2018-11-21 00:41:44 +00:00
Yifan Hong 4a37a03758 ro.boot.dynamic_partitions: fix empty values
When PRODUCT_RETROFIT_DYNAMIC_PARTITIONS is empty, collapse-pairs will
write this line to build.prop:
ro.boot.dynamic_partitions=ro.boot.dynamic_partitions_retrofit=

... which is not what we want.
Test: build without dynamic partitions

Change-Id: I04c3c75fad20604657814b7f9cce2cc0635627ee
2018-11-20 16:06:17 -08:00
Yifan Hong 284b2b9fc9 Remove ro.boot.logical_partitions
Test: boots
Bug: 119286600
Change-Id: I0606c3989588de3afaacc170943eaca82c682085
2018-11-20 16:06:17 -08:00
Yifan Hong d585de5933 Merge changes from topic "dp_retrofit_gen"
* changes:
  Generate retrofit OTA.
  Add split super images to target_files.
2018-11-20 22:44:06 +00:00
Treehugger Robot fec2671f00 Merge "Fix size checks for retrofit dynamic partitions." 2018-11-20 22:30:56 +00:00
Yifan Hong 452d9267fc PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS: allow inheritance
Test: with this is true, build
     `verified_assembled_system_matrix.xml`;
      file includes kernel requirements
Change-Id: I833b4fefabefb2f0457171055afe5722981e3589
2018-11-20 11:50:52 -08:00
Yifan Hong 50e7954ac9 Generate retrofit OTA.
Test: m otapackage -j, manual apply on top of P
Bug: 118506262

Change-Id: Iedc389a1058007a604de0482f2348a9ef0d5892a
2018-11-20 11:17:39 -08:00
Yifan Hong c767f7cbfc Add split super images to target_files.
Test: build target files package
Bug: 118506262
Change-Id: Iee6143987c9bfa6f2d287e20c06ea5ef25e82985
2018-11-20 11:17:39 -08:00
yelinhsieh 3a7822d75e ATest: Add test config template for python.
Bug:118442443

Test: NA
Change-Id: Id285afd7331d9e99eb5ff211cf394a572fe6e694
2018-11-20 15:31:44 +08:00
Yifan Hong 7416b8d143 Remove PRODUCT_USE_LOGICAL_PARTITIONS.
Use PRODUCT_USE_DYNAMIC_PARTITIONS instead.
Test: boots
Fixes: 119286600

Change-Id: I5c0828eac2b6c579edbb494b150bc586b3b576f1
2018-11-20 00:34:30 +00:00
Treehugger Robot 614e1e806e Merge "Remove androidboot.logical_partitions kernel cmdline" 2018-11-20 00:30:05 +00:00
android-build-team Robot b9187a3f6a Version bump to PQ2A.181115.002
Change-Id: I21bcd6ad69be9b1edcf9eb323f390c3f9494228b
2018-11-19 23:21:43 +00:00
Yifan Hong 426e029980 Remove androidboot.logical_partitions kernel cmdline
Flag is not used anymore.
Fixes: 119286600
Test: boots

Change-Id: I47370369ccde6d504ea0c936a179c4a325302f8b
2018-11-19 22:38:35 +00:00
Yifan Hong f39d8af57e Fix size checks for retrofit dynamic partitions.
Now that we have two supers for retrofit devices, modify
the size checks. Only A/B devices launched with dynamic partitions
will get the / 2.

Test: builds
Bug: 116608795
Change-Id: Icdddcc0b3f3be307b3907e1c789933c2ace61867
2018-11-19 14:37:45 -08:00
Haibo Huang ee0531da7a Add cpu variant information to vendor/default.prop
Test: build and check vendor/default.prop
Change-Id: I8d86d58c72118c7dda65e75d09680e20c9428c24
2018-11-19 18:57:36 +00:00
Treehugger Robot c6434d43ec Merge "Sort output in dump-files" 2018-11-19 17:43:00 +00:00
Anton Hansson 41b53a3c19 Sort output in dump-files
Makes it less frustrating to use.

Test: m dump-files
Change-Id: I84801f37e2e40a37d65d3f9ce7b19a84f3381a53
2018-11-19 14:33:19 +00:00
Dimitry Ivanov d04107683b Merge "Enable overrides for shared libraries" 2018-11-17 09:03:04 +00:00
android-build-team Robot e67a01eaba Make change and version bump to PQ2A.181115.001
Change-Id: I0daa7322e1ca7e92a5effaed0a667c055aa0fbc3
2018-11-16 04:29:42 +00:00
Evgenii Stepanov f05ff886b8 Merge "Build ota packages for SANITIZE_TARGET other than "address"." 2018-11-15 22:26:39 +00:00
Evgenii Stepanov 5d06f240e3 Build ota packages for SANITIZE_TARGET other than "address".
HWASan OTAs should work fine.

Bug: 119436631
Test: make SANITIZE_TARGET=hwaddress dist
Change-Id: I87c8ca58b924a478679879d09a34c44cd5832470
2018-11-15 11:14:09 -08:00
android-build-team Robot 3ac917068a Make change and version bump to PQ1A.190105.002
Change-Id: I13c718dc988e7522e053da35b04283a76466bd3b
2018-11-15 18:22:23 +00:00
Lubo Hristov 58114cb4c5 [DO NOT MERGE] Security string update to 2019-01-05
bug:118903919
(cherry picked from commit 8163234246)

Change-Id: I7789094c4c55835bc82fb4898bbd310c40846fe7
2018-11-15 18:19:32 +00:00
android-build-team Robot e3471c935b Version bump to PQ1A.190105.001
Change-Id: I92f7a5d719a2b45bbf6e20576d3eef6f6fc5f73d
2018-11-14 18:39:28 +00:00
Anton Hansson 8ee39f031c Merge changes Idc621b16,I00fcdce3
* changes:
  Fix dependencies of notice files
  Refactor logic for notice files
2018-11-14 12:48:55 +00:00
Treehugger Robot 2d544529fd Merge "Add TARGET_FLATTEN_APEX" 2018-11-14 11:47:51 +00:00
Anton Hansson 2f8e2b8e1f Merge "Disable artifact path requirements for asan builds" 2018-11-14 10:40:28 +00:00
Treehugger Robot 30bac4a994 Merge "Enable armv8-2a supporting on 2nd arch. variant" 2018-11-14 06:47:33 +00:00
Treehugger Robot 645547b522 Merge "Add missing zipalign dependency" 2018-11-14 05:15:17 +00:00
android-build-team Robot 513008aa72 Make change and version bump to PQ2A.181113.001
Change-Id: I9150f928f24c5f347b295c5b27dced011b82440c
2018-11-14 04:16:31 +00:00
Jiyong Park 5217eed7a3 Add TARGET_FLATTEN_APEX
TARGET_FLATTEN_APEX, when set to true, flattens APEXes that are on
/system. Flattening an APEX means files in it are not packaged as a mini
file system image, but exist in the /system partition as individual
files. This option is for devices where kernel does not support loopback
devices or the maximum number of loopback devices is too small (though
the threshold is TBD as of now).

Bug: 118485880
Test: TARGET_FLATTEN_APEX=true m apex.test; tree
out/target/product/.../system/apex/apex.test shows list of files in it.

Test; m apex.test, then a file out/target/product/.../system/apex/apex
.test.apex exists.

Change-Id: Ie13cb062c1387d55689692ba2b123e606ada8aa4
2018-11-14 07:53:23 +09:00
Anton Hansson 2b4469a8a0 Disable artifact path requirements for asan builds
asan builds create many artifacts that normal builds do not, and
are only used for testing. Disable artifact requirements for them.

Bug: 119270428
Test: build internal asan product
Change-Id: I8692ee7e8916d40a8a787c3a07dcf7d677b19cab
2018-11-13 22:39:00 +00:00
Yi Kong f41d24acb3 Merge changes I52805f5d,Ifb16ed87
* changes:
  Allow projects to exclude from libcrt_builtins
  Move libgcc to libcrt.builtins
2018-11-13 21:56:47 +00:00
Colin Cross f9532bb509 Add missing zipalign dependency
$(align-package) uses $(ZIPALIGN), add it as a dependency to the
rule.

Bug: 119403628
Test: rm out/host/linux-x86/bin/zipalign && m out/target/product/sailfish/obj/APPS/SystemUI_intermediates/oat/arm64/package.odex
Change-Id: Iffc9506fd3168481ad998c5d8423ed4e13e6d11b
2018-11-13 13:30:53 -08:00
Yifan Hong b7ea9d3870 Merge changes from topic "dp_retrofit"
* changes:
  Add build flags for spanning the super partition across multiple block devices.
  logical partitions -> dynamic partitions
2018-11-13 20:29:18 +00:00
Anton Hansson 6ad6f6c8ab Fix dependencies of notice files
Filter out the relevant deps for /vendor, /product and
/product_services, and make the /system version depend
on the rest.

Also filter out phony packages, which do not produce
license files on their own (though their deps might).

Bug: 118089975
Test: diff blueline notice files before and after
Change-Id: Idc621b16237dfecafd0befa742c8d3b93be1f611
2018-11-13 16:53:46 +00:00
Anton Hansson bfbaa98bb7 Refactor logic for notice files
Move things around so that we don't need to check whether
we're in the "split license file mode" over and over, and
some other moves to improve readability.

Also rename the html_or_xml variables to the correct name
given the branch of the conditional we're in, to make it
easier to grok.

Bug: 118089975
Test: diff notice files for blueline before and after
Change-Id: I00fcdce31503c543c6c0ab6901531c54c9705617
2018-11-13 16:53:18 +00:00
Treehugger Robot 623c33915b Merge "Factor out json from soong_config.mk" 2018-11-13 16:35:11 +00:00
Isaac Lee ead02eb87d Enable armv8-2a supporting on 2nd arch. variant
Newer cores are implementing armv8-2a ISAs.
Enabling 2nd arch. variant to support for new type of cores.

Test: set TARGET_2ND_ARCH_VARIANT := armv8-2a, build without warnings and not ignore armv8-2a
BUG: 118414869
Change-Id: I1cd64ab0ad9b253ec3d109ebd1dbc7882011ce77
2018-11-13 17:31:28 +08:00
Anton Hansson 1de3ef4a73 Merge "Fix cmdline args to generate-notice-files.py" 2018-11-13 08:35:01 +00:00
Anton Hansson d05c1fc6a2 Merge "Provide a syncsys target to build /system files" 2018-11-13 08:34:55 +00:00
David Anderson 619fe2da5a Add build flags for spanning the super partition across multiple block devices.
This adds BOARD_SUPER_PARTITION_BLOCK_DEVICES, which must contain a list
of the (non-A/B suffixed) partitions that will comprise the super
partition. It is only intended for devices which cannot have a partition
named "super". For each entry, there must be a
BOARD_SUPER_PARTITION_x_DEVICE_SIZE variable defined with the exact size
of that partition (not its image size). The sum of these sizes must be
equal to BOARD_SUPER_PARTITION_SIZE.

Bug: 116802789
Test: device with BOARD_SUPER_PARTITION_BLOCK_DEVICES builds
Change-Id: I1a79c2e08ca99ce7e42207893ef3285caffecf44
2018-11-12 16:12:51 -08:00
Anton Hansson d0ca2e6221 Fix cmdline args to generate-notice-files.py
-e should be provided multiple times to pass a list. This fixes
stripping of the NOTICE file on /system to not have /product,
/vendor and /product_services entries in it.

Previously it was trying to stirp entries from the
vendor,product,product_services subdir.

Bug: 118089975
Test: m sync, inspect NOTICES file
Change-Id: I7c336b1c593565a98aa4976305f8b69bbd0c09b5
2018-11-12 23:24:22 +00:00
android-build-team Robot 79a84f045e Make change and version bump to PQ1A.190101.001
Change-Id: Ifa2662053e2aa9f20f19d61fb6dc92f3e9a0f949
2018-11-12 19:23:03 +00:00
Lubo Hristov 9be8e30ab9 [DO NOT MERGE] Security string update to 2019-01-01
bug:118903919
(cherry picked from commit 1ce690dda1)

Change-Id: I203028810f4c261b8268a56e5c3ddddaf4226364
2018-11-12 19:22:49 +00:00
Colin Cross ee8b10230c Factor out json from soong_config.mk
Factor out the json functions from soong_config.mk, and extend them
to support maps.

Bug: 119412419
Test: no change to soong.variables
Change-Id: Ieea08fdd2aa202f60945103e3ca82538f098a942
2018-11-12 11:15:12 -08:00
Yi Kong 65e4560308 Always get target llvm rtlib from Linux toolchain directory
To avoid duplication, we would only ship one copy of the target llvm
runtime library. Change the source path to Linux on Darwin host.

Test: m checkbuild
Bug: 119288831
Bug: 119270185
Change-Id: Ie32d65d6647765a5060078cc61a089e5a47c3a36
2018-11-12 17:38:00 +00:00
Anton Hansson 30e061b6a5 Provide a syncsys target to build /system files
Builds just the files on /system, but not system.img. Like sync,
but just for /system.

Test: m syncsys
Change-Id: Ic5fc60d79d20315a5aca031dff5e2394e58d6b1c
2018-11-12 13:46:05 +00:00
dimitry 3142e2949d Enable overrides for shared libraries
Bug: http://b/114470065
Test: make
Change-Id: I084c98ca2630ad3f56504ca0f7f08cff14483872
2018-11-12 10:51:11 +01:00
Yifan Hong c5c0124e7d logical partitions -> dynamic partitions
Reflect a name change.

* PRODUCT_USE_LOGICAL_PARTITIONS is deprecated and
will be removed in the future.

* ro.boot.dynamic_partitions is created. ro.boot.logical_partitions
will be removed once all the usage is removed.

Bug: 119286600
Test: builds

Change-Id: I5cb8bb1f5ebcee893fbef3a0f047c32de8773830
2018-11-09 16:02:59 -08:00
Anton Hansson 1cdbf8f2bd Merge "Quote message in echo-error/echo-warning macros" 2018-11-09 17:59:59 +00:00
Anton Hansson 436d7b7336 Merge "Support disabling artifact path requirements" 2018-11-09 17:21:21 +00:00
Jaewoong Jung 0459f334e3 Merge "Add -CROSS suffix to cross host OS notice targets." 2018-11-09 15:21:30 +00:00
Anton Hansson dc6c216476 Support disabling artifact path requirements
Path requirements can get in the way when developing, so
provide a way to disable them on the command line.

Bug: 80410283
Bug: 119025354
Test: lunch mainline_arm64; DISABLE_ARTIFACT_PATH_REQUIREMENTS=true m nothing
Change-Id: Ia44b73f3013a0ea218bd9a361037269c7557da9e
2018-11-09 13:45:18 +00:00
Anton Hansson 700db42d54 Quote message in echo-error/echo-warning macros
Makes pretty-error and pretty-warning behave more like $(error) and
$(warning), where you don't need to do things like quote parentheses.

Bug: 118833208
Test: trigger the private_apis && sdk set error in sdk_check.mk,
      which no longer produces bash syntax errors

Change-Id: I766ff98ad4e652f59dbef9dd5654f1cd10a2d038
2018-11-09 08:59:25 +00:00
Jaewoong Jung e8cb1954bb Add -CROSS suffix to cross host OS notice targets.
This fixes a bug where cross host OS notice dependecies were incorrectly
added and caused missing file errors.

Bug: 36073965
Test: Manual build + inspection
Change-Id: I3983ad6158acf939842f836fe3f44cecf9187087
2018-11-08 16:53:02 -08:00
Yi Kong 8d3c6cda21 LLVM_RTLIB_PATH should not hard code linux
The path is incorrect on Darwin. Changed to use $(HOST_OS) instead.

Fixes Darwin build.

Bug: 29275768
Test: Forrest
Change-Id: I164306ad2237bce86baf37d3291622a709bfe8f3
2018-11-08 23:26:20 +00:00
Yi Kong 2b7e980cbd Allow projects to exclude from libcrt_builtins
Some projects can't be built with libcrt_builtins yet.

Bug: 29275768
Test: m checkbuild
Change-Id: I52805f5dece6395024683d07809c4b8905dab631
Merged-In: I52805f5dece6395024683d07809c4b8905dab631
(cherry picked from commit 2a401bea9e)
2018-11-08 13:41:05 -08:00
Yi Kong 95fd9d171d Move libgcc to libcrt.builtins
libgcc is kept behind libcrt.builtins to provide unwinder symbols and
any other missing symbols.

Bug: 29275768
Bug: 119007754
Test: m checkbuild
Change-Id: Ifb16ed87afc3391f8830d771971315515f929235
Merged-In: Ifb16ed87afc3391f8830d771971315515f929235
(cherry picked from commit b9d8932279)
2018-11-08 13:40:34 -08:00
android-build-team Robot 7878098f6c Make change and version bump to PQ2A.181107.001
Change-Id: I1ab7d8a49a91f12369a2f181e3302f1d4412986f
2018-11-08 01:12:04 +00:00
Treehugger Robot 1c7db31772 Merge "Build docs as part of checkbuild" 2018-11-07 18:21:32 +00:00
Anton Hansson 20e7b65663 Merge "Set LOCAL_SDK_VERSION := current for RROs" 2018-11-07 11:57:40 +00:00
android-build-team Robot 478250bf8e Make change and version bump to PQ2A.181106.001
Change-Id: If50b6e416fe99a76b97bd948034e772e992d1775
2018-11-07 04:17:39 +00:00
Lubo Hristov 8163234246 [DO NOT MERGE] Security string update to 2019-01-05
bug:118903919
2018-11-06 14:01:11 -08:00
Lubo Hristov 1ce690dda1 [DO NOT MERGE] Security string update to 2019-01-01
bug:118903919
2018-11-06 13:59:10 -08:00
Colin Cross fd5ab7c9b2 Merge "Revert "Use protoc-gen-javalite for java lite protos"" 2018-11-06 18:42:03 +00:00
Treehugger Robot 6a806e76d4 Merge "Only zip2zip bundle resources if they exist" 2018-11-06 16:43:00 +00:00
Anton Hansson 0625f9a524 Merge "Move ro.build.characteristics to /product props" 2018-11-06 08:52:02 +00:00
Treehugger Robot 344f2524fc Merge "Fix pre-extracted PDKs" 2018-11-06 00:28:16 +00:00
Dan Willemsen 9b7c1e4393 Fix pre-extracted PDKs
The PDK unzip logic does not place all the files in the same directory
it would place a zipfile, but instead inside a directory of the same
name:

  a/b/platform.zip!pdk.mk

turns into:

  a/b/platform/pdk.mk

So fix the PDK_FUISON_PLATFORM_DIR autodetection to take this into
account. Also don't create touch rules for the pre-extracted java files.

Bug: 118776469
Test: try building the PDK with PDK_FUSION_PLATFORM_ZIP set, and files extracted
Change-Id: Ib27d12aba773a5e6bd41fcbe8945a0bc31b8c281
2018-11-05 10:57:24 -08:00
Colin Cross 7f1ca81e86 Build docs as part of checkbuild
Catch docs breakages in TreeHugger by building docs as part of
checkbuild targets.

Bug: 118815658
Test: m checkbuild
Change-Id: I7e71b176c680f269730d4bf98369a96138c0ee8a
2018-11-05 18:15:24 +00:00
Colin Cross 85fa3def65 Only zip2zip bundle resources if they exist
Only attempt to zip2zip the bundle parts/res.zip if it was created
because of full_classes_jar or PRIVATE_EXTRA_JAR_ARGS.

Bug: 117295826
Test: m dist on unbundled target with no resources or classes
Change-Id: I6072b29c7331201f33d196c24154f9947b4b0053
2018-11-05 10:13:10 -08:00
Anton Hansson 5ac408badd Move ro.build.characteristics to /product props
This property is not device-generic, as it's used for things like
whether the product is phone/tablet/other and whether it has an
sdcard or not.

Bug: 118618261
Test: adb shell getprop ro.build.characteristics for aosp_blueline
Change-Id: I6bbf1d4c36d7f37f92c67bebde58d72aba9d0852
2018-11-05 17:29:28 +00:00
Dan Shi 6fe5bf0adb Copy shared libraries used by tests to testcases directory
This change collects the shared libraries files used by tests in
suite, and deploy the files to testcases/lib*. The shared libraries then
can be zipped in general-tests.zip and device-tests.zip. And the host
test can be run in TradeFed host based on build artifacts.

Bug: 111486845
Test: m -j general-tests; m -j device-tests
Confirm the test can run in testcases directory:
out/host/linux-x86/testcases$ ./net_test_avrcp/x86_64/net_test_avrcp
unzip general-tests.zip, confirm net_test_avrcp can run.

Change-Id: I4f9322118aa4891226ea318cbd1bcee6ca48b050
2018-11-04 19:51:59 -08:00
Colin Cross e4f4c73c6a Revert "Use protoc-gen-javalite for java lite protos"
This reverts commit 84f0a11205.

Change-Id: I0d0d750deefb308eb63c99e517ae1a8622376fac
2018-11-04 17:23:32 -08:00
Colin Cross 4c9399d988 Merge "Use protoc-gen-javalite for java lite protos" 2018-11-05 01:13:15 +00:00
Jaewoong Jung 761b58065b Merge "Produce NOTICE files for static libraries." 2018-11-02 21:59:21 +00:00
android-build-team Robot 2f95f070eb Version bump to PQ1A.181205.006
Change-Id: I8431aebd92ec9e2e5db6cd7aca26cd8f8f3ab892
2018-11-02 21:01:11 +00:00
Treehugger Robot b966219142 Merge "Revert "Revert "Create bundle modules suitable for bundletool""" 2018-11-02 20:55:30 +00:00
David Brazdil 67828c207c Merge "Remove 'ro.art.hiddenapi.warning' system property" 2018-11-02 10:17:28 +00:00
Dan Willemsen 2066a5cc27 Exempt Soong from LOCAL_TEST_DATA checks
Soong is already checking for reasonable paths, and it supports
generated test data as well, which this does not.

Test: OUT_DIR=$PWD/out m nothing
Change-Id: I62dd09b74f0f3347930fd51c213e2f66c7dfeb2d
2018-11-01 19:37:03 -07:00
Jaewoong Jung 3d90562b7c Produce NOTICE files for static libraries.
Bug: 36073965
Test: mma + visual check.
Change-Id: I3ff341a0668cc6d6de8a54418a7e0db8af28c85c
2018-11-01 16:40:15 -07:00
Evgenii Stepanov ed90746cbd Link hwasan static library to native tests.
They are executables, but they are not EXECUTABLES.

Bug: 112438058
Test: make SANITIZE_TARGET=hwaddress tests
Change-Id: I0f5d8d6259d7df4196bde50ec553b73099f2c8ac
2018-11-01 15:43:14 -07:00
Dan Willemsen e0e0cadb21 Merge "Remove obsolete (CLANG|LLVM)_TBLGEN" 2018-11-01 20:51:11 +00:00
Colin Cross 35eb2e32bb Revert "Revert "Create bundle modules suitable for bundletool""
This reverts commit 3451e0ddf2.

Reason for revert: zip2zip now handles recursive globs better.

Bug: 117295826
Change-Id: Ifa30add28d6dbef03d08f8ef7826bb82ed702af6
2018-11-01 20:34:28 +00:00
Anton Hansson 8549417b69 Set LOCAL_SDK_VERSION := current for RROs
For sanity, and to silence the error of not setting
PRIVATE_PLATFORM_APIS or LOCAL_SDK_VERSION.

Exempt framework-res from this, as it can't build against the SDK.
Also tweak the previous whitelisting to be more specifically for
framework-res.

Bug: 118823052
Test: make downstream products
Change-Id: Ia15aaa3b1ea95e02e3483673b668ed2cbca76ba9
2018-11-01 18:48:28 +00:00
Paul Duffin 50537afe99 Merge "Allow UnsupportedAppUsage annotations to be in separate target" 2018-11-01 10:22:53 +00:00
Treehugger Robot 5e48a5c62e Merge "Remove host- prefix from protobuf libraries" 2018-11-01 10:12:38 +00:00
David Brazdil 7bdde125b5 Remove 'ro.art.hiddenapi.warning' system property
Toasts/dialog have been removed, so this is now unused.

Test: m, phone boots
Change-Id: Ia0c443a2561f276514337365a7b7d991fd5183a8
2018-11-01 09:59:20 +00:00
Dan Willemsen b93d898312 Remove obsolete (CLANG|LLVM)_TBLGEN
The last users have been removed.

Test: treehugger
Change-Id: Iafbf5228020bad26e1c241d46473ec559920b2fb
2018-11-01 00:24:44 -07:00
Treehugger Robot 0764d72f14 Merge "De-dup INTERNAL_SYSTEMIMAGE_FILES to fix PDK builds" 2018-11-01 06:57:11 +00:00
Treehugger Robot cb0e71fd72 Merge "Revert "Create bundle modules suitable for bundletool"" 2018-11-01 03:32:21 +00:00
Colin Cross 3451e0ddf2 Revert "Create bundle modules suitable for bundletool"
This reverts commit afc4604f67.

Reason for revert: zip2zip fails for multiple resources with the same name in different directories

Bug: 117295826
Change-Id: I807dffdaced999b5514ff49fb732a461c1fc90a2
2018-11-01 00:22:26 +00:00
Dan Willemsen 37a1986454 De-dup INTERNAL_SYSTEMIMAGE_FILES to fix PDK builds
On PDK builds, we sometimes end up with multiple entries in
INTERNAL_SYSTEMIMAGE_FILES, if we've got the definition for it, and it's
in PDK_FUSION_SYSIMG_FILES. This causes us to define multiple rules in
sdk_font.mk, leading to overriding commands errors.

Bug: 118634643
Test: attempt PDK build
Change-Id: Ieb4f46c0eece96cf246197af4b03e693493cc6a1
2018-10-31 16:39:29 -07:00
Colin Cross c66c317460 Merge changes from topics "soong-aar", "soong-bundle"
* changes:
  Store AAR path from Soong for dist
  Create bundle modules suitable for bundletool
  Dist bundle modules from Soong
2018-10-31 22:12:43 +00:00
Paul Duffin 79d8bf25ea Allow UnsupportedAppUsage annotations to be in separate target
Previously, all the UnsupportedAppUsage annotations were assumed to be
in the same target as was used at runtime. e.g. frameworks,
core-libart, etc. This change allows separate targets to be specified
in the EXTRA_HIDDENAPI_JARS. It is needed to avoid maintaining local
patches for those annotations in the libcore/ojluni/src/main/java code
which comes from upstream OpenJDK.

This was tested by making and then manually checking that the generated
out/target/common/obj/PACKAGING/hiddenapi-light-greylist.txt was the
same (after sorting) before and after this change.

Test: see above
Bug: 117818301
Change-Id: Icfadbe52601371f6a4cabef106750b16f6c6d4c8
2018-10-31 10:33:38 +00:00
android-build-team Robot a305bb462c Make change and version bump to PQ2A.181030.001
Change-Id: Id9f893229aadbef6fd512c27dbb933e51926433d
2018-10-31 03:17:14 +00:00
Colin Cross 74e4cf10bf Store AAR path from Soong for dist
Store the path to the AAR file from Soong so that it will be picked
up by dist if requested in TARGET_BUILD_APPS.

Test: m checkbuild
Change-Id: Ifeaf2b5ca3f405fbe79a966ceee9989a38d77f6e
2018-10-30 15:48:33 -07:00
Colin Cross afc4604f67 Create bundle modules suitable for bundletool
Create a bundle module in addition to creating an APK, which can
then optionally be merged with bundle modules from builds for
other architectures and then be passed to bundletool to create an
app bundle.

Bug: 117295826
Test: tapas Gallery2 && m dist
Change-Id: Ib9b5558888d6d6e841e8a5dcd7037dd0fd65a730
2018-10-30 15:48:25 -07:00
Colin Cross 0fb8c97b02 Dist bundle modules from Soong
Dist bundle modules when requested by TARGET_BUILD_APPS.

Bug: 117295826
Test: tapas RecoveryLocalizer && m dist
Change-Id: Iad63ceafc2a60e6735b50eca65cc4859f9d71b52
2018-10-30 15:47:59 -07:00
David Brazdil 4438e0bb8e Merge "Revert^4: Change command-line flags of hiddenapi" 2018-10-30 10:02:20 +00:00
android-build-team Robot bd5d908c43 Version bump to PQ1A.181205.005
Change-Id: Ie9b19d64d3c072624f239dbf294ac882c0a45a82
2018-10-29 17:49:51 +00:00
android-build-team Robot 1c9dc3fea5 Version bump to PQ1A.181205.004
Change-Id: I6e488a54540131d13b54302649d3b12651611c50
2018-10-29 17:37:07 +00:00
David Brazdil 9007e530aa Revert^4: Change command-line flags of hiddenapi
The `hiddenapi` build tool now reads a dex file from one filename
and writes a modified dex file to another. Change the build rule
to reflect it.

This reverts commit d8c427fbba.

Change-Id: Ic9a4188a65f7a6fb28edae1aeda7422e93800c58
Test: m
2018-10-27 21:46:19 +00:00
Colin Cross 84f0a11205 Use protoc-gen-javalite for java lite protos
Protobuf 3.5.2 does not natively support lite protos, instead they
are generated by the protoc-gen-javalite plugin compiled from
external/protobuf-javalite.

Bug: 117607748
Test: m checkbuild
Change-Id: I166d55111435762f099503db83c1a658f78e98e9
2018-10-26 23:57:26 -07:00
Colin Cross 615212e1a2 Remove host- prefix from protobuf libraries
Test: m checkbuild
Change-Id: I3e7e5f22a5becd2f37db89b6681ff21737b29267
2018-10-26 23:55:49 -07:00
Treehugger Robot df45f28a82 Merge "Really mark sdk_addon as PHONY to fix `m snod`" 2018-10-27 00:28:23 +00:00
android-build-team Robot b8f83a68bd Version bump to PQ1A.181205.003
Change-Id: Ic949f5e34ca4d432d8928a74533c765025e66b07
2018-10-26 20:58:08 +00:00
Yifan Hong 779dc30020 Merge changes from topic "dpgroup"
* changes:
  Add dynamic partition info to target files
  BOARD_{GROUP}_SIZE must not be empty.
  Add _a and _b to group names to super.
2018-10-26 18:23:53 +00:00
Dan Willemsen ea898f1c53 Really mark sdk_addon as PHONY to fix `m snod`
When we're using a dont_bother_goals (including snod), we don't load
build/make/core/tasks/*.mk, so sdk_addon isn't defined as a PHONY rule.

This causes a build break because build/make/core/Makefile uses
dist-for-goals with sdk_addon. dist-for-goals requires its arguments to
be PHONY targets.

Test: m snod
Change-Id: I69937fe9360be57766d17ed4c28b5d2a1e348308
2018-10-26 11:17:25 -07:00
Paul Hobbs 27ec8b868e Merge "Revert "Revert^2: Change command-line flags of hiddenapi"" 2018-10-26 17:22:35 +00:00
Luman Qu d8c427fbba Revert "Revert^2: Change command-line flags of hiddenapi"
This reverts commit e9540386e2.

Reason for revert: Caught by droidcop https://b.corp.google.com/issues/118481351

Change-Id: I66e45ef5a84d63682e5c33c9aa1e708160606611
2018-10-26 16:53:09 +00:00