Commit Graph

18255 Commits

Author SHA1 Message Date
Colin Cross 485c9cd400 Move hiddenapi singleton rules to Soong
Hiddenapi rules are now in build/soong/java/hiddenapi_singleton.go.
This effectively requires any module in PRODUCT_BOOT_JARS to be
defined in Soong.

Bug: 123645297
Test: m checkbuild
Change-Id: If72bd1c20b2014d0a3d400624d37fdb0a3052245
2019-02-05 21:38:55 -08:00
Steven Moreland e0c38893ff Remove '-b' from AIDL.
An empty file will be emitted for parcel declarations. Now sources may
include parcel definitions.

Bug: 70046217
Test: manual
Change-Id: Ib4bfaf52101956a543738d50ea699f9232f5bb91
2019-02-06 04:58:06 +00:00
Dan Willemsen 9a3ef57d99 Merge "Remove support for building Windows modules in Make" 2019-02-05 20:45:27 +00:00
Hridya Valsaraju a941899906 Allow for a separate recovery DTBO to be used for non-A/B devices.
This CL allows for a separate recovery DTBO to be used by
specifying it with the board config variable
BOARD_PREBUILT_RECOVERY_DTBOIMAGE.

Bug: 123889996
Test: make recoveryimage and make dist on a target that builds
recovery.img and unpack_bootimg.py to test that BOARD_PREBUILT_RECOVERY_DTBOIMAGE
gets used as the recovery DTBO.

Change-Id: I6f83f37c3c894b2acddab1000224cd433649faa1
2019-02-05 18:19:39 +00:00
Kostya Kortchinsky adcb1498c5 Merge "Add option to disable Scudo globally [Make]" 2019-02-05 14:45:39 +00:00
Anton Hansson 7d1e353834 Merge "Merge product_services into product by default" 2019-02-05 09:12:15 +00:00
Dan Willemsen f264690860 Remove support for building Windows modules in Make
These now must be defined in Android.bp files.

Bug: 122618577
Test: compare build-aosp_arm.ninja before/after
Test: codesearch for LOCAL_MODULE_HOST_OS.*windows
Change-Id: I14451c7753299692940e026f85687b4c3331bb07
2019-02-05 00:19:41 -08:00
Dan Willemsen fcdc0cb737 Fix aux_config warning
Don't declare targets during config files, as they're loaded in other
contexts as well. In this case, `droidcore` was not defined when we were
handling CleanSpec.mk files, leading to:

build/make/core/aux_config.mk:185: warning: real file "droidcore" depends on PHONY target "auxiliary"

Bug: 123583617
Test: m nothing; check for warnings
Change-Id: I71b8819deb81442810c7dd5c681ddb38a1171cff
2019-02-04 20:52:14 -08:00
Stephen Hines c6dee37255 Merge "Use llvm-{strip,objcopy} by default" 2019-02-05 03:13:14 +00:00
Kostya Kortchinsky 027324099f Add option to disable Scudo globally [Make]
This adds an option to turn off Scudo globally, and use it for Go.

Bug: 123228023
Test: verify that Scudo is disabled for a Go build, eg:
lunch marlin_svelte-eng && m -j, check that Scudo is not linked in
out/target/product/marlin/system/bin/mediaextractor
Test: verify that Scudo is enabled otherwise, eg:
lunch marlin-eng && m -j, check that Scudo is linked in
out/target/product/marlin/system/bin/mediaextractor

Change-Id: Idc82d581fade544a474e6f2ff0b54dd191ba0818
Merged-In: Idc82d581fade544a474e6f2ff0b54dd191ba0818
2019-02-04 12:35:04 -08:00
Treehugger Robot 76f2628654 Merge "dynamic partitions: round partitions to BOARD_SUPER_PARTITION_ALIGNMENT" 2019-02-02 01:39:37 +00:00
Anton Hansson 80c80804f0 Merge product_services into product by default
Noone is intended to use product_services for now, so make
product_services modules merge in product by default.

