Commit Graph

16013 Commits

Author SHA1 Message Date
TreeHugger Robot 824f1da0f0 Merge "DO NOT MERGE Always statically include Support Libraries, move SDK definitions up a dir" into pi-dev 2018-03-24 04:39:20 +00:00
Alan Viverette 861475dc71 DO NOT MERGE Always statically include Support Libraries, move SDK definitions up a dir
Bug: 73250914
Bug: 74248169
Test: make && make cts
Change-Id: Id7198997ac5cacf76fd8ab155a60026d65e420ec
2018-03-24 00:28:00 +00:00
Colin Cross e57c1d03e0 Merge "Silence more duplicate path warnings" into pi-dev 2018-03-22 23:51:58 +00:00
Colin Cross a5b6b5021c Silence more duplicate path warnings
Silence warnings when merging header jars that were missed by
Ifb67dbf7734b5f53941d110f578c4fe642e36005.

Bug: 69316739
Test: m checkbuild
Change-Id: I5cfea62e46d99f9b315a589d8915bf62307220aa
Merged-In: I5cfea62e46d99f9b315a589d8915bf62307220aa
(cherry picked from commit f6799e859a)
2018-03-22 15:06:49 -07:00
Ivan Lozano d86c6190a7 Merge "Add minimal-runtime support for integer overflows." into pi-dev 2018-03-22 20:17:38 +00:00
Colin Cross 8060af2e78 Merge changes I54b8ec9c,Ibef28507,Ia858de22,Ide3050ec,Ib6e00be4, ... into pi-dev
* changes:
  Add asan-specific CleanSpec
  Use a srcjar for aapt and aapt2 output
  Move R.txt and make aapt2 generate it
  Move aapt2.mk before java.mk
  Remove redundant renderscript_target_api computation
  Move java renderscript support to java_renderscript.mk
  Use srcjar and resource zip as output of renderscript rules
2018-03-21 19:58:08 +00:00
Ivan Lozano 410e1f8389 Add minimal-runtime support for integer overflows.
Adds Make support for -fsanitze-minimal-runtime when using
the integer overflow sanitizers. This makes the crashes due to these
sanitizers less mysterious. This also cleans up the handling of the
integer_overflow flag.

Bug: 64091660
Test: Compiled and checked the generated compiler commands
Test: Checked program that overflows for the abort reason
Test: Checked integer_overflow flag still emits overflow checks

Change-Id: I11012ed0cbbf51935f549a08bd17109b5ce6f330
Merged-In: I11012ed0cbbf51935f549a08bd17109b5ce6f330
(cherry picked from commit 911cb99bc1)
2018-03-21 10:05:34 -07:00
Colin Cross ff413b1c4b Merge changes from topic "zipsync" into pi-dev
* changes:
  Remove framework_res_package_export_deps
  Replace extract_srcjars.sh with zipsync
  Allow compiles with only srcjars
  Allow aapt2 rules to take zipped resource files
  Add LOCAL_SRCJARS support
  Remove unused .fs file suppport
  Remove unused file lists
  Remove sharding support from make
  Move aapt flags from java_common.mk to aapt_flags.mk
  Remove missed PRODUCT_AAPT_FLAGS
2018-03-21 15:57:39 +00:00
TreeHugger Robot 5681de773d Merge changes from topic "system-as-root-recovery" into pi-dev
* changes:
  Use bsdiff to generate recovery-from-boot.p for system-root-image.
  Conditionally generate META/boot_filesystem_config.txt.
2018-03-21 03:57:01 +00:00
Colin Cross 65c7cdf2a7 Remove framework_res_package_export_deps
framework_res_package_export is now always either the prebuilt
android.jar from an SDK or a package-export.apk generated by
Soong, so the dependency on R.stamp is never useful.  Remove
all assignments to framework_res_package_export_deps, and replace
usages with frameworks_res_package_export.

Bug: 73885582
Test: m checkbuild
Change-Id: If484e9eb08061cb0ed0697755f13db71d741aaab
Merged-In: If484e9eb08061cb0ed0697755f13db71d741aaab
(cherry picked from commit 6e136922f3)
2018-03-20 15:47:45 -07:00
Colin Cross ccf8992ac2 Use a srcjar for aapt and aapt2 output
Dumping files in the *_intermediates/src causes incremental build
problems, because we don't know when to delete them if they are
no longer generated.  Switch to outputting a srcjar instead, and
pass it in to the turbine and javac compiles.

