Commit graph

42119 commits

Author SHA1 Message Date
Anton Hansson
b07453509e Align base_system and core_minimal with internal.
Move a few things up from core_minimal.mk to base_system, and make
a few other editing tweaks in base_system, to align it more closely
with the internal version.

Test: make
Change-Id: I3d0fd22ea1cf94b0d28610cc15e23aca3ddd21c4
Merged-In: Iddffd6982df039f5daa8be345de338ba11c63c10
2018-07-09 15:32:16 +01:00
Anton Hansson
274a209c45 Remove redundant packages from core_minimal.mk
These are all in base_system.mk

Bug: 80410283
Test: make
Change-Id: I8717f2d9de10cde44458029692b308017ee2164b
Merged-In: I8717f2d9de10cde44458029692b308017ee2164b
2018-07-09 14:02:25 +01:00
Anton Hansson
133fcb2550 Warn when defining a 32-bit product on a 64-bit device.
Building a 32-bit-app-only product on a 64-bit capable device is likely
to be unintentional. Print a warning if this is done implicitly,
e.g. via forgetting to define the TARGET_SUPPORTS_64_BIT_APPS variable.

Also change existing references to only treat 'true' as a positive
value, rather than all non-empty ones.

Bug: 110918674
Test: lunched 64-bit-device product that does and doesn't set this var
Change-Id: I021157c94ec3ac1c690547c8992768e58c89c287
2018-07-09 13:17:52 +01:00
Anton Hansson
1ebcbd51ee Make including missing modules an error.
Only enable it for the core build files rolling up to generic.mk
for now, and whitelist a couple of modules that are conditionally
defined.

Bug: 7456955
Bug: 80410283
Test: lunch generic; m
Test: lunch full; m
Change-Id: I5448769433d09eaf970c4231874ced3261a5c66b
2018-07-09 11:00:24 +01:00
Treehugger Robot
88a60636b3 Merge "Add USE_XML_AUDIO_POLICY_CONF to GSI" 2018-07-07 23:27:40 +00:00
Treehugger Robot
b000623314 Merge "Enable PRODUCT_COMPATIBLE_PROPERTY for aosp_$arch" 2018-07-07 23:24:48 +00:00
Treehugger Robot
9721ee965e Merge "aidl: -ninja -> --ninja" 2018-07-07 00:19:45 +00:00
Tao Bao
e9856a835f Merge "releasetools: Remove three obsolete functions from EdifyGenerator." 2018-07-06 23:22:59 +00:00
Mathieu Chartier
a3010c60fe Merge "Allow multiple profiles to be added as part of boot.prof" 2018-07-06 23:03:23 +00:00
Tao Bao
a24f711bf3 releasetools: Remove three obsolete functions from EdifyGenerator.
Namely MakeTemporary, Verify and FileCheck. They were once used for
file-based OTA that has been deprecated.

Test: Check that there's no active user, including device-specific
      releasetools script.
Change-Id: Ic73054d73271ad91e860b34b2ba156361c58bc1a
2018-07-06 14:21:26 -07:00
Tao Bao
ee36b42beb Merge "releasetools: Add dict-like setter to BuildInfo." 2018-07-06 20:56:53 +00:00
Steven Moreland
385442d399 aidl: -ninja -> --ninja
Bug: 110967839
Test: AIDL's runtests.sh
Change-Id: I785d39846a477c7edb91db477a0dfa046d823cbf
2018-07-06 11:35:09 -07:00
Tao Bao
667c7534ed releasetools: Add dict-like setter to BuildInfo.
BuildInfo already has dict-like getters. This CL adds the matching
setter method to keep it backward compatible with device-specific
scripts that expect a dict.

It also adds items() method that allows iterating the items.

Bug: 111087332
Test: python -m unittest test_ota_from_target_files.BuildInfoTest
Test: Generate an incremental OTA that sets info_dict in device-specific
      releasetools script.
Change-Id: Idd033f98a9186740f9da1a300d4c2bdddd9c1345
2018-07-06 10:15:13 -07:00
Isaac Chen
9af10a31bf Enable PRODUCT_COMPATIBLE_PROPERTY for aosp_$arch
GSI Pi (for newly launched devices) need to enable this to pass
VtsTrebleSysProp.