Bug: 113098451
Test: boot blueline
Test: boot walleye
Change-Id: Id13487e40afe4ae581fac027c8c075798c26c7e8
2019-02-01 15:04:44 +00:00
Treehugger Robot 61ae763ec4 Merge "Remove dependencies on hiddenapi files with UNSAFE_DISABLE_HIDDENAPI_FLAGS=true" 2019-01-31 19:25:59 +00:00
Yifan Hong 5cc9230914 Merge "Add kernel info to compatibility.zip" 2019-01-31 19:06:19 +00:00
Colin Cross ca8ec381a0 Merge "Fix linker_asan[64] apex bootstrap build error" 2019-01-31 19:05:59 +00:00
Dan Willemsen a734907705 Merge "Deprecate LOCAL_MODULE_TAGS := eng/debug" 2019-01-31 18:32:16 +00:00
Logan Chien c6d2cf86d1 Fix linker_asan[64] apex bootstrap build error
This commit fixes `linker_asan[64]` apex bootstrap build errors.
Without this change, `make -j SANITIZE_TARGET=address` results in:

  FAILED: ninja: 'out/target/product/walleye/system/bin/linker_asan64',
  needed by 'out/target/product/walleye/system/bin/app_process64',
  missing and no known rule to make it

Test: lunch aosp_walleye-userdebug && make SANITIZE_TARGET=address
Change-Id: I980a36499cd327db307321fc8e4548925e7d56bf
2019-01-31 17:07:50 +08:00
Logan Chien 6549cd0255 Check ELF files in both paths
This commit moves prebuilt ELF file checks out of the ifeq statement so
that both modules with and without LOCAL_STRIP_MODULE can be checked.

Bug: 123670683
Test: Add `LOCAL_STRIP_MODULE := keep_symbols` to some modules and check
      whether `check_elf_files.timestamp` is generated.
Change-Id: I2f2a7df501910d31621da025ce34101f0d358dc2
2019-01-31 14:28:11 +08:00
Logan Chien 3291184ab6 Add system shared libs to a prebuilt_internal.mk path
This commit adds LOCAL_SYSTEM_SHARED_LIBRARIES to a
`prebuilt_internal.mk` path.

Before this commit, LOCAL_SYSTEM_SHARED_LIBRARIES is only supported when
LOCAL_STRIP_MODULE is specified. If LOCAL_STRIP_MODULE is not specified,
default system shared libs (libc, libdl, and libm) are not added
implicitly. This commit makes both paths have the same behavior.

See also. https://android-review.googlesource.com/814993

Bug: 119086738
Test: CHECK_ELF_FILES=true make -j check-elf-files
Change-Id: I84ff9f6157ad6e5ee26234133fb7148a3e2b9551
2019-01-31 14:18:03 +08:00
Treehugger Robot aa615a1b2d Merge "DAP: building system_other.img for retrofit devices" 2019-01-30 22:52:35 +00:00
Jaewoong Jung 7dfae5023a Make side change for prod override vars support.
For the new override vars, we don't support make-based overrides because
their primary purpose is to enable Soong migrations for the ones that
use inherit-package.

Bug: 122957760
Test: Manual build tests with Browser2, BrowserGoogle, and Chrome
Change-Id: Ia685511391f61fe143774e12b3b67b526049962a
2019-01-30 14:48:50 -08:00
Anton Hansson bb83cc2689 Merge "Fix RRO when LOCAL_EXPORT_PACKAGE_RESOURCES is unset" 2019-01-30 22:19:25 +00:00
Anton Hansson 9a50c1f438 Merge "Exempt some RROs from building against SDK" 2019-01-30 22:17:25 +00:00
Yifan Hong 770ab053b0 Add kernel info to compatibility.zip
Add kernel configs / version to verified_assembled_vendor_manifest.xml
so that the kernel of the incoming package can be checked against
the framework. Previously, the running kernel was used instead.

Bug: 111125947
Test: test_extract_kernel
Test: manual OTA on Pixel 3 from build:
      Android P (kernel version 4.9.96)
      to ToT build:
      device kernel version = (manually modified) framework requirement = latest,
      PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS = true

Change-Id: Id524a58e94bdb6bba348ca461c9d33614ce451a9
2019-01-30 13:28:03 -08:00
Treehugger Robot badde7ced7 Merge changes I0bee792d,I2b7c3c8f
* changes:
  Build aar files for m <module name>
  Add LOCAL_ADDITIONAL_CHECKED_MODULE