Bug: 73885582
Test: m checkbuild
Change-Id: Ibef28507522339d930c09426d0c98372eb864cb6
Merged-In: Ibef28507522339d930c09426d0c98372eb864cb6
(cherry picked from commit 2d1cddd567)
2018-03-20 15:47:45 -07:00
Colin Cross a73ea16f95 Replace extract_srcjars.sh with zipsync
Use zipsync instead of extract_srcjars.sh.

Also fixes an issue where unzipping a resource zip would
ignore anything that wasn't a *.java file.

Bug: 73885582
Test: m checkbuild
Change-Id: I1c25f65afa196614879071c8655866febebac185
Merged-In: I1c25f65afa196614879071c8655866febebac185
(cherry picked from commit 3f99cd5933)
2018-03-20 15:47:45 -07:00
Colin Cross b543a4f80c Move R.txt and make aapt2 generate it
Move R.txt from $(intermediates.COMMON)/src to $(intermediates.COMMON)
in preparation for moving aapt/aapt2 java files out of src.  Also
make aapt2 generate R.txt, and make it an implicit output of the rule
and and input to the aar rule.

Bug: 73885582
Test: m out/target/common/obj/JAVA_LIBRARIES/SettingsLib_intermediates/javalib.aar
Test: m checkbuild
Change-Id: Ia858de226355965b69794c002f841333df16a612
Merged-In: Ia858de226355965b69794c002f841333df16a612
(cherry picked from commit 7c24f8ec85)
2018-03-20 15:47:45 -07:00
Colin Cross ce99f05025 Allow compiles with only srcjars
Some javac and turbine compiles have no source files but sources
from srcjars.  Continue with compilation if the java source list
is empty but the srcjar source list is not.

Bug: 73885582
Test: m checkbuild
Change-Id: Ica412de2dd1b1bfc12c01c3eafca884220d42771
Merged-In: Ica412de2dd1b1bfc12c01c3eafca884220d42771
(cherry picked from commit 0c0adb993c)
2018-03-20 15:47:45 -07:00
Colin Cross 8a33456e7d Move aapt2.mk before java.mk
aapt2.mk will export a srcjar that will be compiled by java.mk, so
it needs to be evaluated first.  Also move java_renderscript.mk
before aapt2.mk so that the generated resoures are available.

Bug: 73885582
Test: m checkbuild
Test: rm -rf out/target/common/obj/APPS/RsHelloCompute_intermediates &&
      m out/target/common/obj/APPS/RsHelloCompute_intermediates/src/R.stamp
Change-Id: Ide3050ec993a945f7077b75e952c3b3532306ede
Merged-In: Ide3050ec993a945f7077b75e952c3b3532306ede
(cherry picked from commit 8528eabbba)
2018-03-20 15:47:45 -07:00
Colin Cross 0a717ccd3f Allow aapt2 rules to take zipped resource files
Allow aapt2 rules to take zipped resource files similar to the
way the javac rules take srcjars.  For now, unzip the files using
extract_srcjars.sh, and then use aapt2 compile --dir.  Eventually
it could be done with aapt2 compile --zip.

Bug: 73885582
Bug: 74574557
Test: m checkbuild
Change-Id: I97ea3ff305e7a9ef2a908b4cf0bca903af62c6b1
Merged-In: I97ea3ff305e7a9ef2a908b4cf0bca903af62c6b1
(cherry picked from commit bc0c494d3a)
2018-03-20 15:47:45 -07:00
Colin Cross 65c5bcf79e Remove redundant renderscript_target_api computation
renderscript_target_api is set by java_renderscript.mk, it doesn't
need to be computed again in static_java_library.mk and
package_internal.mk.