Bug: 79395858
Test: Built aosp_{arm,arm64,x86,x86_64}. Check system/etc/prop.default
    and found "ro.actionable_compatible_property.enabled=true".
    aosp_x86(_64) could boot to home screen.

Change-Id: I04a4ff7c5feee7671d727c04c9d9657b63ec0912
Merged-In: I04a4ff7c5feee7671d727c04c9d9657b63ec0912
2018-07-06 13:41:08 +08:00
SzuWei Lin
fa420b40c5 Add USE_XML_AUDIO_POLICY_CONF to GSI
USE_XML_AUDIO_POLICY_CONF is must for Treble device, so it is
also must on GSI. The settings is missed when creating GSI
aosp_$arch, add it back by this patch.

Bug: 110988359
Bug: 111053290
Test: build aosp_arm64 and build pass
Change-Id: I95f096e58350233fdcc8de115cc1691360070445
2018-07-06 13:22:35 +08:00
Isaac Chen
87399730de Merge "Refactor BoardConfig.mk for emulator products" 2018-07-06 02:08:35 +00:00
Anton Hansson
ce0d4aa328 Merge "Add documentation for module resolution." 2018-07-05 16:38:31 +00:00
Anton Hansson
c8cd56fcff Merge "Remove non-existing packages from common mks." 2018-07-05 16:21:28 +00:00
Anton Hansson
eb3358cfa7 Add documentation for module resolution.
I found this in the CL description of
I5fda1a77f58814097b10b5ad2743ee25adfaecc4, and modified it slightly.

Bug: 111154853
Test: No
Change-Id: I984ac1a9521357af6b54340939dcde36988fc634
2018-07-05 16:31:33 +01:00
Anton Hansson
159acd4e0a Remove non-existing packages from common mks.
These were found by comparing PRODUCT_PACKAGES to $(ALL_MODULES). It
will be made an error for the core makefiles to depend on non-existing
modules soon.

Bug: 7456955
Bug: 80410283
Test: make
Test: diff various products before and after
Change-Id: I5d8af175a48172e63926e68f39daad4508f37ccb
Merged-In: I5d8af175a48172e63926e68f39daad4508f37ccb
2018-07-05 13:39:27 +01:00
Dario Freni
12e0e51116 Merge "Install /system/product apps odex in system-other." 2018-07-05 12:11:50 +00:00
Isaac Chen
55e1d01f92 Refactor BoardConfig.mk for emulator products
The majority of the contents in BoardConfig.mk of emulator products
are the same. The common part is factored out as EmuConfig.mk so it's
easier to maintain these closely related products going forward.

Bug: 80117040
Test: Following products have been built and booted to homescreen:
  $ lunch aosp_x86-userdebug; m -j; emulator
  $ lunch aosp_x86_64-userdebug; m -j; emulator

Change-Id: I5392e0e88865d4908906a67c29939c23af84baf0
Merged-In: I5392e0e88865d4908906a67c29939c23af84baf0
(cherry picked from commit 510b76d8ff)
2018-07-05 18:47:15 +08:00
Shibin George
9dd9e680b9 Allow multiple profiles to be added as part of boot.prof
Extend PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION such that
multiple text-based profiles can be fed to profman to be included
in boot.prof

BUG: 70292748
Test: profman with --dump-only option shows that additional
      text-based profiles are also being read if they have
      been added to PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION

Change-Id: I8a6437a323e43b61612c67038abdde200607c513
2018-07-04 18:05:07 +00:00
Dario Freni
aa45068cc7 Install /system/product apps odex in system-other.
This will cause odex/vdex files for apps installed under
/system/product/{priv-,}app to be installed in system-other image, under
/system/product/{priv-,}app as well.

Test: m on marlin-userdebug target, analyzed
installed-files{,-system-other}.txt
Bug: 110072687