2019-01-30 18:26:24 +00:00
Treehugger Robot ea976a2780 Merge "Reland "Add $(PRODUCT_OUT)/apex to the artifact path whitelist"" 2019-01-30 16:57:11 +00:00
Colin Cross 89d3d2ae3b Fix RRO when LOCAL_EXPORT_PACKAGE_RESOURCES is unset
If LOCAL_EXPORT_PACKAGE_RESOURCES is unset then
append_enforce_rro_sources was inserting a blank entry into
the 4th.  When converting the || separator back to space that
resulted in a two sequential spaces, which is treated as a
single word separator, causing the 5th field to be treated
as the 4th field.

Put "false" into the 4th field in soong_app_prebuilt.mk to match
package_internal.mk.

Bug: 123510624
Test: m SystemUIGoogle
Change-Id: I794c413e33df2020d0dc43379cfb017e7e09baa1
2019-01-30 16:09:41 +00:00
Bowgo Tsai cca76ddc1b Adding per-partition SPL into AVB prop descriptors
Bug: 119549677
Test: build and avbtool info_image
Change-Id: I0726d740c532ffd70beb09f98e088abcdfa110ef
2019-01-30 21:54:54 +08:00
Yi Kong 9e86573fd1 Use llvm-{strip,objcopy} by default
... except for Darwin Mach-O, as it is not supported by llvm-strip.

Test: m checkbuild
Bug: 119221035
Change-Id: I492853486e49dd0e82abe60cbf354d79b760b9a7
2019-01-30 13:40:44 +00:00
Treehugger Robot 423be675eb Merge "Rename preferCodeIntegrity to useEmbeddedDex" 2019-01-30 05:07:22 +00:00
Treehugger Robot 246e728614 Merge "Use DEXPREOPT_BOOTCLASSPATH_DEX_FILES to build boot_profile_jars.zip" 2019-01-30 04:26:04 +00:00
Jiyong Park 1ba4c7f11e Reland "Add $(PRODUCT_OUT)/apex to the artifact path whitelist"
This reverts commit 4cf7cde9aa.

Bug: 120846816
Test: build/soong/build_test.bash -dist -products mainline_system_arm64
Test: lunch aosp_cf_x86_pasan-userdebug; m && SANITIZE_TARGET=address m

Change-Id: I6fbf23dcef450da17fafafa78def3816792d83c8
2019-01-30 12:32:49 +09:00
Bowgo Tsai 867ab6606e DAP: building system_other.img for retrofit devices
For dynamic partitions in retrofit devices, system partition will be
a logical partition but system_other is not. However, current
build system use the same settings (logical) for both system.img and
system_other.img, leading AVB unable to locate the footer from the end
of system_other partition.

This commit support building system_other.img with correct partition size
while building system.img as a dynamic image.

Bug: 123506156
Test: check there is "system_other_size=2952790016" in file
      $OUT/obj/PACKAGING/system_other_intermediates/system_other_image_info.txt
Test: build system_other.img, then
      `simg2img $OUT/system_other.img system_other.img.raw`, checks the
      raw image size.

Change-Id: I748320a7770c694d06f06f4a35bfceb622849aa8
2019-01-30 09:58:07 +08:00
Calin Juravle 9e1fb1b3bd Use DEXPREOPT_BOOTCLASSPATH_DEX_FILES to build boot_profile_jars.zip
The core libraries are no longer put in /system/framework. Replace the
system path with the dexpreopt input path.

Test: launch taimen_nopreload-userdebug; m
Bug: 123313750
Change-Id: I6232c36d39fb818a302cb4b6cb61e91b44b28da1
2019-01-29 16:43:21 -08:00
Colin Cross cd6622e832 Build soong odex files for mma
Add the LOCAL_SOONG_BUILD_INSTALLED files as dependencies of
$(my_all_targets) instead of $(my_register_name) so they are built
for mma and mmma as well as m <module name>.

Fixes: 123262430
Test: mmma packages/apps/Gallery2
Change-Id: I0d55beccf9385144c190ea4bf099fb267ac6db1c
2019-01-30 00:35:34 +00:00
Colin Cross bd2287b846 Build aar files for m <module name>
Test: m SystemUI-core
Change-Id: I0bee792d1af80abb3e74c278db488bd668bd1fb4
2019-01-29 15:12:17 -08:00
Colin Cross 0162cc8bea Add LOCAL_ADDITIONAL_CHECKED_MODULE
Adding an intermediate file to LOCAL_ADDITIONAL_CHECKED_MODULE will
cause the file to be built for m <module name>, mma, or m checkbuild.