Bug: 73885582
Test: no change to ninja file
Change-Id: Ib6e00be425c385f4911def19ed5042a740f2c79b
Merged-In: Ib6e00be425c385f4911def19ed5042a740f2c79b
(cherry picked from commit 55cce23360)
2018-03-20 15:47:45 -07:00
Colin Cross f13eb55448 Add LOCAL_SRCJARS support
Allow java modules to take jars containing .java files as an input.
For turbine, pass them directly to turbine.  For javac, extract them
to a directory and pass a list of the files to javac.

Bug: 73885582
Test: m checkbuild
Change-Id: Ib4351a5b4b165a55e5fb02ee2680466db368983a
Merged-In: Ib4351a5b4b165a55e5fb02ee2680466db368983a
(cherry picked from commit 11e2d55c0f)
2018-03-20 15:47:45 -07:00
Colin Cross b4ee77aefb Move java renderscript support to java_renderscript.mk
Move java renderscript support to java_renderscript.mk in
preparation to moving it before aapt.  Filter *.rs files
out of LOCAL_SRC_FILES and forbid them in java_common.mk
so that using *.rs files is an error if java_renderscript.mk
was not included.

Bug: 73885582
Test: m checkbuild
Change-Id: Ib37ce89daee58b025dec98f733c5a08149641afd
Merged-In: Ib37ce89daee58b025dec98f733c5a08149641afd
(cherry picked from commit 71822d6fb9)
2018-03-20 15:47:45 -07:00
Colin Cross ecabf53bee Remove unused .fs file suppport
.fs files are obsolete.

Bug: 73885582
Test: m checkbuild
Change-Id: I74b618099333fe565c7b235994be64e6466d2da6
Merged-In: I74b618099333fe565c7b235994be64e6466d2da6
(cherry picked from commit 93d6550c53)
2018-03-20 15:47:45 -07:00
Colin Cross ec7be103d0 Use srcjar and resource zip as output of renderscript rules
Replace RenderScript.stamp with a srcjar, with a resource zip as
an implicit output.  This makes the renderscript rules self contained,
which will make it easier to move them before aapt.

Bug: 73885582
Test: m checkbuild
Change-Id: I12d33e52019aebac6ea33271939228e4690a4173
Merged-In: I12d33e52019aebac6ea33271939228e4690a4173
(cherry picked from commit e00e2fae52)
2018-03-20 15:47:45 -07:00
Colin Cross e793ae62f5 Remove unused file lists
RS_FILES and AIDL_FILES were used for cleaning up the intermediate
src dir, but are no longer used after
If7529979de6fa62a651933a3a974f47b033851d6 and
I01feff7cc399ac5b88b83333a1ac86928d0a81e6.

Bug: 73885582
Test: m checkbuild
Change-Id: If2653f846b568fd2587c8e055ef820e17760f133
Merged-In: If2653f846b568fd2587c8e055ef820e17760f133
(cherry picked from commit c3e7074df1)
2018-03-20 15:47:45 -07:00
Colin Cross 35e31b65bd Remove sharding support from make
Sharding is not used in make any more, the large java modules
(libcore and framework) have moved to Soong.  Keeping sharding
support complicates java compiling, so remove it.

Bug: 73885582
Test: m checkbuild
Change-Id: I2932f9e96bfc8f2ebf82095b16d6c0b3c51613f0
Merged-In: I2932f9e96bfc8f2ebf82095b16d6c0b3c51613f0
(cherry picked from commit 5ef6e79c21)
2018-03-20 15:47:45 -07:00
Colin Cross f70aa4cde7 Move aapt flags from java_common.mk to aapt_flags.mk
The aapt flags were being set in java_common.mk, which is used by
various entry points.  host_dalvik_java_library.mk and
host_java_library.mk, and java_library.mk don't support aapt, only
package_internal.mk and static_java_library.mk do.  Move the aapt
flags into aapt_flags.mk, and include it from package_internal.mk
and static_java_library.mk.

Bug: 73885582
Test: no change to build-${TARGET_PRODUCT}.ninja
Change-Id: I124393846d37b9bbc941272cce4274121ac235ef
Merged-In: I124393846d37b9bbc941272cce4274121ac235ef
(cherry picked from commit b6013af085)
2018-03-20 15:47:45 -07:00
Colin Cross 55dcf71d43 Remove missed PRODUCT_AAPT_FLAGS
PRODUCT_AAPT_FLAGS was removed by Iacc914114616b5bd19d9a1011802f4f9bca9bc19,
remove one more that it missed.

