Commit Graph

47923 Commits

Author SHA1 Message Date
Yifan Hong
45433e44dd Really support removing / adding partitions.
- When removing a partition, BlockDifference() object
will have tgt=EmptyImage(). Fix the asserts accordingly.
Also, BlockDifference object now allow tgt=None case.

- When adding a partition, BlockDifference() object
will have src=None. Fix the asserts accordingly.

Also, add unit tests to DynamicPartitionsDifference.

Test: create incremental OTA
Test: test_common.DynamicPartitionsDifferenceTest
Bug: 111801737

Change-Id: I3a35378ecf93111b8f44545cff6ae9696b6b4851
2019-01-18 17:09:33 -08:00
Colin Cross
7cda7650da Merge "Separate dexpreopt deps from stripping deps" 2019-01-18 15:34:41 +00:00
Treehugger Robot
aa58210dd0 Merge "build_image: Increase spare inodes to 12." 2019-01-18 02:06:46 +00:00
Colin Cross
ded0aec988 Separate dexpreopt deps from stripping deps
The strip rule does not need to wait for the boot image to finish,
create a separate DEXPREOPT_STRIP_DEPS list that only contains
tools used by GenerateStripRule in build/soong/dexpreopt/dexpreopt.go.

Bug: 123038675
Test: m checkbuild
Change-Id: I0814c8d99781533f5778e14547d3e9671e06317f
2019-01-17 16:41:36 -08:00
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
Mark Salyzyn
60fa99d491 build_image: Increase spare inodes to 12.
Test: builds device with DAP
Change-Id: I816a7da54bbe23d4eb1140ac0d101c0fee175f0a
2019-01-17 11:30:12 -08: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
Tianjie Xu
ffc87ac0a7 Merge "blockimgdiff: selectively convert 'diff' commands to 'new' to reduce stash size" 2019-01-17 16:54:04 +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
xunchang
b6105dcba3 blockimgdiff: selectively convert 'diff' commands to 'new' to reduce stash size
We cannot simultaneously stash more blocks than the size limit imposed by
the cache size. As a result, some 'diff' commands will be inevitably
converted to new. We used to do this conversion blindly when iterating
through the transfer list. This leads to an unintended large package.

In order to choose the right transfers to convert, we calculate the size
of the compressed data, and build a heuristic about the package size
increase to remove each stash blocks. After the process, the given
package size for the watch device further reduces from 186M->155M.

In some rare cases, the removed stashed blocks don't directly contribute
to the maximum simultaneously stashed size. For example,
stash A: 10 blocks
stash B: 5 blocks
free B: 5 blocks  <-- stash B has been freed before we reach max stashed blocks
stash C: 10 blocks

Converting these blocks lead to an uncertain result. On one hand, patches
are generally smaller than the new data; while on the other hand, the
regenerated graph may have fewer order violation and thus give some size
reduction. But these cases are rare and it seems an overkill to consider all
possible scenarios here.

Bug: 120561199
Test: build non-A/B incrementals and check the size
(p.s. it can be tested on all target files with customed cache threshold)
Change-Id: I599420a91b80f1a1d83d22ee1b336b699050cfb4
2019-01-16 12:59:13 -08:00
Yifan Hong
885787f4d3 Merge "Generate OTA for non-A/B devices with dynamic partitions" 2019-01-16 18:42:58 +00:00
Mark Salyzyn
f2f1854ca4 Merge "build_image: right-sizing at least some spare inode" 2019-01-16 18:36:58 +00:00
Mark Salyzyn
c25b2bf458 build_image: right-sizing at least some spare inode
To address problems creating real tiny filesystem placeholders,
make sure extra spare inodes margin is greater than 0.
For initial estimate we add 4% of total we request at least 8.
For second pass estimate we add 0.2% of total we request at least 1.

We bumped up the margin for zie on the second pass to 0.3% as the
value was too close on one of the builds.