Test: m checkbuild
Change-Id: I2b7c3c8f01960ce2f9176c8a2108f759fd8fc704
2019-01-29 15:04:39 -08:00
Mark Salyzyn 1d8d3bef47 dynamic partitions: round partitions to BOARD_SUPER_PARTITION_ALIGNMENT
For the worst minimum_io_size for the BOM for the flash device on
the products, set BOARD_SUPER_PARTITION_ALIGNMENT so that we can
in advance get a summary from the build that the update may fail.

Test: build
Bug: 122328872
Change-Id: I95515e58e5308b7a1e637fc8c8791c0fc61e81f2
2019-01-29 14:50:10 -08:00
Victor Hsieh 06769c7efb Rename preferCodeIntegrity to useEmbeddedDex
Test: build and run testing apps
Bug: 112037137
Change-Id: Ie8cd8e141df097095310ecc57b6460308210dea5
2019-01-29 13:03:22 -08:00
Tom Cherry c683233b64 Merge "Remove ro.expect.recovery_id" 2019-01-29 17:07:51 +00:00
Anton Hansson 038177ba55 Exempt some RROs from building against SDK
If an RRO is depending on the source module to import its resources,
this trips up the link check because the source module may not be
building against the SDK. Exempt these RROs from the rule.

Bug: 123510624
Test: m
Change-Id: Ie0e05ce6d31dd3a0eafb14ace426da2bc15fb740
2019-01-29 15:21:25 +00:00
Anton Hansson 02d7d48d4a Merge "Allow merging product_services into /product" 2019-01-29 09:28:40 +00:00
Yifan Hong ab1ec4dbe3 Enforce no unused HALs when product matrix exists.
Also, remove old TODO message because it cannot be fixed.

Bug: 120600021
Test: builds
Test: remove entry from product matrix, build fails.

Change-Id: I9a6e954a1003aa4ad1bbca184ad7041ffad6b99b
2019-01-28 15:09:54 -08:00
Anton Hansson d26e4eeec8 Allow merging product_services into /product
Allow devices to specify TARGET_COPY_OUT_PRODUCT_SERVICES := product,
which in effect treats all product_services modules the same as product
modules.

Do not generate license and build props for product_services when
this settings is enabled.

Bug: 113098451
Test: boot downstream product
Change-Id: Id51230b969900bebcf19d0138dfd6187dfce25b1
2019-01-28 21:24:59 +00:00
Tom Cherry 56ff89a90a Remove ro.expect.recovery_id
This is not used by anyone and the other half of the code to compare
against it is already functionally dead, so remove this.

Test: build
Change-Id: I44ed087cb7735bbc23e30b6c310c80eb3b7b6488
2019-01-28 10:56:37 -08:00
Anton Hansson 096b88bf90 Merge "Auto-include device_manifest.xml when necessary" 2019-01-28 09:18:34 +00:00
Colin Cross 8a508cbc0b Merge "Remove obsolete proguard flags" 2019-01-26 02:30:55 +00:00
Treehugger Robot c51c523b88 Merge "When using inherit-package for a test, also allow specifying a new test suite." 2019-01-26 00:57:14 +00:00
Colin Cross 2ac9c6219a Remove obsolete proguard flags
R8 now warns:
Warning in ./build/make/core/proguard_basic_keeps.flags:
  Ignoring option: -optimizations

Remove the flags, they are not used by R8.

Fixes: 123401079
Test: m checkbuild
Change-Id: I8b0c558be8bcf943652dddb71802ddc145ae42c1
2019-01-25 21:30:13 +00:00
Nicolas Geoffray 1174b010f6 Merge "Revert "Revert "Differentiate between runtime apex jars and framework jars.""" 2019-01-25 19:02:13 +00:00
Treehugger Robot 18977ff3a9 Merge "Fix typo of PRODUCT_BUILD_PRODUCT_SERVICES_IMAGE" 2019-01-25 18:19:11 +00:00
Adrian Roos 21028b7ad6 Remove dependencies on hiddenapi files with UNSAFE_DISABLE_HIDDENAPI_FLAGS=true
Fixes: 122957987
Test: UNSAFE_DISABLE_HIDDENAPI_FLAGS=true make droid
Change-Id: Iafef8cc69971fd10718882326fbba99a6223d0f8
2019-01-25 17:35:25 +01:00
Anton Hansson d5e069e405 Auto-include device_manifest.xml when necessary
It doesn't make sense to specify a DEVICE_MANIFEST_FILE but the
build not including it. The conditional definition of the module
makes it problematic to have it listed in the PRODUCT_PACKAGES
of a generic mk.