Bug: 73885582
Test: m checkbuild
Change-Id: I31ea4954f5af5af37f13210925ed5d622625d71b
Merged-In: I31ea4954f5af5af37f13210925ed5d622625d71b
(cherry picked from commit 8dad6c62d4)
2018-03-20 15:47:45 -07:00
Julien Desprez 8982289d3d Merge "Add loganalysis to cts" into pi-dev 2018-03-20 15:18:37 +00:00
Tao Bao 2d2ce7dd02 Use bsdiff to generate recovery-from-boot.p for system-root-image.
This CL handles a path that uses system-root-image on non-A/B device.
For this path, we can't generate recovery-from-boot patch with imgdiff,
because boot/recovery images contain different number of entries (only
recovery iamge has ramdisk image now).

Using BOARD_USES_FULL_RECOVERY_IMAGE can work around the issue, at the
cost of extra size. Compared to carrying full recovery image, this CL
saves the cost of the kernel size, by putting a patch that's roughly the
size of the recovery ramdisk.

The applypatch executable already detects and handles a bsdiff patch
automatically. No change required to that end.

Note that it won't further reduce the patch size by handling that
ramdisk entry specially, because (a) that's the only difference between
the two images; and (b) there's no corresponding data in boot image to
be diff'd against.

Bug: 72731506
Test: `m dist` with aosp_angler-userdebug. Check the device can install
      recovery image successfully (after intentionally corrupting the
      recovery image).
Test: Build aosp_angler-userdebug with BOARD_BUILD_SYSTEM_ROOT_IMAGE set.
      Verify the generated patch files.
Test: Run validate_target_files.py with the target_files.zips.
Change-Id: I69c06f51ba8c39ae059c5e9a6872a9f10600cf17
Merged-In: I69c06f51ba8c39ae059c5e9a6872a9f10600cf17
(cherry picked from commit 6d5d623987)
2018-03-20 11:38:50 +08:00
Tao Bao 4181f531c7 Conditionally generate META/boot_filesystem_config.txt.
if BOARD_BUILD_SYSTEM_ROOT_IMAGE != true:  # case A
  - BOOT/RAMDISK corresponds to the / under normal boot, with matching
    fs_config in META/boot_filesystem_config.txt.
  - RECOVERY/RAMDISK corresponds to the / under recovery, with fs_config
    in META/recovery_filesystem_config.txt.
else:
  if BOARD_USES_RECOVERY_AS_BOOT == true:  # case B
    - ROOT/ corresponds to the / under normal boot, with fs_config in
      META/root_filesystem_config.txt.
    - BOOT/RAMDISK corresponds to the / under recovery, with fs_config
      in META/boot_filesystem_config.txt.
  else:  # case C
    - ROOT/ corresponds to the / under normal boot, with fs_config in
      META/root_filesystem_config.txt.
    - RECOVERY/RAMDISK corresponds to the / under recovery, with fs_config
      in META/recovery_filesystem_config.txt.
    - BOOT/RAMDISK doesn't exist.

This CL fixes case C, where we shouldn't try to generate
'META/boot_filesystem_config.txt' for BOOT/RAMDISK. It wouldn't be fatal
without this fix, but would wrongly scan the current directory and
include a large fs_config output into target-files.zip.

Bug: 72731506
Test: `lunch aosp_bullhead-userdebug` and `m dist`. (case A)
Test: `lunch aosp_marlin-userdebug` and `m dist`. (case B)
Test: Define 'BOARD_BUILD_SYSTEM_ROOT_IMAGE := true' for angler. `m
      dist` and check the generated target-files.zip. (case C)
Change-Id: I5582ce8cca464d535af0718be0fd8e65791bd6c2
Merged-In: I5582ce8cca464d535af0718be0fd8e65791bd6c2
(cherry picked from commit da01b211f8)
2018-03-20 11:36:55 +08:00
TreeHugger Robot 3bd78ec87e Merge "Update the base autogenerated config template for instru" into pi-dev 2018-03-20 01:57:30 +00:00
TreeHugger Robot 40bfe1e910 Merge "Provide testcases directory for host cross out (windows) modules" into pi-dev 2018-03-20 00:41:46 +00:00
jdesprez ccbedae0e6 Add loganalysis to cts
Tradefed depends on Loganalysis so it should also be part
of cts. Luckily there was no overlap (cts never called a
part of TF that use loganalysis) so it never failed
with classNotFound before.