Test: build
Bug: 122328872
Change-Id: I41707bb6fcc8bbfbdda143a9ce62446cad9c1533
2019-01-16 09:54:31 -08:00
Anton Hansson
9a0dd5b288 Merge "Set TARGET_COPY_OUT_ for product/vendor in mainline" 2019-01-16 16:53:01 +00:00
Anton Hansson
3fc20bd7d9 Merge "Add webview to mainline whitelist" 2019-01-16 16:31:50 +00:00
Treehugger Robot
0735b4f9fe Merge "Split *_product makefiles" 2019-01-16 15:18:37 +00:00
SzuWei Lin
caa5e88d4a Split *_product makefiles
So far, we have *_system.mk and *_vendor.mk.
This patch split all product settings from *_vendor.mk to new
*_product.mk

This patch also create a new telephony.mk to include all
telephony_*.mk

Bug: 119747870
Test: lunch mainline_arm64-user; make -j
Test: compare the content with and without the patch
Test: the output files in out folder are the same
Change-Id: I79aefdd1971b3b5724a3ec858de4109b645c765a
Merged-In: I79aefdd1971b3b5724a3ec858de4109b645c765a
2019-01-16 22:23:35 +08:00
Anton Hansson
9791518d58 Set TARGET_COPY_OUT_ for product/vendor in mainline
This product variable is used to generate the loader config (to use
either /system/product or /product), and the vendor one is likely
used in similar ways. Having these partitions is required for mainline
devices, so set it in the shared BoardConfig.

Bug: 80410283
Test: make
Change-Id: I6f2d94ff43572a28df54ea8c60f2d838a3b9216c
2019-01-16 13:32:51 +00:00
Anton Hansson
0a5d5fec2e Add webview to mainline whitelist
The app will move to product soon, but temporarily
whitelist that mainline_arm64 adds it to /system.

Test: make
Change-Id: I7b0ce5623a160bcb0f8b89f3053a007019ff0b62
2019-01-16 13:31:02 +00:00
Anton Hansson
e7f127491a Merge "Remove webview from media_system.mk" 2019-01-16 09:44:39 +00:00
Treehugger Robot
d6dbd967b5 Merge "Execute appcompat for apps built from soong" 2019-01-16 08:53:48 +00: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
Yifan Hong
10c530d20a Generate OTA for non-A/B devices with dynamic partitions
Test: sideload full OTA on cuttlefish
Test: sideload incremental OTA on cuttlefish (that grows
      system, shrinks vendor, and move vendor to group foo)

Bug: 111801737

Change-Id: Ie8a267a90b4df9e9e0a2fbcc1b582ab2e353df52
2019-01-15 16:04:12 -08: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
77cd60adcb Merge "Enable execute-only memory layouts by default." 2019-01-15 23:29:51 +00:00
Treehugger Robot
a72cc8f038 Merge "Add gsid" 2019-01-15 23:26:58 +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
Mark Salyzyn
db3c8985be Merge changes I6457933a,I955aa0fa
* changes:
  Revert "Relax inode usage estimation slack for DAP right sizing"
  Revert "Increase slack for inode estimation algorithm"
2019-01-15 20:33:50 +00: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
Anton Hansson
9b2f3af064 Remove webview from media_system.mk
It is present in media_vendor.mk (and soon media_product.mk),
which is the correct place.

Test: make
Change-Id: I7ffda211cf4b01a22ec01c661959defcf59bbc4b
2019-01-15 14:36:14 +00:00
Treehugger Robot
fc598781c6 Merge "ATest: Add test config template for python." 2019-01-15 10:04:58 +00:00
Howard Chen
6e7500b131 Add gsid
The gsid is a daemon for managing GSI.

Bug: 122556707
Test: make && ls ${OUT}/bin/gsid
Change-Id: Ib4a3e95a7e232236ee1255a156043e45a77a3c8e
2019-01-15 15:58:02 +08: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
Treehugger Robot
3d4cbb4a5b Merge "Add IBluetoothAudio HAL 2.0 to VNDK" 2019-01-15 00:35:25 +00:00
Nan Zhang
e2677bd0af Merge "Remove myself from OWNER file" 2019-01-14 23:49:25 +00:00
Treehugger Robot
34556552a0 Merge "Add viewcompiler to device" 2019-01-14 22:36:54 +00: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