Test: build mainline_arm64 + mainline_system_arm64
Change-Id: I40e435ce114263ceabbd373d3d719318c592fc13
2019-01-25 13:50:47 +00:00
Anton Hansson 9bab4c2622 Fix typo of PRODUCT_BUILD_PRODUCT_SERVICES_IMAGE
Test: treehugger
Change-Id: I087d865c12d9aff7bdc0018256c1a87657d8550c
2019-01-25 10:15:22 +00:00
Nicolas Geoffray 14c052ec9b Revert "Revert "Differentiate between runtime apex jars and framework jars.""
This reverts commit 12746221c2.

Reason for revert: Sailfish size issues resolved.

Change-Id: I59e3ebf67d89f25d84d65cbfbe2a69ba1d8c30a3
2019-01-25 09:40:21 +00:00
Dan Willemsen 1fdf5d789b Merge "Bump the remaining 32-bit arm configs to require neon" 2019-01-25 03:52:17 +00:00
Dan Albert fc67ea8dd3 Merge "Revert "Differentiate between runtime apex jars and framework jars."" 2019-01-24 23:16:20 +00:00
Nicolas Geoffray 12746221c2 Revert "Differentiate between runtime apex jars and framework jars."
This reverts commit 6bcc93983b.

Reason for revert: Sailfish running out of space.

Change-Id: I2a82aa27bb4388a3cdb94f9271c712644064bfad
2019-01-24 20:37:37 +00:00
Treehugger Robot 8faac3669e Merge "Add security patch level to hashtree footer of system" 2019-01-24 19:28:29 +00:00
Paul Duffin 22efcc114e Merge "Remove REMOVE_OAHL_FROM_BCP flag" 2019-01-24 16:01:40 +00:00
Nicolas Geoffray 6bcc93983b Differentiate between runtime apex jars and framework jars.
And use the apex paths of runtime apex jars.

Test: m
Change-Id: I7bd6e6029c2d5d596d672545271b5ed9819090b6
2019-01-24 13:10:22 +00:00
Calin Juravle ba3e26d5da Merge "Replace PRODUCT_BOOT_JARS with DEXPREOPT_BOOT_JARS_MODULES for nopreloads" 2019-01-24 07:56:37 +00:00
Treehugger Robot b045705971 Merge "Build System: Add java lib header files to module dependency list im module-info.mk" 2019-01-24 06:50:33 +00:00
Nicolas Geoffray 3d54ce08fe Merge "Pass the right dex files to dex preopt." 2019-01-24 06:37:40 +00:00
Dan Willemsen 53d62fed72 Bump the remaining 32-bit arm configs to require neon
Stop using armv7-a without neon for 32-bit unbundled apps, and update
generic_x86_arm to match the cuttlefish configuration that includes
neon.

Test: treehugger
Change-Id: Ieb6a2106655803a8ca609907c12168e628ee1b85
2019-01-23 22:27:33 -08:00
Treehugger Robot d2da2ce398 Merge "Sign system_other.img with AVB" 2019-01-24 05:31:37 +00:00
Calin Juravle b741d1cfa9 Replace PRODUCT_BOOT_JARS with DEXPREOPT_BOOT_JARS_MODULES for nopreloads
boot_profile_jars.zip is used to process the boot image profile (by
filtering out data that does not belong to the boot classpath).
We only need the jars that are actually preloaded, and not the ones which
are updatable.

Test: launch taimen_nopreload-userdebug; m
Bug: 123313750
Change-Id: I630f78dda3d9b38aac04b0f364b25fbcda4e26a3
2019-01-23 18:06:50 -08:00
bralee 090336232e Build System: Add java lib header files to module dependency list im module-info.mk
To solve AIDEGen issue: DocumentsUI have no dependency libcore.

Bug: 122557164
Test: 1. m  `build/soong/soong_ui.bash --dumpvar-mode PRODUCT_OUT`/module-info.json
      2. open $ANDROID_PRODUCT_OUT/module-info.json
         "out/target/common/obj/JAVA_LIBRARIES/core-lambda-stubs_intermediates/classes-header.jar",
         "out/target/common/obj/JAVA_LIBRARIES/core.platform.api.stubs_intermediates/classes-header.jar",
	 "out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes-header.jar",
	 "out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-header.jar"
	 will be added to DocumentsUI's dependencies.