Test: build cts
Bug: 75979908
Change-Id: I65edf4d1a46c20875e31a61ddfcd343dd7c639aa
Merged-In: I2542ecd077149f7165aff120d67054943df20b54
2018-03-19 23:49:33 +00:00
Colin Cross 2e3a5cf452 Provide testcases directory for host cross out (windows) modules
If HOST_CROSS_OUT_TESTCASES is not defined, then a module that
builds for windows and has a test config will attempt to install
the config file to /<module>/<module>.config.

Fixes:
[ 54% 99/183] Copy: /simpleperf_unit_test/x86/simpleperf_unit_test.exeninja: error: mkdir(/simpleperf_unit_test): Permission denied

Bug: 75971265
Test: m simpleperf_unit_test
Change-Id: I07dcecbce9c710b29fec5fbdedc462be3245b578
Merged-In: I07dcecbce9c710b29fec5fbdedc462be3245b578
(cherry picked from commit e887ccbf12)
2018-03-19 22:17:58 +00:00
TreeHugger Robot 4c3f7f08d0 Merge "Fix the incorrect turbine flag." into pi-dev 2018-03-19 22:01:49 +00:00
Nan Zhang af5788248a Fix the incorrect turbine flag.
Bug: 74831968
Test: m -j java TURBINE_ENABLED=false
Change-Id: Id6ca380c97bbcd3731c815e37513b7e949cccdfb
(cherry picked from commit 78c19aa9ef)
Merged-In: Id6ca380c97bbcd3731c815e37513b7e949cccdfb
2018-03-19 19:58:02 +00:00
jdesprez d69d64607a Update the base autogenerated config template for instru
For APCT auto-generated configuration, the template will
include the test-suite-tag that will allow it to be
picked up by the current ATP gcl config.

Test: none
Bug: 74440293
Change-Id: I66e9f2f75e43a9371cf8b55130cd49a962753167
Merged-In: Ia82e8287f212f4daec97523394517bfbbe7a86d3
2018-03-16 18:16:34 +00:00
TreeHugger Robot b429175200 Merge "build/make: Add default suite for all native tests/benchmarks" into pi-dev 2018-03-15 22:39:31 +00:00
Martijn Coenen d027dfa39f Merge "Products launching with API 28 need 64-bit binder interface." into pi-dev 2018-03-14 11:05:19 +00:00
Simran Basi 1ef901c167 build/make: Add default suite for all native tests/benchmarks
Not all native tests have the "tests" tag so adjust the logic to be:
NATIVE_TESTS||NATIVE_BENCHMARKS||(APPS&&tags==tests)

Bug: 74339384
Test: Rebuilt module-info.json, verified native tests now have
      their suite set to null-suite and have auto_test_config=True
      Double checked a frameworks App unittest as well.

Change-Id: Idea00adcebfc1a78b0c6d8ade40feddb1e90ed83
Merged-In: Idea00adcebfc1a78b0c6d8ade40feddb1e90ed83
2018-03-13 18:31:48 -07:00
Mathieu Chartier 1a50e975ae Merge "Revert "Revert "For user and userdebug generate error if DEXPREOPT is not enabled""" into pi-dev 2018-03-12 18:47:10 +00:00
Roland Levillain 8344d024f3 Merge "Revert "Remove art targets from PARSE_TIME_MAKE_GOALS"" into pi-dev 2018-03-12 12:41:53 +00:00
Mathieu Chartier 1f1335ceeb Revert "Revert "For user and userdebug generate error if DEXPREOPT is not enabled""
Fixed the failing targets.

Bug: 74209329
Test: make

This reverts commit 0ecba4b139.

Change-Id: I4f346b8107ffaf6afbd551d91574ed040372635e
2018-03-09 18:03:49 -08:00
Roland Levillain e5372a1881 Revert "Remove art targets from PARSE_TIME_MAKE_GOALS"
This reverts commit 86a596c711.

