Commit Graph

15986 Commits

Author SHA1 Message Date
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
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
Anton Hansson
49b67af95e 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: vendor/google/build/build_test.bash --dist
Bug: 73535841

Exempt-From-Owner-Approval: reviewed in master/aosp, but this blocks aosp
Change-Id: Id3fbb502d26d91b64480fec74e241ba77fa0faff
Merged-In: Id3fbb502d26d91b64480fec74e241ba77fa0faff
2018-03-08 13:09:06 +00:00
Martijn Coenen
08f10d0529 Products launching with API 28 need 64-bit binder interface.
This time around we're really deprecating the 32-bit
binder interface (v7), even for 32-bit devices.

Upgrading devices can keep using it.

Bug: 69775513
Test: manual makefile prodding
Change-Id: I3850418ca267e72593f5f12b940e5382b29b024a
2018-03-08 10:57:15 +00:00
TreeHugger Robot
355d9b8bab Merge "Don't allow linking to a java module with broader API surface" into pi-dev 2018-03-08 00:58:59 +00:00
Mathieu Chartier
f26b8e4249 For user and userdebug generate error if DEXPREOPT is not enabled
This prevents cases where system_server is running in interpreter
only mode.

Removed unused flag in product.mk

Bug: 74209329
Test: WITH_DEXPREOPT=false make
Change-Id: I4ab3afed95a5baf77d0cd089dafaa18bcc1913e5
2018-03-07 10:51:52 -08:00
Jiyong Park
3d71a082ed Don't allow linking to a java module with broader API surface
It has been allowed that a java module built with Android SDK or System
SDK to link against other java module built with broader API surface.
For example, an app that is building with SDK (LOCAL_SDK_VERSION :=
current or <number>) can link libs like telephony-common or bouncycastle
which are built without SDK but in fact exposing private APIs.

From now on, this is no longer allowed because it prevents the app from
being unbundled. In general, a Java module A cannot be linked to Java
module B if B is built with broader API surface than A.

Bug: 69899800
Test: m -j checkbuild on walleye, sailfish, and crosshatch
Test: m -j ANDROID_BUILDSPEC=vendor/google/build/app_build_spec.mk
Test: ./vendor/google/build/build_test.bash --dist
Change-Id: Ibfdb1a6777f4e0606927d834d56f808639eb91f0
2018-03-07 18:36:20 +00:00
Bill Rassieur
2ca64ed178 BUILD_ID=PI DO NOT MERGE
BUG: 71761075
2018-03-05 03:12:14 -08:00
Jayant Chowdhary
dcf9ae8fb9 Merge "Collect all lsdump paths and write them to $(OUT_DIR)." am: 1fa15d7491 am: 210dc9010b
am: e47e3d302f

Change-Id: Ie745cfbbc1fa64fa59edd35f4e5454ab13a86b81
2018-03-02 18:08:54 +00:00
Jayant Chowdhary
e47e3d302f Merge "Collect all lsdump paths and write them to $(OUT_DIR)." am: 1fa15d7491
am: 210dc9010b

Change-Id: Ib589fa0c952eaa0cdf762c7cc550e6ed9714203c
2018-03-02 18:02:48 +00:00
Jayant Chowdhary
1fa15d7491 Merge "Collect all lsdump paths and write them to $(OUT_DIR)." 2018-03-02 17:34:33 +00:00
Alan Viverette
7ca75e59a1 Merge "Move Support Library dependencies to their own var with resolution" 2018-03-02 15:08:15 +00:00
Andreas Gampe
216995134a Merge "Build: Add some dex2oat boot image error message" am: e706929161 am: 598f4c0fc3
am: 247b2309f7

Change-Id: I721de213797be877b9feb6f724d0c3eb01ffa66d
2018-03-01 21:13:23 +00:00
Andreas Gampe
247b2309f7 Merge "Build: Add some dex2oat boot image error message" am: e706929161
am: 598f4c0fc3

Change-Id: I4e626d87bb174ab68a1dbc3c704279b892b0aa84
2018-03-01 21:05:44 +00:00
Andreas Gampe
f47d9bf0e6 Merge "Build: Factor out ANDROID_LOG_TAGS" am: 16596052cb am: 8cb8255a60
am: 479c2fc9be

Change-Id: Ic6f042dc5f6e1fff1544e81c5e49a564ad2112e1
2018-03-01 20:12:11 +00:00
Andreas Gampe
479c2fc9be Merge "Build: Factor out ANDROID_LOG_TAGS" am: 16596052cb
am: 8cb8255a60