Change-Id: I6b20c315f3367ff2a016d305ec6fe2a8de620a14
2019-01-24 09:27:48 +08:00
Joe Onorato 62472b676a When using inherit-package for a test, also allow specifying a new test suite.
Test: make
Change-Id: I2c9b5d998e6cc3159e4d23d7547bfd0b865f714c
2019-01-23 14:50:07 -08:00
Treehugger Robot 2463c3ab2a Merge "Support including DTB image" 2019-01-23 20:56:55 +00:00
Hridya Valsaraju 9683b2f136 Support including DTB image
Bug: 111136242
Test: When BOARD_PREBUILT_DTB_DIR is set correctly,
generated $OUT/boot.img contains the DTB image.

Change-Id: I282e31b04cc60383377b9e9b54f8fe64a8140242
2019-01-23 09:14:55 -08:00
Nicolas Geoffray f084e7847e Pass the right dex files to dex preopt.
We currently pass the boot dex files installed on /system, but these
may be eg stripped. That's currently OK as dex2oat is looking
at the dex files in boot.oat, but dex2oat could look at them for
various reasons.

Test: m
Change-Id: I85915c979cf94ec29751b10a0d8a5957b6cea956
2019-01-23 16:07:02 +00:00
Bowgo Tsai 1e04bf7260 Sign system_other.img with AVB
Support signing system_other.img but shouldn't include it into the
top-level vbmeta.img. system_other verifiation will not be included
in /vbmeta chains and will be done separately.

Bug: 112103720
Test: avbtool info_image --image $OUT/system_other.img
Test: avbtool info_image --image $OUT/vbmeta.img, checks 'system_other' is NOT included.
Test: Checks $OUT/obj/PACKAGING/system_other_intermediates/system_other_image_info.txt
      See the following:
        avb_system_other_hashtree_enable=true
        avb_system_other_add_hashtree_footer_args=--rollback_index 1551744000
        avb_system_other_key_path=external/avb/test/data/testkey_rsa4096.pem
        avb_system_other_algorithm=SHA256_RSA4096

Change-Id: Ia152aaab1387dcf556a42222adb39ea76881263a
2019-01-23 15:17:41 +00:00
Logan Chien 9779c57cd0 Merge "Add $(SOONG_OUT_DIR)/ndk/% to artifact whitelist" 2019-01-23 07:22:43 +00:00
Logan Chien f42823aa7c Merge "Add prebuilt ELF binaries checker" 2019-01-23 07:21:17 +00:00
Dan Willemsen 9569ddd478 Deprecate LOCAL_MODULE_TAGS := eng/debug
Uses a new BUILD_BROKEN_ENG_DEBUG_TAGS variable that defaults to true
until we mark all of the broken targets, then we'll switch it to false.

These are fairly trivial to fix, so I don't expect to keep this flag
around for long.

Test: build_test on aosp and internal master; check logs
Change-Id: I6176fec265e78aecff965b7cf1636f831f68a140
2019-01-22 20:08:12 -08:00
Nicolas Geoffray e5b368bfe6 Use the jars, not the classes.dex for passing to hiddenapi.
The instructions to look up for classes.dex don't work when looking
at different jar versions (aligned, unaligned, etc).

Test: m
Change-Id: I5f178ca0d00497edbab892722a5ee84f0c47d0a0
2019-01-22 14:28:12 +00:00
Paul Duffin fd24c9fe1f Remove REMOVE_OAHL_FROM_BCP flag
The REMOVE_OAHL_FROM_BCP flag is always set to true and is no longer
necessary so this change removes any uses of the flag.

Bug: 18027885
Test: cts/tests/signature/runSignatureTest.sh
Change-Id: Ied8c3315b29094ad6acee539520af3e4c9e79839
2019-01-22 14:16:12 +00:00
Hsin-Yi Chen 41319b3abc Add security patch level to hashtree footer of system
Test: avbtool info_image --image system.img
Bug: 122705329
Change-Id: I7b325a9a9aba2d98cb94c5fb8488b92f54e45dab
2019-01-22 17:11:15 +08:00
Colin Cross b405fe3765 Don't depend on classes-header.jar when turbine is disabled
TARGET_BUILD_APPS sets TURBINE_ENABLED := false, which triggers
an issue where a dependency is added on classes-header.jar but
there is no rule to create it.  Skip creating the dependency
when TURBINE_ENABLED is false for now.