Reverting as that commit breaks ART tests' results (see
b/73804944).

(cherry picked from commit 209b96e152)

Test: m test-art-host
Bug: 73804944
Bug: 26275726
Change-Id: I06af4b170d845d3e55e044c28ec22d4b3ca3dede
2018-03-09 14:33:41 +00:00
Anton Hansson f6da011392 Merge changes from topic "enforce-pi-dev" into pi-dev
* changes:
  Enforce specifying sdk/private for apps.
  Add more control to the java sdk enforcement.
2018-03-09 14:12:57 +00:00
Anton Hansson b88c0e04f8 Enforce specifying sdk/private for apps.
All apps in master comply with this now, but new offenders
are being added daily. This will ensure compliance going
forward.

Test: build/soong/build_test.bash
Bug: 73535841

Exempt-From-Owner-Approval: cp from master
Change-Id: If28049750a9787bf455f72402e624dbddf842253
Merged-In: Id3fbb502d26d91b64480fec74e241ba77fa0faff
2018-03-09 10:15:25 +00:00
Anton Hansson 7c3c9ef7de Add more control to the java sdk enforcement.
I plan on turning the error on for APPS in AOSP soon, and in preparation for
that I'm introducing a finer granularity of warning/error control.

Also add an almost-empty whitelist, which will likely need to be expanded
in the future.

Bug: 73535841
Test: make
Exempt-From-Owner-Approval: cp from aosp and master
Change-Id: I2fc6700a504b7af50aa7bde727047bc56b167937
Merged-In: I13ebe3ead2d19aa797bcc39a7bbccdb55b9c7d1c
Merged-In: I87c968b2e8314300b155483bbb7ce5e169fe8f0c
2018-03-09 09:52:44 +00:00
Dan Willemsen 389bbe45a2 Support a pre-extracted PDK zip
Pre-extracting the zip files are more sustainable for git, so that
objects can be shared if unchanged, rather than the 900MB zip file
changing on every build.

This also has the advantage that we could put an Android.bp file inside
the PDK, and Soong would just pick it up.

Bug: 68767391
Test: Build mini_arm64 PDK with platform.zip
Test: Build mini_arm64 PDK with extracted zip file
Change-Id: I16db030a731aea55b69c1d6e2260dbd70b167544
Merged-In: I16db030a731aea55b69c1d6e2260dbd70b167544
(cherry picked from commit 0663f685c2)
2018-03-09 00:27:56 -08:00
Jiyong Park 0c7a14ab3c Remove unnecessary link-type check
Modules from Soong do not have dependency specified (via
LOCAL_JAVA_LIBRARIES). So, link-type check 'from' them doesn't make
sense. Resetting my_warn_types and my_allowed_types

Bug: 69899800
Test: m -j checkbuild on aosp_walleye, aosp_sailfish
Test: build/soong/build_test.bash --dist
Merged-In: I2a409e64f388bd8cb9336be589bf6af33e48a6f4
Change-Id: I2a409e64f388bd8cb9336be589bf6af33e48a6f4
(cherry picked from commit 98a4f52c28)
2018-03-09 09:31:27 +09:00
Mathieu Chartier a7d5df28cb Merge "Revert "For user and userdebug generate error if DEXPREOPT is not enabled"" into pi-dev 2018-03-08 18:55:20 +00:00
Mathieu Chartier 0ecba4b139 Revert "For user and userdebug generate error if DEXPREOPT is not enabled"
This reverts commit f26b8e4249.

Reason for revert: Too many broken targets
Bug: 74209329

Change-Id: I8f1390eacf685e1b7144b712fe5afb8da384ceb0
2018-03-08 18:25:28 +00:00
Anton Hansson 455f2c0223 Revert "Enforce specifying sdk/private for apps."
This reverts commit 49b67af95e.

Reason for revert: Missing a bunch of fixes from master.

Test: make
Bug: 73535841
Exempt-From-Owner-Approval: fixes the build
Change-Id: Ide0998bad5876aa409d1bb0f8331e6b097c3c8a2
Merged-In: Id3fbb502d26d91b64480fec74e241ba77fa0faff
2018-03-08 16:41:05 +00:00