Change-Id: I63406f91acc3de4b4f142767e28d45308706c7da
2018-07-04 16:28:18 +01:00
David Brazdil
a94e4ca2c6 Make classes.jar the output of uninstallable Soong Java modules
The soong_java_prebuilt.mk file used to assume that if a Soong module
defines a dex jar, it is the output of the module and the module is
installable. This may now not be true if the module uses 'compile_dex'
to define a secondary build rule for a dex jar. If the module is not
installable (LOCAL_UNINSTALLABLE_MODULE=true), do not attempt to preopt
and copy classes.jar to the modules output destination.

Bug: 79409988
Test: on related CL
Change-Id: Ica958ac793e09a0e52125448b44e7cd36e7f35d5
2018-07-03 17:10:54 +01:00
Anton Hansson
8c01b71e2d Merge "Include partition-split selinux_policy modules." 2018-07-03 15:59:21 +00:00
Anton Hansson
52a23cfbb3 Move packages from base_system to base_vendor.
These install on the vendor partition. Clean up the whitelist.

Bug: 80410283
Test: lunch mainline_arm64; m nothing

Change-Id: I45df64e1fa060ea98534351140678589afe2e340
Merged-In: I45df64e1fa060ea98534351140678589afe2e340
2018-07-03 12:42:21 +01:00
Anton Hansson
a9966c7c60 Merge "Include root in mainline_system artifact claim." 2018-07-02 16:20:15 +00:00
Anton Hansson
173b5e75db Include root in mainline_system artifact claim.
With PRODUCT_SHIPPING_API_LEVEL >= 28, system-as-root is implied.
Remove redundant whitelist entries.

Bug: 80410283
Test: lunch mainline_arm64; m nothing
Change-Id: Ia18ef42525a3abb33842e939c389530ed299aafe
2018-07-02 15:01:35 +01:00
Anton Hansson
ce5eb452be Include partition-split selinux_policy modules.
The selinux_policy module has been split in two, so that the system
artifacts can be included separately. Also remove associated whitelist
entries.

Bug: 80410283
Test: for t in eng userdebug user; do lunch mainline_arm64-${t}; m nothing; done
Change-Id: Id704c907b1ed31ae49697d33f075c013bc3dfc8c
Merged-In: Id704c907b1ed31ae49697d33f075c013bc3dfc8c
2018-07-02 14:36:28 +01:00
David Brazdil
2986542f65 Merge "Fix unzip on sdk_mac build" 2018-07-02 13:10:07 +00:00
David Brazdil
c06f48a21d Fix unzip on sdk_mac build
Recent CL added a flag to an unzip command which does not restore
the timestamps of extracted files. This is necessary because the
extracted files are the output of the rule and thus the timestamp
must be newer than the timestamp of the inputs.

Unfortunately, the sdk_mac build has an old version of UnZip (5.52
vs 6.0) which does not support the flag. Replace it with find|touch.

Test: m
Change-Id: Ib1f218af4547a1d604b46e68b6ef50d45cb91ee9
2018-07-02 11:19:53 +01:00
Anton Hansson
7117311323 Merge "Enable /cache mount point" 2018-07-02 10:16:36 +00:00
Bowgo Tsai
631900e6ce Enable /cache mount point
Non-A/B devices using AOSP OTA flow will mount /cache in the
fstab file. Without setting BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE,
/cache will be a symlink to /data/cache which introduces the
failure of `mount_all /vendor/etc/fstab.{ro.hardware}`. This is
because all devices laucned in P need to switch to "system-as-root".

This CL sets board config to create /cache directory in rootfs
(system-as-root GSI image). Note that A/B devices doesn't mount
or use /cache so leaving an empty /cache in rootfs has no harm.

Bug: 78485405
Test: Boot GSI on walleye
Change-Id: Ic260d2917cc64c9497f5f60ea11303e953e80efd
Merged-In: Ic260d2917cc64c9497f5f60ea11303e953e80efd
2018-06-29 14:23:25 +01:00
Anton Hansson
3613193b31 Merge "Fix broken mainline_arm64." 2018-06-29 12:04:26 +00:00
David Brazdil
9b53066762 Merge "Refactor hiddenapi rules to share common code" 2018-06-29 11:33:09 +00:00
Anton Hansson
64e28c8a36 Fix broken mainline_arm64.
- Missed adding core_64_bit include in the aosp version of
  I9beaa6f5f9c683733ed76a6d4e5c70b9376a5bb2.