Bug: 123183568
Test: m TARGET_PRODUCT=mainline_modules_arm UNBUNDLED_BUILD_SDKS_FROM_SOURCE=true TARGET_BUILD_APPS=com.android.media
Change-Id: I8ec3e244b8f9618c58f4ac57329a5a07f01dc797
2019-01-21 10:59:42 -08:00
Logan Chien 86eeedbcc7 Add $(SOONG_OUT_DIR)/ndk/% to artifact whitelist
This commit adds `$(SOONG_OUT_DIR)/ndk/%` to artifact whitelist so that
when NDK stub libraries won't be blocked by artifact path requirements.

This commit does not break the integrity of artifact path requirements
because they are not installed to devices.

Bug: 123053270
Bug: 119084334
Test: lunch aosp_crosshatch-userdebug
Change-Id: Ieea76a8126269f53b0a58bd069b449a9f9b1263a
2019-01-21 14:34:19 +00:00
Logan Chien 0e53d887d6 Add prebuilt ELF binaries checker
This commit introduces a prebuilt ELF binaries checker.  The checker
will check:

1. Whether all DT_NEEDED shared libraries are specified in
   `shared_libs` (Android.bp) or `LOCAL_SHARED_LIBRARIES` (Android.mk).

2. Whether all undefined symbols in the prebuilt binary can be resolved
   to defined symbols exported by its dependencies.

This ensures that prebuilt binaries won't silently become ABI
incompatible.

To check the prebuilt binaries, all of the dependencies must be
specified in `shared_libs` (Android.bp) or `LOCAL_SHARED_LIBRARIES`
(Android.mk).

If your prebuilt binaries cannot be checked for some reason, you may add
the following property to Android.bp:

    check_elf_files: false,

Or, add the following setting to Android.mk:

    LOCAL_CHECK_ELF_FILES := false

Bug: 119084334
Test: CHECK_ELF_FILES=true make check-elf-files
Change-Id: I523d3083f22fd4053c096d26f61f8375800281c8
2019-01-21 21:35:01 +08:00
David Brazdil 96e973b304 hiddenapi: Process core.platform.api.stubs
Pass @CorePlatformApi stubs to the `hiddenapi` singleton rule which
generate a CSV of all public or domain API flags.

Bug: 119068555
Test: m appcompat
Test: dexlayout <core-oj jar> | grep CORE-PLATFORM-API
Change-Id: I597ee330835e564d61cfac44497e762b552b901c
2019-01-19 15:57:35 +00:00
David Brazdil fc274bab4d Replace hiddenapi-{public,private}-list.txt with a CSV file
`hiddenapi` is being refactored to work with a single CSV file as
opposued to a multitude of text files (one per flag). This patch
changes the singleton rule for listing public/private APIs from
stubs to expect a CSV as an output.

Bug: 119068555
Test: compiles, hiddenapi-flags.csv unchanged
Change-Id: If56c7ab8a4c3bbd33e447ef0dfd33f2c303a937c
2019-01-19 15:57:35 +00:00
Treehugger Robot 082fd2c5bc Merge "Move UPDATABLE_BOOT_(MODULES|JARS) to base_system.mk for further extension" 2019-01-19 04:37:13 +00:00
Colin Cross 3087d93cc6 Merge "Build docs zips with make docs" 2019-01-19 04:09:20 +00:00
Treehugger Robot 6bd6318880 Merge "Define non-system module as variable" 2019-01-19 01:48:39 +00:00
Evgenii Stepanov ffaf4815fc Merge "Limit 2 uses of SANITIZE_TARGET to ASan." 2019-01-19 01:32:51 +00:00
Dongwon Kang 167758a153 Move UPDATABLE_BOOT_(MODULES|JARS) to base_system.mk for further extension
Test: build & boot
Bug: 112766913

Change-Id: I5af02d44c4b4163acdc4e3078dcebd84556ee049
2019-01-18 17:06:18 -08:00
Treehugger Robot 215e2c828c Merge changes I685ab841,I6ab7e488
* changes:
  Add PRODUCT_BUILD_*_IMAGE, BUILDING_*_IMAGE to control building of images
  Always package ext filesystem tools