Change-Id: I4d0c428d01290dadd0a560cacaf43aa9cfbb750e
2018-03-01 20:05:29 +00:00
Andreas Gampe
5147749d1a Build: Add some dex2oat boot image error message
Typical failure case for boot image dex2oat is an inconsistent boot
classpath left over from incomplete build dependencies. Give advice
to run a top-level build.

Bug: 73749543
Test: m
Change-Id: I81c4ce9d02b2b360fe867b594d0a2b21c763e473
2018-03-01 08:47:44 -08:00
Andreas Gampe
fc2fefcd83 Build: Factor out ANDROID_LOG_TAGS
Factor out ANDROID_LOG_TAGS for boot image compilation. Do not use
the setting when ART_BOOT_IMAGE_EXTRA_ARGS is set.

Bug: 73749543
Test: m
Test: ART_BOOT_IMAGE_EXTRA_ARGS="--runtime-arg -verbose:verifier" m art-boot-image
Change-Id: Ia599381991f74f243fee966184715b0172742e78
2018-03-01 08:47:44 -08:00
Alan Viverette
53f6b2a80b Move Support Library dependencies to their own var with resolution
Bug: 73250914
Test: make checkbuild
Change-Id: Ibdbe2fd140133202b266ca4f233c4d42292fa3df
2018-03-01 16:12:31 +00:00
Nan Zhang
5ebbb19f8f Merge "Change name of droiddoc target output to *-stubs.srcjar" am: 690aaa95ad am: 7eb52545bd
am: 65a89f9ac7

Change-Id: I2d790894e30d2fe230f1b4a87d70c6dc5666dd0e
2018-03-01 02:30:05 +00:00
Nan Zhang
65a89f9ac7 Merge "Change name of droiddoc target output to *-stubs.srcjar" am: 690aaa95ad
am: 7eb52545bd

Change-Id: If82350f66a5c5a770f6e9c684a9635ddc74cabfe
2018-03-01 02:25:29 +00:00
Treehugger Robot
690aaa95ad Merge "Change name of droiddoc target output to *-stubs.srcjar" 2018-03-01 02:06:54 +00:00
Jayant Chowdhary
67e0cc5d63 Collect all lsdump paths and write them to $(OUT_DIR).
$(OUT_DIR)/target/product/$(TARGET_DEVICE)/lsdump_paths.txt will contain all
.lsdump paths relative to $(ANDROID_BUILD_TOP). This helps faster lookup while
running scripts to generate reference dumps.

Test: m -j findlsdumps for aosp_arm64_ab.
      $OUT_DIR/lsdump_paths/generic_arm64_ab/paths.txt has paths to lsdump files
      generated for the build.

Test: m -j findlsdumps for aosp_arm_ab.
      $OUT_DIR/target/product/generic_arm_ab/lsump_paths.txt has paths to
      lsdump files generated for the build.

Change-Id: Iab1640f57bf9d0af5e88e6dda64a610fedcbe87e
2018-02-28 16:29:51 -08:00
Nan Zhang
9c98cb4815 Change name of droiddoc target output to *-stubs.srcjar
Test: m -j core-docs
Bug: b/70351683
Change-Id: I3fa696517175764b64a3b66d25ab04f02e561e51
2018-02-28 16:11:47 -08:00
Andreas Gampe
683ea67560 Merge "Build: Silence patchoat" am: cacaf6ba6e am: f18fd60ebe
am: 5c48f2dac3

Change-Id: Ic1b246010b09a1292a247f7194321409c2f704ed
2018-02-28 23:54:10 +00:00
Andreas Gampe
5c48f2dac3 Merge "Build: Silence patchoat" am: cacaf6ba6e
am: f18fd60ebe

Change-Id: I33763f05931e1ad341a0bc49fab7dcdb005986ed
2018-02-28 23:48:46 +00:00
Treehugger Robot
cacaf6ba6e Merge "Build: Silence patchoat" 2018-02-28 23:36:26 +00:00
Jeff Gaston
7752903259 Merge "Clearer error if module doesn't declare any source files" am: c4343864ed am: cf9d0cf4dd
am: 0aeef2a0db

Change-Id: Ifc6fe286a6147794ffb3c1d428fb6051800f8399
2018-02-28 16:48:49 +00:00
Jeff Gaston
0aeef2a0db Merge "Clearer error if module doesn't declare any source files" am: c4343864ed
am: cf9d0cf4dd

Change-Id: I34d9b0a47e985abd94cf1b3574e8839ce2123667
2018-02-28 16:42:12 +00:00