- new recovery targets appeared over night, whitelist them for now

Test: make
Change-Id: I2235dcc7a3e62e1b0091e43829c519b03c2455a4
Merged-In: I2235dcc7a3e62e1b0091e43829c519b03c2455a4
2018-06-29 12:11:53 +01:00
Anton Hansson
4537a1a361 Merge "Add some experimental mainline targets." 2018-06-29 10:06:25 +00:00
David Brazdil
dadcb9ced2 Merge "Adjust arguments of hiddenapi tool" 2018-06-29 08:40:55 +00:00
Anton Hansson
59497d050c Merge "Move some recovery packages out of base_system." 2018-06-29 07:06:22 +00:00
Treehugger Robot
3dbb886cda Merge "Support java sdk libraries" 2018-06-29 02:51:43 +00:00
Mathieu Chartier
3e4a376912 Merge "Add showmap and procrank to PRODUCT_PACKAGES_DEBUG" 2018-06-28 20:35:53 +00:00
Ari Hausman-Cohen
0d2436e372 Merge "Add PRODUCT_IOT support to soong." 2018-06-28 20:13:54 +00:00
David Brazdil
6b60b2151e Refactor hiddenapi rules to share common code
Java modules built with make and Soong currently invoke `hiddenapi`
with their own rules. Refactor the definitions so that Soong uses
make's definition. This will be useful for a subsequent CL which
needs to invoke `hiddenapi` on all boot dex files simultaneously.

Bug: 79409988
Test: m
Change-Id: I85105e650605d37c3ee8200d7f0d40c297756fcb
2018-06-28 18:14:30 +01:00
David Brazdil
57b1e546a0 Adjust arguments of hiddenapi tool
The `hiddenapi` build tool now expects the first argument to be
a command name. Change its build rule accordingly.

Bug: 79409988
Test: make
Change-Id: I7e34331c487f490d1de6a10c4139768e9774f03e
2018-06-28 18:14:30 +01:00
Mathieu Chartier
1a4037ea7b Add showmap and procrank to PRODUCT_PACKAGES_DEBUG
So that they are available on device by default.

Test: make

(cherry picked from commit 161db06003)

Merged-In: If3c1513d1c086f965a8adc157a96b35c119962c3
Change-Id: Ifd87294d08a8a7bb074b39b5bd620124e29540ed
2018-06-28 09:42:37 -07:00
Anton Hansson
c0c39cf270 Add some experimental mainline targets.
These are not really realistic at the moment, but it's nice to get some
targets checked in that can be iterated upon.

- mainline_system: base mk for mainline systemimage. It will evolve to
  inherit other mks than base, and probably get a bunch of things added.
- mainline_system_arm: variant of mainline_system, specifically for
  the 'generic' device.
- mainline_arm: experimental product that also includes the non-system
  parts of aosp. Useful to experiment with the mk split.

Bug: 80410283
Test: lunch mainline_arm64 && m nothing && lunch mainline_system_arm64 && m nothing
Change-Id: I9beaa6f5f9c683733ed76a6d4e5c70b9376a5bb2
Merged-In: I9beaa6f5f9c683733ed76a6d4e5c70b9376a5bb2
2018-06-28 17:28:24 +01:00
Anton Hansson
30417d971e Move some recovery packages out of base_system.
Put the in base_vendor for now. That file should probably be renamed
to base_nonsystem.mk or something of that sort.

There is a remaining artifacts in recovery, but I think its target
needs to be split up, so move these for now.

Bug: 80410283
Test: make
Change-Id: I98c2b96b413fff4c8b0377e69bc9c2693ccca7cd
2018-06-28 17:22:14 +01:00
Ari Hausman-Cohen
271d861ab5 Add PRODUCT_IOT support to soong.
Some code needs to behave differently for Android Things
systems. PRODUCT_IOT tracks Android Things products.
This change exposes this variable into the soong system.

Bug: 110494430
Test: aosp_angler builds
Change-Id: Id9c27e4fe70957f217cfbdc019e8a37532bafac2
2018-06-27 16:52:51 -07:00
Treehugger Robot
645b8db09a Merge "Do not set entry-point for Windows" 2018-06-27 20:22:23 +00:00