2019-01-19 00:18:02 +00:00
Colin Cross 103d6e8856 Build docs zips with make docs
The docs zips were being built for make docs dist but not for
make docs.  Add them to ALL_DOCS and to the $(LOCAL_MODULE)
phony rule.

Bug: 123068677
Test: m docs
Test: m ds-docs
Change-Id: I32634c05e392f7a5483c81d59de35ca9bc4d4ad0
2019-01-18 16:08:14 -08:00
Treehugger Robot 5f93c3a929 Merge "Add PROGUARD_HOME and PROGUARD_DEPS" 2019-01-18 22:18:50 +00:00
Treehugger Robot 12e7e928a2 Merge "Move HIDDENAPI_FLAGS dependencies to frameworks/base" 2019-01-18 22:13:53 +00:00
Evgenii Stepanov 60beecc90c Limit 2 uses of SANITIZE_TARGET to ASan.
These two places are checking for ifdef(SANITIZE_TARGET) but what
they are really looking for is the second stage of ASan build.

Fix the checks so that they do not apply to HWASan.

I have not seen any change in behavior, but there are some new files
under /system in hwasan build that were not there before, and things
keep working in general, so this feels like the right move.

Bug: 112438058
Test: none; SANITIZE_TARGET=hwaddress keeps working
Change-Id: I4544f408263b908be6ef4a47dd2b5c937e0c1f33
2019-01-18 14:06:11 -08:00
Dan Willemsen 674952098b Add PRODUCT_BUILD_*_IMAGE, BUILDING_*_IMAGE to control building of images
These centralize the decisions on whether to build certain images or
not, and allow the product definition to override that choice.

There are a few use cases here:

 * For GSI-like cases, we only want to build the system image. This
   didn't really change, but it's somewhat simpler to configure, and
   easier to understand the build logic.

 * On the opposite side, when you're planning on using a GSI, the device
   specific build can only build the vendor images (or some other set).

 * Some cases (Fuchsia, etc) don't want to build any images, as they'll
   be distributing the build artifacts in their own packaging.

I suspect in the future, TARGET_BUILD_APPS may be able to be refactored
into the third use case.

Test: treehugger
Test: Create a product definition that includes nothing, try to build it.
Test: compare build-aosp_crosshatch.ninja and build-crosshatch.ninja before/after
Change-Id: I685ab841be3718d3dd7052c28ccd764bb6f1991a
2019-01-18 13:11:34 -08:00
Dan Willemsen df0808331d Always package ext filesystem tools
Every target we have needs these now.

Test: treehugger; codesearch
Change-Id: I6ab7e48887b19f956b2a7aeac78169f0e2035c73
2019-01-18 10:44:34 -08:00
David Brazdil 38f19aac1f Move HIDDENAPI_FLAGS dependencies to frameworks/base
Recent move of hiddenapi rules to soong sets the dependencies of
the hiddenapi_flags.csv rule in dex_preopt.mk but doesn't check
for existence of "frameworks/base" as the hiddenapi-generate-csv
rule in frameworks/base. Solve this by removing the dependency
injection and using the SOONG_HIDDENAPI_FLAGS variable directly
in frameworks/base.

This is necessary because go/art-build creates a fake
hiddenapi_flags.csv and if there is a dependency injection rule,
a phony target is created and all dependencies of flags.csv need
to be satisfied.

Test: master-art compiles
Change-Id: I13ef5e7ec167f9372a5629fe1894c7acd4091d29
2019-01-18 15:11:01 +00:00
Jeongik Cha 83c50324ca Define non-system module as variable
Define non_system_module in base_rules.mk when the module is product, vendor,
product_services or proprietary module.

Bug: 74699609

Test: m -j
Change-Id: Iebdd3ec8c643be3d9877b7a96cbdd83465fa3878
2019-01-18 18:24:30 +09:00
Dan Willemsen 4a9a24481d Add PROGUARD_HOME and PROGUARD_DEPS
So that we can pass this into MAINDEXCLASSES.

Fixes: 122988865
Test: OUT_DIR=$HOME/out mmma frameworks/base/core/tests/hosttests/test-apps
Change-Id: I955d3de46d348e3573a6773f69149e7cabab8904
2019-01-17 23:04:27 -08: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
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