Commit Graph

1109 Commits

Author SHA1 Message Date
David Brazdil 7b59994751 Merge "Do not run veridex on unbundled app builds" 2018-07-31 16:01:58 +00:00
David Brazdil 825770ebad Do not run veridex on unbundled app builds
Unbundled app builds do not build the framework, only apps against
the prebuilt public API. Running veridex from the local tree does,
however, depend on the framework to generate the list of non-SDK
APIs. Disable veridex on such builds and remove appcompat.zip from
artifacts.

Test: make ANDROID_BUILDSPEC=vendor/google/build/app_build_spec.mk
Change-Id: I16289adc7fc660109d61260e8a49e992228e727c
2018-07-31 15:15:27 +01:00
Yifan Hong 8883a739b3 Merge changes I1459d62f,I4c2b975e
am: bb937a6b69

Change-Id: Ifdedee1b0251bc9c2a8baf30d28b5d315b5c9e20
2018-07-30 11:35:33 -07:00
Yifan Hong bb937a6b69 Merge changes I1459d62f,I4c2b975e
* changes:
  Build image for super partition
  productservices => product_services
2018-07-30 18:23:38 +00:00
Yifan Hong 48b23f3a0c Merge changes from topic "lrap_sysprop"
am: 9c1264417f

Change-Id: I82335d291a5ae0a7fe82bb6742652b018943c699
2018-07-30 10:41:10 -07:00
Yifan Hong af9e7f04c3 ro.boot.logical_partitions moved to product image
Test: m productimage -j && cat $OUT/product/build.prop
Bug: 111909365
Change-Id: I62abd5602f6b2fe7eead9d636ffb7708df23fd02
2018-07-27 16:24:38 -07:00
Yifan Hong 37c0c7c82d Build image for super partition
... for bootstrapping / initializing the device.
Image is built to $(PRODUCT_OUT)/super.img when running
`m dist`. For A/B devices, the image contains other
partitions in the _a slot.

Change-Id: I1459d62f02b95f142dfb3b7608f88ec6801dbf37
Fixes: 111758129
Test: m superimage -j
2018-07-27 13:45:43 -07:00
Anton Hansson b682674226 Merge "Don't apply path enforcements for non-full builds."
am: 362fff4fcd

Change-Id: I8578f069aa8b032832ef35dd78b973b517e6b547
2018-07-26 03:10:49 -07:00
Anton Hansson 362fff4fcd Merge "Don't apply path enforcements for non-full builds." 2018-07-26 10:02:44 +00:00
Dan Willemsen 76f0441dc0 Merge "Mark more targets as PHONY"
am: 6708f9507b

Change-Id: I4a23ba6f0043cef1406e40752d40b1228d0c8774
2018-07-24 15:37:00 -07:00
Treehugger Robot 6708f9507b Merge "Mark more targets as PHONY" 2018-07-24 22:24:37 +00:00
Anton Hansson a5fa898189 Don't apply path enforcements for non-full builds.
The installed files lists are wildly inaccurate unless all the
makefiles in the tree have been parsed, so the "redundant whitelist"
computation will be too trigger-happy in this case.

Bug: 111757442
Test: mmm -j system/extras/partition_tools
Test: m out/target/product/generic_arm64/offending-artifacts.txt
Change-Id: Id3a9f61d2366de77cdedf9cb1e4e39f7d18ade6f
2018-07-24 13:52:55 +01:00
Anton Hansson a94ba25840 Merge "Dump artifacts offending path reqs into a file"
am: 7b4b1b1548

Change-Id: Id661c2785ffddb053499cbfa3e0dd281cb609907
2018-07-24 02:20:02 -07:00
Anton Hansson 7b4b1b1548 Merge "Dump artifacts offending path reqs into a file" 2018-07-24 09:09:17 +00:00
Dario Freni bf01d8301a Merge "Generate a zipfile with appcompat logs during dist."
am: 4abd9488ce

Change-Id: Ibdabbe448ef64634eb36de3f24d720efafaa440f
2018-07-24 01:51:04 -07:00
Dario Freni 4abd9488ce Merge "Generate a zipfile with appcompat logs during dist." 2018-07-24 08:45:36 +00:00
Dan Willemsen 7a1da0e43e Mark more targets as PHONY
So that we can start restricting non-phony targets to $OUT_DIR and
$DIST_DIR.

Test: add --writable=out/, see fewer warnings
Change-Id: I411fe4af732b1bce35d4a4c1e2a47b5f8a15e6b8
2018-07-24 01:21:12 -07:00
Yifan Hong 68ab6aeb52 Merge "Fix check on BOARD_SUPER_PARTITION_SIZE."
am: c4ae41b251

Change-Id: I23620bd45292e8cea385c2a2fa6322aa8f2e00c3
2018-07-23 15:57:33 -07:00
Yifan Hong 17dd45d689 Fix check on BOARD_SUPER_PARTITION_SIZE.
The original code doesn't use the size of images that
is calculated at build time, but instead use BOARD_*IMAGE_PARTITION_SIZE
variables. Update the logic to use the actual size of the images at
build time.

Test: builds with a device defining the value and
BOARD_SUPER_PARTITION_PARTITION_LIST := system vendor product productservices

Bug: 79106666
Change-Id: I07b3ee466482bd8f5cf709e13e16a7f187099aaf
2018-07-23 13:13:50 -07:00
Dario Freni d10112751a Generate a zipfile with appcompat logs during dist.
Test: m dist
Bug: 110073830
Bug: 78924201
Change-Id: I052034ab35365e7add9a9992a51022c20aa50718
2018-07-23 20:20:15 +01:00
Anton Hansson 8c3d79dd37 Dump artifacts offending path reqs into a file
Dump offending artifacts into a file that can be inspected after a
build regardless of whether path requirements are enforced or not.

This makes it easier to track progress for products not yet ready
to enable enforcement.

Bug: 80410283
Test: lunch mainline_arm64; m out/target/product/generic_arm64/offending_artifacts.txt
Change-Id: Id05fbf256edf3689ab0b9851b34658d6d84939b2
2018-07-23 09:51:52 +00:00
Anton Hansson 78e36736fe Merge "Move dep on PRODUCT_COPY_FILES to main.mk" 2018-07-20 10:12:37 +00:00
Dario Freni 5f9ddc95a2 Merge "Add support for /product-services partition"
am: 3cf03b775a

Change-Id: I1b0b3628d1b96967e569093b93b12fbc5acd7ad5
2018-07-20 02:09:37 -07:00
Dario Freni 3cf03b775a Merge "Add support for /product-services partition" 2018-07-20 09:00:25 +00:00
Anton Hansson eccff5a946 Merge "Skip auto-gen rro packages for path requirements."
am: 5558838be1

Change-Id: I7335715433a80a79f02d0979290d1270d6d08403
2018-07-20 01:20:32 -07:00
Dario Freni 5f681e1dd7 Add support for /product-services partition
This CL is largely an adaptation of Change-Id
I774e6a38003734421591e51bed103802ff84f432

It adds the following variables:

- BOARD_AVB_PRODUCT_SERVICES_KEY_PATH
- BOARD_AVB_PRODUCT_SERVICES_ALGORITHM
- BOARD_AVB_PRODUCT_SERVICES_ROLLBACK_INDEX_LOCATION
- BOARD_PRODUCT_SERVICESIMAGE_FILE_SYSTEM_TYPE
- BOARD_PRODUCT_SERVICESIMAGE_EXTFS_INODE_COUNT
- BOARD_PRODUCT_SERVICESIMAGE_EXTFS_RSV_PCT
- BOARD_PRODUCT_SERVICESIMAGE_PARTITION_SIZE
- BOARD_PRODUCT_SERVICESIMAGE_JOURNAL_SIZE
- BOARD_PRODUCT_SERVICESIMAGE_SQUASHFS_BLOCK_SIZE
- BOARD_PRODUCT_SERVICESIMAGE_SQUASHFS_COMPRESSOR
- BOARD_PRODUCT_SERVICESIMAGE_SQUASHFS_COMPRESSOR_OPT
- BOARD_PRODUCT_SERVICESIMAGE_SQUASHFS_DISABLE_4K_ALIGN
- BOARD_PREBUILT_PRODUCT_SERVICESIMAGE
- BOARD_USES_PRODUCT_SERVICESIMAGE
- LOCAL_PRODUCT_SERVICES_MODULE
- PRODUCT_PRODUCT_SERVICES_BASE_FS_PATH
- PRODUCT_PRODUCT_SERVICES_VERITY_PARTITION
- PRODUCT_PRODUCT_SERVICES_PROPERTIES
- TARGET_COPY_OUT_PRODUCT_SERVICES
- TARGET_OUT_PRODUCT_SERVICES
- TARGET_OUT_PRODUCT_SERVICES_*

Bug: 80741439
Test: Successfully built product-services.img with one module in it, and flashed
on device. Also successfully built image with /system/product-services directory
and no /product-services partition.
Change-Id: I5d229f6ac729ea6df9ff1f14cee2e28972cd9b4d
2018-07-19 11:15:11 +01:00
Anton Hansson c62d15f077 Skip auto-gen rro packages for path requirements.
The way these packages are currently added to the build is via
modifications in product makefiles inheriting from mainline_system,
but with have the side effect of changing the REQURIED modules for
the source of the auto-gen RRO package.

Whitelist auto-generated RRO packages from the path requirement checks
for now.

Bug: 80410283
Test: make
Change-Id: Ib070e28e0ef87a57adfaedf6456585e8bfa29dd3
2018-07-18 15:52:57 +01:00
Anton Hansson 404d33c578 Move dep on PRODUCT_COPY_FILES to main.mk
Prior to this change the product-installed-files macro didn't include
PRODUCT_COPY_FILES, which is a problem for the artifact path
enforcements. Fix this by moving the dep on PCF into main.mk.

Leave the declaration in Makefile for now.

Test: diff modules_to_install before and after
Bug: 80410283
Change-Id: Ie7ecd5a963aedd2c573f4fe46d327829908aec03
Merged-In: Ie7ecd5a963aedd2c573f4fe46d327829908aec03
2018-07-18 14:05:20 +01:00
Anton Hansson 9fbe84ceee Move dep on PRODUCT_COPY_FILES to main.mk
Prior to this change the product-installed-files macro didn't include
PRODUCT_COPY_FILES, which is a problem for the artifact path
enforcements. Fix this by moving the dep on PCF into main.mk.

Leave the declaration in Makefile for now.

Test: diff modules_to_install before and after
Bug: 80410283
Change-Id: Ie7ecd5a963aedd2c573f4fe46d327829908aec03
2018-07-13 17:16:22 +01:00
Dan Willemsen 468206e4cd Merge "Add more status output"
am: 5787711e75

Change-Id: I0f6ee9a8ac4c04ed8effd2a2962503462954c360
2018-07-12 21:06:51 -07:00
Dan Willemsen 518373f8af Add more status output
soong_ui now parses the output from kati into "actions" to feed into the
unified status system. It also looks for errors and marks the enclosing
section as failed.

This adds a few more states so that error messages can be more
appropriately attributed - so that all errors at the end of the buid
aren't attributed to the last makefile read.

Test: m
Test: add some errors
Change-Id: I3abdb004c82e2b99822906910cd66123c11a5099
2018-07-11 12:00:56 -07:00
Anton Hansson 0b14a57aaf Merge "Make including missing modules an error."
am: 65dc646c76

Change-Id: I7cf277de314e06d84cc19c0def52cd035bbae51a
2018-07-09 23:37:57 -07:00
Anton Hansson 65dc646c76 Merge "Make including missing modules an error." 2018-07-10 06:28:41 +00:00
Luis Hector Chavez 930ceb30b9 Merge "Depend on the ramdisk/root files for BOARD_BUILD_SYSTEM_ROOT_IMAGE"
am: b676d6d609

Change-Id: I0e13f4327ce066a56f856985c07f1e8f4c373d24
2018-07-09 16:13:08 -07:00
Treehugger Robot b676d6d609 Merge "Depend on the ramdisk/root files for BOARD_BUILD_SYSTEM_ROOT_IMAGE" 2018-07-09 23:04:32 +00:00
Luis Hector Chavez ff48993ca6 Depend on the ramdisk/root files for BOARD_BUILD_SYSTEM_ROOT_IMAGE
When using BOARD_BUILD_SYSTEM_ROOT_IMAGE, there is no direct dependency
on the files that get typically added to the ramdisk.img apart from the
NOTICE.html dependency that some files have. This change explicitly adds
the ramdisk/root files as a dependencies of system.img so that the image
is recreated any time a file in the ramdisk changes. It also creates the
installed-files-root.txt file.

Bug: 62387674
Test: /init.rc is present in system.img's dependencies
Change-Id: I234cb8d8a648f8963610be519de1b70b7efe1fd7
2018-07-09 11:07:12 -07: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
Anton Hansson e5a5f00b9e Merge "Add documentation for module resolution."
am: ce0d4aa328

Change-Id: I85aa55b9985e91001e56088579a376f46d9d03e5
2018-07-05 09:43:36 -07: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 a85fbdb83d Merge "Include PRODUCT_COPY_FILES in artifact check."
am: 31cd1263d4

Change-Id: I51e0d60a634ddbf9597b9797e7d8208930908bfb
2018-06-26 02:55:12 -07:00
Anton Hansson c0655eb042 Include PRODUCT_COPY_FILES in artifact check.
The product-installed-files macro is not really thorough - it only
includes packages, but not other files which are included as part of
the build. Extend it to also include PRODUCT_COPY_FILES.

Bug: 80410283
Test: downstream CL
Change-Id: I803c7a59e695c226fa413fa1602ec315ef9886a8
2018-06-25 19:17:42 +01:00
Yifan Hong 6423900f83 Merge "Add BOARD_SUPER_PARTITION_*"
am: 254bd9a10a

Change-Id: Iada0cb6fe92ecf090a3c37bb3bd73335a2e63a8c
2018-06-22 16:40:15 -07:00
Treehugger Robot 254bd9a10a Merge "Add BOARD_SUPER_PARTITION_*" 2018-06-22 23:33:14 +00:00
Yifan Hong 74d07ff8bd Add BOARD_SUPER_PARTITION_*
Test: builds
Test: build with BOARD_SUPER_PARTITION_SIZE and
      BOARD_SUPER_PARTITION_PARTITION_LIST defined

Bug: 79106666

Change-Id: Ifcd50ecab22ef096ff1eb386f8d87e16fffdcf5e
2018-06-22 10:25:54 -07:00
allenhair 2e627d5e7d Merge "Distribute XML formatted API files as part of the coverage build."
am: f2365aa2c5

Change-Id: I91c661d74e617f17553f27a39cb32496dd5acf4c
2018-06-21 11:52:01 -07:00
allenhair f2365aa2c5 Merge "Distribute XML formatted API files as part of the coverage build." 2018-06-21 18:33:25 +00:00
Dan Willemsen 45883d45ec Merge "Deprecate implicit make rules"
am: 6d3acda913

Change-Id: Ic04398750a692d3bbae34b78420d61c6e5ee2356
2018-06-20 21:13:33 -07:00
Dan Willemsen 62db0f0945 Deprecate implicit make rules
Test: mm
Test: view docs in gitiles
Change-Id: I1ced4b4218c733b5b5b771d626b20eb6fb22f0df
2018-06-20 16:52:10 -07:00
Allen Hair 906da1b5df Distribute XML formatted API files as part of the coverage build.
Bug: 110485176
Test: m -j32 droid dist EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true tests
Change-Id: I151afde05de832cab06421ffe0829f07e60aceb8
2018-06-20 14:59:57 -07:00
Anton Hansson a062b90c36 Merge "Add support enforcing all path requirements."
am: 9d2c04e39c

Change-Id: I95c562e020d9995130ff438bdc90f9d5b59128fc
2018-06-15 02:19:02 -07:00
Anton Hansson 9d2c04e39c Merge "Add support enforcing all path requirements." 2018-06-15 09:08:10 +00:00
Colin Cross a81e5c743d Merge "Dist installed-files*.json"
am: 8b4c72dc1c

Change-Id: I13389075d4b3b87d23a96a194f17163a3ab22b03
2018-06-14 22:11:16 -07:00
Colin Cross 23dded0ffd Dist installed-files*.json
installed-files*.json provides hashes of each file, which will allow
a quick comparison of what has changed between builds.

Test: m checkbuild
Change-Id: I87f6c1fa89aaa83c7bcc7cbefb799e9e26d7bfa5
2018-06-14 14:51:20 -07:00
Anton Hansson 727e5d9f59 Merge "Add a new macro for products to make artifact path requirements."
am: 2b0ea222c1

Change-Id: I3bb0f6a885ef190c0eebc5cf73ac748ff25c4afd
2018-06-14 03:39:45 -07:00
Anton Hansson 427d855728 Add support enforcing all path requirements.
Setting PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS to be non-empty will
verify that when an inherited product file makes an path requirement
claim, no files other than the ones it produces are allowed inside its
paths. This allows more rigorous control of what goes where, and
specifically stops accidental inclusion of modules in the wrong places
(which is very easy to do otherwise).

In order to enable iterative improvements to current offenders, support
for a whitelist is also added (via the new
PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST property). Verification is
done that this variable corresponds to exactly the list of current
offenders.

Example use:
  PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := true
  PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := system/priv-app/Dialer/Dialer.apk

Bug: 80410283
Test: In a downstream CL specifying the above.
Change-Id: I58047db08bde34da21759cfc55f398892b1c809a
2018-06-14 11:35:05 +01:00
Anton Hansson 6147e61699 Merge "Extract the product to file mapping logic to a macro."
am: df832133ad

Change-Id: Ic92eb8d9c9631f5eaac57bb4f41c157954f85193
2018-06-14 03:14:24 -07:00
Anton Hansson 837425b0c0 Add a new macro for products to make artifact path requirements.
When a product adds a path requirement, the build system will verify
that all its artifacts are produced inside these paths, and fail
otherwise.

The paths are all relative to PRODUCT_OUT, and the macro also supports
giving a whitelist, for known existing offenders in the hierarchy. The
build will fail if redundant whitelist entries are present.

Example invocation:
_paths := $(TARGET_COPY_OUT_SYSTEM)/
_whitelist := root/init root/init.rc
$(call require-artifacts-in-path $(_paths), $(_whitelist))

Bug: 80410283
Test: Downstream with a new product definition.
Change-Id: I235de681f65254087a42e345af69b2113b682072
2018-06-13 18:48:53 +01:00
Anton Hansson 5efe88df63 Extract the product to file mapping logic to a macro.
This way, the logic can be reused for multiple products during
the same build step. This will be used to track files output
by different subtrees in the product makefile hierarchy.

Bug: 80410283
Test: diff produt_FILES before and after
Change-Id: I6dd1cf586410b9809fdd9d75441128acb07cab08
2018-06-13 18:48:42 +01:00
Yifan Hong b64f5b5145 Merge "Add ro.boot.logical_partitions" am: 78f3983e98
am: 6d3dbb927e

Change-Id: I9bd5760ffbb5e9dd76ae6376a23057504719046f
2018-05-29 13:07:30 -07:00
Yifan Hong ebba19759d Add ro.boot.logical_partitions
Test: boot and getprop
Bug: 79885414
Change-Id: I2c1468a7a625deda8887106c3a087204a1ee8353
2018-05-29 11:17:45 -07:00
Alan Ma 4292ea6696 Merge "Add a build task for cts_instant" into pi-dev
am: 07d33802b3

Change-Id: Ide0ee7a30700a34823abed77493fba4f55458517
2018-05-21 13:30:41 -07:00
Alan Ma c2e074c081 Add a build task for cts_instant
Test: With other CLs in the topic, run 'm -j30 cts_instant'

bug: 79750671
Change-Id: Ib0381017300108a22919892070540b9e7f92aaf9
2018-05-18 14:09:03 -07:00
Isaac Chen a13b3153c1 Enable vndk_package if BOARD_VNDK_VERSION is set
This is a first attempt to enable build system support to include
vndk_package automatically (if BOARD_VNDK_VERSION is set), so devices
don't need to add it via PRODUCT_PACKAGE manually.

Bug: b/67002788
Test: Booted on the x86 emulator and a physical device and checked
      their /system/lib*/vndk-* directories for vndk_package libraries.
    # The commands below are for the x86 emulator:
    $ lunch aosp_x86_64-userdebug; m -j
Change-Id: Iea927b9535c7ee1b64ca130a4ac54f0fd8b3f758
Merged-In: Iea927b9535c7ee1b64ca130a4ac54f0fd8b3f758
(cherry picked from commit 5364f5a298)
2018-04-24 10:07:10 +08:00
Dan Willemsen 52e14a617d Merge "Add variables for configuring Soong plugins" into pi-dev 2018-04-17 19:35:35 +00:00
Andrew Hsieh f88438aa37 Merge "Enable vndk_package if BOARD_VNDK_VERSION is set" into pi-dev
am: 0dd11dc0b5

Change-Id: I192316dd07972167e2d5e4a687e15f7f1611f0f8
2018-04-16 16:41:23 -07:00
Isaac Chen 5364f5a298 Enable vndk_package if BOARD_VNDK_VERSION is set
This is a first attempt to enable build system support to include
vndk_package automatically (if BOARD_VNDK_VERSION is set), so devices
don't need to add it via PRODUCT_PACKAGE manually.

Bug: b/67002788
Test: Booted on the x86 emulator and a physical device and checked
      their /system/lib*/vndk-* directories for vndk_package libraries.
    # The commands below are for the x86 emulator:
    $ lunch aosp_x86_64-userdebug; m -j
Change-Id: Iea927b9535c7ee1b64ca130a4ac54f0fd8b3f758
2018-04-13 15:33:44 +08:00
Dan Willemsen 79657520ee Add variables for configuring Soong plugins
See the Soong commit for detailed usage.

Bug: 76168832
Test: define some variables, use them
Change-Id: Ia8af5b6ec1cb3f12cbc1fee582a309eebb340b7c
Merged-In: Ia8af5b6ec1cb3f12cbc1fee582a309eebb340b7c
(cherry picked from commit eaacf5b285)
2018-04-11 15:31:35 -07:00
Dan Willemsen fb3eeea64a Merge "Add variables for configuring Soong plugins" am: de61b23ffc
am: 3ae1f7af36

Change-Id: I5abe5931423d25a8314914bc81ba2a38a3439a94
2018-04-10 18:58:05 -07:00
Dan Willemsen eaacf5b285 Add variables for configuring Soong plugins
See the Soong commit for detailed usage.

Bug: 76168832
Test: define some variables, use them
Change-Id: Ia8af5b6ec1cb3f12cbc1fee582a309eebb340b7c
2018-04-10 15:51:53 -07:00
Zach Riggle 9358db72c6 Merge "Add PRODUCT_PACKAGES_DEBUG_ASAN" am: c22e207c50
am: ac6cd7414d

Change-Id: I6ac2c7bf82d305f49a3c8962c0bf8107c1d86373
2018-04-02 21:29:21 +00:00
Treehugger Robot c22e207c50 Merge "Add PRODUCT_PACKAGES_DEBUG_ASAN" 2018-04-02 21:15:59 +00:00
Zach Riggle 9323b7faf3 Add PRODUCT_PACKAGES_DEBUG_ASAN
This is a list of modules which should be installed by default, but only on
builds which are set up for Address Sanitizer (via SANITIZE_TARGET=address).

Additionally, add sanitizer-status to PRODUCT_PACKAGES_DEBUG so that all
userdebug builds will have the binary.  Currently, the module has the
"debug" tag but it may go away in the future.

Change-Id: I0bea4faf9c2a65380292471437e51ef8324b5af3
2018-03-30 21:09:50 +00:00
Elliott Hughes 0f0068eddc Merge "Remove unused dalvik.vm.stack-trace-dir." am: e67bbf39fc
am: 5aea4cf3f8

Change-Id: Ic3eb15c8389d37b2b7047207df495932ade5a5e4
2018-03-29 22:05:17 +00:00
Elliott Hughes f12e8f81bd Remove unused dalvik.vm.stack-trace-dir.
Bug: http://b/73140330
Test: boots
Change-Id: I6145b7af8224165546b1fbdb95b4d2ac2c1f0997
2018-03-28 14:57:58 -07: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
Dan Willemsen 5a11a24234 Merge "Support a pre-extracted PDK zip" am: 1cfafdd9fc
am: d34cc3915c

Change-Id: I4996d7e056f48c128e8cf90679562562283d3e15
2018-03-09 05:08:10 +00:00
Dan Willemsen 0663f685c2 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
2018-03-08 13:50:21 -08: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 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 7e634580ba Merge "Use BUILD_NUMBER_FROM_FILE instead of BUILD_NUMBER in Make." am: d3bec931cd
am: 90b8d087e6

Change-Id: I7360282931fa4646e733f7326aea5a2a3cea1a97
2018-02-22 02:29:18 +00:00
Nan Zhang 0abdb5811d Use BUILD_NUMBER_FROM_FILE instead of BUILD_NUMBER in Make.
<Two phase commits> Since internal master code has more places that use
BUILD_NUMBER (mostly in vendor/) than AOSP (conflict). We can't
deprecate BUILD_NUMBER directly. Therefore, we try to switch to
BUILD_NUMBER_FROM_FILE as much as possible at first. Then we will do
a one-off deprecation for BUILD_NUMBER in internal master next step.

Test: m -j
Bug: b/70351683
Change-Id: I14ffee7381933c9fde14c4bde8c0c14e45fe98bf
2018-02-21 14:12:18 -08:00
Nan Zhang 649f5b3c9a Merge "Remove BUILD_DATETIME from Make." am: 4babe39d0f
am: 03bca8c4a8

Change-Id: I3f8e13a53dbd3217f3ae15b9512d3bb917695df1
2018-02-15 22:53:02 +00:00
Nan Zhang 975f41ed34 Remove BUILD_DATETIME from Make.
Soong_UI will handle build timestamp and export date file to Make.

Test: m -j32
Bug: b/70351683
Change-Id: Ibe4ceb1b224c5e8f3e1a8a59cfee89217765a901
2018-02-14 13:30:53 -08:00
Simran Basi 605ab4554a Merge "LOCAL_HOST_REQUIRED_MODULES support" am: 9ffbc10126
am: 79a2a1e889

Change-Id: Ide6abb89c676bcf8785e60e4f798740b835cbede
2018-02-07 02:39:18 +00:00
Simran Basi 893098b06c LOCAL_HOST_REQUIRED_MODULES support
Allows target modules to directly request host modules they
require to be built and installed as well.

Bug: 72761631
Test: Added LOCAL_HOST_REQUIRED_MODULES to a target apk test and
      the host module was built.

Change-Id: I5aca11b3ba8b54676f068d337f1c9ba0e0b01997
2018-02-06 14:18:45 -08:00
David Brazdil ebbd39f4fd Merge "Add flag to control hidden API warning toasts" am: 4e6c5218db
am: 744c286b07

Change-Id: Ib0734cf6c5a127c2f2c55fd381b10631839a7229
2018-01-29 10:30:33 +00:00
David Brazdil 41847e1917 Add flag to control hidden API warning toasts
Just like visual warnings about improper use of native libraries,
warnings about the usage of hidden APIs will be displayed in non-
final, non-user builds only.

Bug: 64382372
Test: make
Change-Id: Id0a4200f912ac3303026cb26b6d8974c47332828
2018-01-26 12:19:32 +00:00
Jaekyun Seok f430ea5ebf Merge "Support /product partition" am: 8fe7f9bfa2
am: 039e0991d5

Change-Id: I325ae6518c55f1fc310233a5f67ce3df1ae4940f
2018-01-25 04:11:49 +00:00
Jaekyun Seok b7735d8105 Support /product partition
This CL adds the following build flags to support building product partition
from Android build system.
- BOARD_AVB_PRODUCT_ADD_HASHTREE_FOOTER_ARGS
- BOARD_AVB_PRODUCT_KEY_PATH
- BOARD_AVB_PRODUCT_ALGORITHM
- BOARD_AVB_PRODUCT_ROLLBACK_INDEX_LOCATION
- BOARD_PREBUILT_PRODUCTIMAGE
- BOARD_PRODUCTIMAGE_EXTFS_INODE_COUNT
- BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE
- BOARD_PRODUCTIMAGE_PARTITION_SIZE
- BOARD_PRODUCTIMAGE_SQUASHFS_BLOCK_SIZE
- BOARD_PRODUCTIMAGE_SQUASHFS_COMPRESSOR
- BOARD_PRODUCTIMAGE_SQUASHFS_COMPRESSOR_OPT
- BOARD_PRODUCTIMAGE_SQUASHFS_DISABLE_4K_ALIGN
- BOARD_USES_PRODUCTIMAGE
- LOCAL_PRODUCT_MODULE
- PRODUCT_FOOTER_ARGS
- PRODUCT_PRODUCT_BASE_FS_PATH
- PRODUCT_PRODUCT_VERITY_PARTITION
- TARGET_COPY_OUT_PRODUCT
- TARGET_OUT_PRODUCT*

And PRODUCT_PRODUCT_PROPERTIES is added to save product-specific
properties in /product/build.prop.

Bug: 64195575
Test: succeeded building product.img with BOARD_PRODUCTIMAGE_PARTITION_SIZE,
BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE and PRODUCT_PRODUCT_VERITY_PARTITION.

Change-Id: I774e6a38003734421591e51bed103802ff84f432
2018-01-25 09:33:58 +09:00
Jaekyun Seok b82c709942 Merge "Enforce PRODUCT_COMPATIBLE_PROPERTY for products shipping with Android P" am: 8b4b0cc5a1
am: 3b4329ab47

Change-Id: I1f4969866235eb28e555f5092f8c7b3b753e7025
2018-01-19 04:55:26 +00:00
Jaekyun Seok 0538ff796f Enforce PRODUCT_COMPATIBLE_PROPERTY for products shipping with Android P
PRODUCT_COMPATIBLE_PROPERTY will be set as true for products shipping
with Android P, and ro.actionable_compatible_property.enabled will be set
as a system default property accordingly.
But if PRODUCT_ACTIONABLE_COMPATIBLE_PROPERTY_DISABLE is set,
ro.actionable_compatible_property.enabled will be false.

Bug: 38146102
Test: tested on walleye with PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE=true
Merged-In: Ifc1279a360b140c4d94edd32db7de3c6c7317297
Change-Id: Ifc1279a360b140c4d94edd32db7de3c6c7317297
(cherry picked from commit 2528cd26c0)
2018-01-18 21:11:53 +09:00
Steven Moreland 9874ee6c54 Merge changes from topic "kati-obsolete-full-treble" am: 2b1f0d1810
am: a710d44086

Change-Id: I39b94bef18b12f0e55bc1d0eaabde2ba85f00146
2017-12-18 17:57:42 +00:00
Steven Moreland 5dcea5de76 .KATI_obsolete PRODUCT_FULL_TREBLE.
It has been broken up into subflags, and usage has been cleaned up.

Bug: 69865032
Test: can't use PRODUCT_FULL_TREBLE
Change-Id: Ia38366a30132f129d09c6f4a985402c202bace62
2017-12-18 17:45:55 +00:00
Colin Cross c95bf7aa1d Merge "Add soong_docs to droidcore" am: f027511929
am: 5d8b68daca

Change-Id: Idac784ec8ef50063faa3d772b9b52beebd7a3b3a
2017-12-13 00:00:22 +00:00
Colin Cross 2c1da1e95f Add soong_docs to droidcore
Bug: 70516282
Test: treehugger
Change-Id: I818ad6f948502f4beb0205b583687c1d9fa563ac
2017-12-12 11:11:48 -08:00
Xin Li 5f03da0404 Merge "DO NOT MERGE: Merge Oreo MR1 into master" 2017-12-06 23:18:30 +00:00
Jeff Gaston c0715eb231 Merge "Enable SKIP_BOOT_JARS_CHECK by default when instrumenting" am: 5313503663
am: a659799786

Change-Id: I878bdedce803df1b4e74c429901e1e04b7d73002
2017-12-06 21:43:29 +00:00
Jeff Gaston a659799786 Merge "Enable SKIP_BOOT_JARS_CHECK by default when instrumenting"
am: 5313503663

Change-Id: Iefc4b4cecb6f22b39ec66675fffe65ac62a18e79
2017-12-06 21:37:10 +00:00
Jeff Gaston 5313503663 Merge "Enable SKIP_BOOT_JARS_CHECK by default when instrumenting" 2017-12-06 21:28:28 +00:00
Badash d269f266aa initial add sts to build am: bb7a920294 am: b4bd17c9ad
am: 2f8a8b8a18

Change-Id: I34a6d4c7e16c0340d0a74bb1bcc2a29a2e850b1e
2017-12-06 18:34:32 +00:00
Badash 2f8a8b8a18 initial add sts to build am: bb7a920294
am: b4bd17c9ad

Change-Id: I94ff95c77545981dfe7e466e4e1a105f45e38472
2017-12-06 18:19:05 +00:00
Badash b4bd17c9ad initial add sts to build
am: bb7a920294

Change-Id: I63038aeb98fa6008e1217f8caf7ec749a0ea749e
2017-12-06 18:16:11 +00:00
Badash bb7a920294 initial add sts to build
Test: Local build with other CLs in topic

Bug: 67456333
Change-Id: Ieea499fc22b6dff87dfb19fb8b9446fa449152ea
(cherry picked from commit a4560bb0cb)
2017-12-05 22:17:31 +00:00
Xin Li 44dd4881de Merge commit '66b8b530187b129934a685bf0c4349eef00e4b0c' from
oc-mr1-dev-plus-aosp-without-vendor into stage-aosp-master.

Change-Id: I7594bb72dd7e847292eb502edd918e41318aac29
Merged-In: Ide82473d358719f7e01cd2a4a85db954f3722f14
2017-11-14 11:36:22 -08:00
Dan Willemsen 207b009c86 Merge "Enable missing dependency checks" 2017-11-11 00:35:00 +00:00
Dan Willemsen e43d8ee8ff Enable missing dependency checks
With this enabled, we'll check the entire build graph for missing
dependencies -- even if you don't need to build the module. So it'll
present more errors, but surface them earlier.

These can be turned off manually with an environment variable if the
branch is expected to have missing dependencies:

  ALLOW_MISSING_DEPENDENCIES=true
  SOONG_ALLOW_MISSING_DEPENDENCIES=true   (previous method)

That will be set automatically when using 'mm', which doesn't load the
entire build graph. It will also be set when using 'tapas' to build
unbundled apps, since those are usually on reduced branches.

This provides better error messages when a library is missing:

system/core/init/Android.mk: error: init_tests (NATIVE_TESTS android-arm64) missing libinit (SHARED_LIBRARIES android-arm64)
Available variants:
  libinit (STATIC_LIBRARIES android-arm64)
  libinit (STATIC_LIBRARIES android-arm)
You can set ALLOW_MISSING_DEPENDENCIES=true in your environment if this is intentional, but that may defer real problems until later in the build.
system/core/init/Android.mk: error: init_tests (NATIVE_TESTS android-arm) missing libinit (SHARED_LIBRARIES android-arm)
Available variants:
  libinit (STATIC_LIBRARIES android-arm64)
  libinit (STATIC_LIBRARIES android-arm)
You can set ALLOW_MISSING_DEPENDENCIES=true in your environment if this is intentional, but that may defer real problems until later in the build.
build/core/main.mk:852: error: exiting from previous errors.

instead of:

ninja: error: 'out/target/product/generic_arm64/obj/SHARED_LIBRARIES/libinit_intermediates/export_includes', needed by 'out/target/product/generic_arm64/obj/NATIVE_TESTS/init_tests_intermediates/import_includes', missing and no known rule to make it

Test: Manually introduce errors, check for expected output
Test: multiproduct_kati on AOSP and internal master, no new breakages
Change-Id: I5847f813045929813214137403c499b44ef67907
Merged-In: I5847f813045929813214137403c499b44ef67907
2017-11-10 01:13:07 +00:00
Colin Cross 31638ff73b Merge "Move BUILD_*_FROM_FILE to config.mk" am: ab5ce7e1fe
am: 9159f4b08c

Change-Id: Ib946129ef14cf91aa57a1fb880dae3f29adace63
2017-11-04 01:32:19 +00:00
Colin Cross e96bfdb337 Move BUILD_*_FROM_FILE to config.mk
BUILD_NUMBER_FROM_FILE and BUILD_DATETIME_FROM_FILE may need to
be referenced before main.mk has been parsed, move them to config.mk.

Bug: 68865363
Test: m -j TARGET_PRODUCT=full TARGET_BUILD_APPS=Gallery
      aapt dump xmltree out/target/product/generic/obj/APPS/Gallery_intermediates/package.apk AndroidManifest.xml | grep Version
Change-Id: I9361a394469e61fcdf5a2b9509ef2bb2b373d6e7
2017-11-03 16:35:02 -07:00
bohu 49415ab9b1 emualtor: keep libopenjdkjvmti*.so on sdk images
BUG: 38353037

Those libopenjdkjvmti*.so files are needed by profilers.
Those files are shipped on real devices as well.

Change-Id: I28dad25eb61da424dcf87ab1f17277df340f9124
Merged-In: Iac7dd2844b0f3ea5194dec8732fbaacf53c4bf4a
2017-10-26 16:45:05 -07:00
Colin Cross 40be14c239 Merge "Update references to build/core to build/make/core" am: 6db8597174 am: bce301801f
am: 4ffa2e1ebc

Change-Id: I9ff0a8d8e2abd407935e691be324894a5da09f8c
2017-10-20 23:53:47 +00:00
Colin Cross bce301801f Merge "Update references to build/core to build/make/core"
am: 6db8597174

Change-Id: I4be5bc1805d1900991966d24fda15f2705ee248d
2017-10-20 23:49:17 +00:00
Colin Cross 6cdc5d20f3 Update references to build/core to build/make/core
sed -i -e 's"\([^/]\)build/core"\1build/make/core"g' $(git grep -l build/core)

Test: m checkbuild
Change-Id: Idf3a2fed79aee5d2c07bd8e42f0c0660f253ddc2
2017-10-20 12:49:28 -07:00
Colin Cross 69ced5de5e Delete jack support am: a6bc3a8a4c
am: 37bf2b1250

Change-Id: I19133aedbfe91f7cd49588b33f517dc4bb17b91c
2017-10-02 20:00:16 +00:00
Colin Cross e673deb280 Delete jack support
Remove all support for running jack.

Bug: 65302138
Test: m -j checkbuild
Change-Id: I1ef87c88af3f2689f8b0dcf1a01c958b16159631
Merged-In: I1ef87c88af3f2689f8b0dcf1a01c958b16159631
(cherry picked from commit 5db5d31d73)
2017-10-02 11:15:19 -07:00
Colin Cross a6bc3a8a4c Delete jack support
Remove all support for running jack.

Bug: 65302138
Test: m -j checkbuild
Change-Id: I1ef87c88af3f2689f8b0dcf1a01c958b16159631
Merged-In: I1ef87c88af3f2689f8b0dcf1a01c958b16159631
(cherry picked from commit 5db5d31d73)
2017-10-02 18:06:56 +00:00
Bo Hu 35149ca0b7 Merge changes from topic "aosp-emulator-oc"
* changes:
  emulator: fix widevine drm vndbinder denial
  emulator: fix selinux issues
  emulator: squash misc modifications from oc-emu-dev
  emualtor: keep libopenjdkjvmti*.so on sdk images
  emulator: move rild.libpath to vendor
  sdk:enable emulator to launch in build environment
  build-emulator: fully treblize emulator image
  Build vendor image for emulator
2017-08-31 22:56:31 +00:00
Jeff Gaston 3db1d9b84a Merge "Implement LOCAL_TARGET_REQUIRED_MODULES" am: 2c0442238b am: d7fe023444
am: 1923a31e9c

Change-Id: I05fc00b6ae97efcf8f11cabb334166e5355a2d83
2017-08-31 20:33:20 +00:00
Jeff Gaston d7fe023444 Merge "Implement LOCAL_TARGET_REQUIRED_MODULES"
am: 2c0442238b

Change-Id: Ifb9dccdde667dbbbe93bf9626fd9e0cf9f5f3152
2017-08-31 20:22:49 +00:00
bohu b7e2fabe38 emualtor: keep libopenjdkjvmti*.so on sdk images
BUG: 38353037

Those libopenjdkjvmti*.so files are needed by profilers.
Those files are shipped on real devices as well.

Change-Id: Iac7dd2844b0f3ea5194dec8732fbaacf53c4bf4a
Merged-In: Iac7dd2844b0f3ea5194dec8732fbaacf53c4bf4a
2017-08-30 17:13:42 -07:00
Jeff Gaston 9557cae873 Implement LOCAL_TARGET_REQUIRED_MODULES
to allow a host module to specify LOCAL_TARGET_REQUIRED_MODULES
to indicate that the device module should be built.

Bug: b/64580523
Test: add "LOCAL_TARGET_REQUIRED_MODULES := \
      CtsDeviceOsTestApp CtsHostProcfsTestApp" to \
      cts/hostsidetests/os/Android.mk, run \
      `m -j CtsOsHostSideTestCases`, check \
      that CtsDeviceOsTestApp.apk was built

Change-Id: I1457a51f7cd922c059aa62955d8693b1a7539fd9
2017-08-30 13:44:26 -07:00
Dan Willemsen 664484189e Merge "Split CleanSpec processing out of main Kati run" am: acb4ace77d am: f1c8fdede5 am: 57385f5ff1
am: 377e870b9e

Change-Id: I7d20339c9f6b8203ecc42108f7d38a25c517161f
2017-08-23 02:08:38 +00:00
Dan Willemsen 377e870b9e Merge "Split CleanSpec processing out of main Kati run" am: acb4ace77d am: f1c8fdede5
am: 57385f5ff1

Change-Id: I44c20a2c3b51b4d33c3a09a192eef51059c543b4
2017-08-23 02:05:08 +00:00
Dan Willemsen 514d49979c Split CleanSpec processing out of main Kati run
Bug: 35970961
Test: m clean; m nothing; m nothing
Test: Add CleanSpec.mk line, see it executing
Change-Id: Ied59ac9dbcbeec00e1ada8271b1f66cae33edb8d
2017-08-22 13:08:24 -07:00
Jeff Gaston 9829f9a607 Merge "Revert "Revert "Use the Finder's results for faster searching""" am: 30928b0c6f am: b339102f67 am: 401b75c299
am: e05961ed95

Change-Id: Ib5ce6e22df36e1590333eb179ed33b1c44d12c88
2017-08-18 19:47:43 +00:00
Jeff Gaston e05961ed95 Merge "Revert "Revert "Use the Finder's results for faster searching""" am: 30928b0c6f am: b339102f67
am: 401b75c299

Change-Id: I02702cfafe58b6e6c249a37ee9e3ea3178d5bdcc
2017-08-18 19:41:12 +00:00
Jeff Gaston b339102f67 Merge "Revert "Revert "Use the Finder's results for faster searching"""
am: 30928b0c6f

Change-Id: I8571745e8e37b87e5762438aff589f3132a3a428
2017-08-18 19:29:44 +00:00
Jeff Gaston 30928b0c6f Merge "Revert "Revert "Use the Finder's results for faster searching""" 2017-08-18 19:21:38 +00:00
Jeff Gaston d05050ee9c Revert "Revert "Use the Finder's results for faster searching""
This reverts commit 6f2aea5636.

Reason for revert: Fix went in ( I70b08023b94b5789dc8394651bbac4c49c82787f ); trying again to use this

Change-Id: I0f58c21a7312dda01980d338401e756f610fe3b4
2017-08-18 02:46:39 +00:00
Jeff Gaston 46c9cfa1d1 Merge "Revert "Use the Finder's results for faster searching"" am: 6df0626e58 am: 8467fba043 am: 12a4b403c2
am: 97079e0557

Change-Id: I19389b739e792372fa1d189d030c5a1d618b7b19
2017-08-17 20:36:11 +00:00
Jeff Gaston 97079e0557 Merge "Revert "Use the Finder's results for faster searching"" am: 6df0626e58 am: 8467fba043
am: 12a4b403c2

Change-Id: I54466fe90cdab68e4c23cb09e2389ace494384ba
2017-08-17 20:31:35 +00:00
Jeff Gaston 8467fba043 Merge "Revert "Use the Finder's results for faster searching""
am: 6df0626e58

Change-Id: I93d5c8df8500a5ea99751842b3585708e23fc251
2017-08-17 20:23:35 +00:00
Jeff Gaston 6df0626e58 Merge "Revert "Use the Finder's results for faster searching"" 2017-08-17 20:15:43 +00:00
Jeff Gaston 6f2aea5636 Revert "Use the Finder's results for faster searching"
This reverts commit 4e3ea546d7.

Reason for revert: New Build Breakage: aosp-master/build_test @ 4283735

Change-Id: Icf62c628c1d0cb0b1fd4b401ae1a866f7f88c477
2017-08-17 20:13:08 +00:00
Jeff Gaston a92b602b4b Merge "Use the Finder's results for faster searching" am: 2d71b221cb am: 1b1997c028 am: 285812156b
am: b0839fc05b

Change-Id: Ib9341113134249f2978b2d59b75719e6f58bde02
2017-08-17 19:59:06 +00:00
Jeff Gaston b0839fc05b Merge "Use the Finder's results for faster searching" am: 2d71b221cb am: 1b1997c028
am: 285812156b

Change-Id: I72fc55c1f915ae798fce870c1cdb50a22e9416e3
2017-08-17 19:55:35 +00:00
Jeff Gaston 1b1997c028 Merge "Use the Finder's results for faster searching"
am: 2d71b221cb

Change-Id: I4e78ca9eabeb8259be4a5996d53737719485d9df
2017-08-17 19:48:33 +00:00
Jeff Gaston 2d71b221cb Merge "Use the Finder's results for faster searching" 2017-08-17 19:40:56 +00:00
Colin Cross 4a18f97b9d Merge "Sort files in directories passed to jar" am: 966ed15a1d am: 604a2423b6 am: da54a77928
am: 18c92897a7

Change-Id: I59d5bcd8557bac4ff176c3354dab556254ca3b85
2017-08-17 01:20:13 +00:00
Colin Cross 18c92897a7 Merge "Sort files in directories passed to jar" am: 966ed15a1d am: 604a2423b6
am: da54a77928

Change-Id: I5cc539e58d655dbd1730acd368ad98071079a57d
2017-08-17 01:06:44 +00:00
Colin Cross 604a2423b6 Merge "Sort files in directories passed to jar"
am: 966ed15a1d

Change-Id: If01ba7d294e4308a28580b157b9efdb6c860bb35
2017-08-17 01:00:13 +00:00
Colin Cross 128800f2c8 Sort files in directories passed to jar
jar -C <dir> . produces a jar containing files in filesystem order,
which can vary between builds.  Manually find and sort the list of
files, and convert them into a list of -C <dir> <file> pairs.

Fixes: 64634025
Test: m -j checkbuild
Test: m -j out/target/product/sailfish/system/framework/ext.jar, check
      that entries are sorted
Test: m -j out/target/product/generic_arm64/system/framework/ext.jar on mac
Change-Id: I7dced6acbe621a60cd49daf17872941485602732
2017-08-16 13:37:00 -07:00
bohu e5e0742444 emualtor: keep libopenjdkjvmti*.so on sdk images
BUG: 38353037

Those libopenjdkjvmti*.so files are needed by profilers.
Those files are shipped on real devices as well.

Change-Id: Iac7dd2844b0f3ea5194dec8732fbaacf53c4bf4a
2017-08-13 22:31:53 -07:00
Jeff Gaston 4e3ea546d7 Use the Finder's results for faster searching
Bug: 64363847
Test: m -j

Change-Id: Ie0905d8c5c54cd4c0c3b3edda6c3f1c4135ed7ed
2017-08-10 18:43:00 -07:00
Alexey Polyudov 19e0320ccb build: aux: Fix link type checking for AUX builds
AUX build environent is volatile and is only instantiated in
a context of AUX-aware module.
link-type checking is happening outside such context, and
is not able to correctly determine AUX build dependencies.

1. Save enough of context in LINK_TYPE variable;
   Use AUX-<variant-name> instead of AUX
2. Load correct set of AUX meta build vars before
   building link_type rules

Bug: 62060489
Test: make auxiliary

build no longer tries to access "/STATIC_LIBRARIES" path

Change-Id: I9764d4a0740da1c55a6f8429398872fc4362942c
(cherry picked from commit 55ebe631b4)
2017-08-04 12:45:02 -07:00
Alexey Polyudov f53b7b79c4 Merge "build: aux: Fix link type checking for AUX builds" am: 1e8c34b95f am: 7ed81ccadd
am: 1101804ca8

Change-Id: Ifb15bb2bdf5441e4e67f3009b956516b8c4a5b1d
2017-08-01 23:18:59 +00:00
Alexey Polyudov 7ed81ccadd Merge "build: aux: Fix link type checking for AUX builds"
am: 1e8c34b95f

Change-Id: Icc2581867c1adad52b29d3ca7c68f08c89a906c0
2017-08-01 22:57:52 +00:00
Alexey Polyudov 55ebe631b4 build: aux: Fix link type checking for AUX builds
AUX build environent is volatile and is only instantiated in
a context of AUX-aware module.
link-type checking is happening outside such context, and
is not able to correctly determine AUX build dependencies.

1. Save enough of context in LINK_TYPE variable;
   Use AUX-<variant-name> instead of AUX
2. Load correct set of AUX meta build vars before
   building link_type rules

Bug: 62060489
Test: make auxiliary

build no longer tries to access "/STATIC_LIBRARIES" path

Change-Id: I9764d4a0740da1c55a6f8429398872fc4362942c
2017-08-01 13:37:35 -07:00
Mathieu Chartier 7f7faa1bea Add product system server compiler filter property
The product only needs to specify
PRODUCT_SYSTEM_SERVER_COMPILER_FILTER. This determines what compiler
filter system server jars are compiled with.

(cherry picked from commit 6a90210c62)

Test: update marlin device
Test: make and look at services.odex

Bug: 62356545

Merged-In: Id51726ae03576d7b4eb784b861158bb451c39deb
Change-Id: Id51726ae03576d7b4eb784b861158bb451c39deb
2017-07-28 19:41:34 -07:00
Mathieu Chartier 954551bb24 Merge changes Ic89cc4c0,I189cd144,Id51726ae,I8b777c88,Ia4573464, ...
am: dce396a70f

Change-Id: Id0d0ec4bc219b8fc0ce8b7bd13868d236b865153
2017-07-29 00:07:32 +00:00
Mathieu Chartier 6228ec2d07 Add product system server compiler filter property
The product only needs to specify
PRODUCT_SYSTEM_SERVER_COMPILER_FILTER. This determines what compiler
filter system server jars are compiled with.

(cherry picked from commit 6a90210c62)

Test: update marlin device
Test: make and look at services.odex

Bug: 62356545

Merged-In: Id51726ae03576d7b4eb784b861158bb451c39deb
Change-Id: Id51726ae03576d7b4eb784b861158bb451c39deb
2017-07-28 11:17:17 -07:00
Jeff Gaston c1d097ccab Merge "Update to latest jacoco usage" am: 483fae7430 am: 6264b662f3 am: 7ce0d9c1e7
am: a72da88c31

Change-Id: Ifba3d8ecec0aad8065f51525e68c3e2a7b6631fd
2017-07-17 20:55:14 +00:00
Jeff Gaston a72da88c31 Merge "Update to latest jacoco usage" am: 483fae7430 am: 6264b662f3
am: 7ce0d9c1e7

Change-Id: Id57cc47edc61a7e30dc4fcf4f113ee9ce85a4b7f
2017-07-17 20:52:40 +00:00
Jeff Gaston 6264b662f3 Merge "Update to latest jacoco usage"
am: 483fae7430

Change-Id: Ibc94d5ba6db7690441825dd655b6cb26d989b78d
2017-07-17 20:44:10 +00:00
Dan Willemsen 545c356675 Merge "Enable missing dependency checks" 2017-07-15 04:18:34 +00:00
Jeff Gaston 3cf0c95502 Enable SKIP_BOOT_JARS_CHECK by default when instrumenting
Bug: 36792868
Test: make -j EMMA_INSTRUMENT=true
Change-Id: I8f52418c97adc67c4c0a02ef8e2b84be620a6aee
2017-07-14 13:04:05 -07:00
Jeff Gaston aaae43cd24 Update to latest jacoco usage
Bug: 36792868
Test: EMMA_INSTRUMENT_STATIC=true m -j

Change-Id: I419b543283b52be9a72f5c6b10e4cbea68782174
2017-07-14 13:04:05 -07:00
Narayan Kamath b945982cb3 Merge "main.mk: Set dalvik.vm.stack-trace-dir" 2017-07-04 11:29:38 +00:00
Dan Willemsen de05f89bd3 Enable missing dependency checks
With this enabled, we'll check the entire build graph for missing
dependencies -- even if you don't need to build the module. So it'll
present more errors, but surface them earlier.

These can be turned off manually with an environment variable if the
branch is expected to have missing dependencies:

  ALLOW_MISSING_DEPENDENCIES=true
  SOONG_ALLOW_MISSING_DEPENDENCIES=true   (previous method)

That will be set automatically when using 'mm', which doesn't load the
entire build graph. It will also be set when using 'tapas' to build
unbundled apps, since those are usually on reduced branches.

This provides better error messages when a library is missing:

system/core/init/Android.mk: error: init_tests (NATIVE_TESTS android-arm64) missing libinit (SHARED_LIBRARIES android-arm64)
Available variants:
  libinit (STATIC_LIBRARIES android-arm64)
  libinit (STATIC_LIBRARIES android-arm)
You can set ALLOW_MISSING_DEPENDENCIES=true in your environment if this is intentional, but that may defer real problems until later in the build.
system/core/init/Android.mk: error: init_tests (NATIVE_TESTS android-arm) missing libinit (SHARED_LIBRARIES android-arm)
Available variants:
  libinit (STATIC_LIBRARIES android-arm64)
  libinit (STATIC_LIBRARIES android-arm)
You can set ALLOW_MISSING_DEPENDENCIES=true in your environment if this is intentional, but that may defer real problems until later in the build.
build/core/main.mk:852: error: exiting from previous errors.

instead of:

ninja: error: 'out/target/product/generic_arm64/obj/SHARED_LIBRARIES/libinit_intermediates/export_includes', needed by 'out/target/product/generic_arm64/obj/NATIVE_TESTS/init_tests_intermediates/import_includes', missing and no known rule to make it

Bug: 37572490
Test: Manually introduce errors, check for expected output
Test: multiproduct_kati, no new breakages
Change-Id: I5847f813045929813214137403c499b44ef67907
2017-06-23 23:39:58 +00:00
Mathieu Chartier 6a90210c62 Add product system server compiler filter property
The product only needs to specify
PRODUCT_SYSTEM_SERVER_COMPILER_FILTER. This determines what compiler
filter system server jars are compiled with.

Test: update marlin device
Test: make and look at services.odex

Bug: 62356545

Change-Id: Id51726ae03576d7b4eb784b861158bb451c39deb
2017-06-23 13:20:47 -07:00
Dimitry Ivanov a7955c286e Enable linker warning toast for userdebug/eng builds
am: 7caea14111

Change-Id: I292da7d7d6b9f85a4108e8150a5e032fd5833e0a
2017-06-23 00:35:35 +00:00
Dimitry Ivanov 7caea14111 Enable linker warning toast for userdebug/eng builds
We did not want this to appear for dogfood devices before
because it was noisy, most of popular apps fixed this
problem and it should be much less noisy.

Bug: http://b/62455348
Test: make
Change-Id: Icd28e9ef87f2d1edf456d178741c67ef42670ae1
2017-06-22 14:53:10 -07:00
Jiyong Park 3487a6127d Merge "Add LOCAL_OVERRIDES_MODULES" am: f1610d82f9
am: 9089f867d4

Change-Id: I3966676c72a0bb734da8c71765fc900fcfe85eb9
2017-06-22 04:56:12 +00:00
Treehugger Robot f1610d82f9 Merge "Add LOCAL_OVERRIDES_MODULES" 2017-06-22 04:49:41 +00:00
Narayan Kamath fbba7fe063 main.mk: Set dalvik.vm.stack-trace-dir
... instead of dalvik.vm.stack-trace-file. Turns on the new
stack dumping scheme. Each dump is now output to a separate file.

Bug: 32064548
Test: Manual, unit tests included in other components.
Change-Id: I762b09148786e8533fd285d5bae0121ed46dfbe0
2017-06-06 14:33:02 +01:00
Jeff Gaston a236fa5d12 Merge "Add blueprint_tools as default target" am: 81787c1bbc am: 2cbed51e36
am: 61510fa696

Change-Id: I0c368aa1a12a8c670e2a459c7c7883f733608772
2017-05-30 19:45:52 +00:00
Jeff Gaston 143f2b1fe5 Add blueprint_tools as default target
Bug: 38351765
Test: rm out -rf && m -j && stat out/soong/host/*/bin/bpfmt

Change-Id: I60ededa1b13fb575616162d6dc1b0b8159f97f20
2017-05-26 17:12:40 -07:00
Dan Willemsen 118ceaea9a Merge changes I73787aff,I0d149812 am: 64caaf4679 am: 060e215f84
am: 6106d440c1

Change-Id: I509ee75ca9ee6c8dcacb839103d499bfe790dd23
2017-05-26 22:16:34 +00:00
Dan Willemsen 562baccae8 Remove the rest of showcommands, dist goal
showcommands is all handled in soong_ui, make/kati/ninja never see the
argument.

Remove the dist goal, since we'll never pass it to ninja, only to Kati
as a modifier.

Remove DUMP_%, since that's not used anywhere (it appears to be in our
code search via the NDK build system)

Test: m -j showcommands dist
Change-Id: I0d1498128caece685e98c2c2b5b0c3f545da0e11
2017-05-26 12:57:04 -07:00
Michael Schwartz d1dd861eda Merge "Add ro.treble.enabled" into oc-dev
am: 84cbb4e903

Change-Id: Ic5120885ae16d5ed4c53dd3935e370fa5b0d7d05
2017-05-24 21:45:56 +00:00
Dan Willemsen 50ecd4abf2 Merge "Move dataclean and installclean to soong_ui" am: 5d80b734f2 am: 303a902ac6
am: 5851c47ec0

Change-Id: I4b40be30baeb9a8f557c1900fc9e096f2fc0c1b3
2017-05-23 22:48:42 +00:00
Treehugger Robot 5d80b734f2 Merge "Move dataclean and installclean to soong_ui" 2017-05-23 22:32:34 +00:00
Michael Schwartz c4aa482501 Add ro.treble.enabled
Allow users to determine PRODUCT_FULL_TREBLE at runtime.

Bug: 36814984
Test: m -j sailfish and getprop ro.treble.enabled
Change-Id: I58515b1b3742062ae49358ed32bb02a5977e865d
2017-05-22 09:16:41 -07:00
Steven Moreland 841508562d Merge "Add soong variable for PRODUCT_FULL_TREBLE." am: ec0dec8599 am: 7c318e8914
am: 094743b773

Change-Id: I3e44906669e251241b94029087040bdeab49c662
2017-05-20 00:19:34 +00:00
Steven Moreland f32645f1f4 Add soong variable for PRODUCT_FULL_TREBLE.
Required to preserve sane defaults for old codebases.

Test: inspect soong.variables
Test: ensure PRODUCT_SHIPPING_API_LEVEL is set in config.mk
Bug: 38415912
Merged-In: I0244fb02754663be3106391c9360fd1b2cc00d4a
Change-Id: I0244fb02754663be3106391c9360fd1b2cc00d4a
2017-05-19 15:54:18 -07:00
Steven Moreland 2b32469c47 Add soong variable for PRODUCT_FULL_TREBLE.
Required to preserve sane defaults for old codebases.

Test: inspect soong.variables
Test: ensure PRODUCT_SHIPPING_API_LEVEL is set in config.mk
Bug: 38415912
Change-Id: I0244fb02754663be3106391c9360fd1b2cc00d4a
2017-05-18 17:16:09 -07:00
Dan Willemsen 0f2ab46038 Move dataclean and installclean to soong_ui
This can be a little faster, but also means that we don't need to call
kati/ninja twice when we need to handle the automatic installclean.

Test: m -j installclean
Test: m -j dataclean
Change-Id: I8f5e5544bcf30c58bf9abee30a37256cb18436ac
2017-05-18 13:42:40 -07:00
Dan Willemsen e74e77fe01 Merge changes from topics 'soong_ui_installclean', 'soong_ui_version', 'soong_ui_clean' am: 212c418ee7 am: 39187e8882
am: c6f9429171

Change-Id: Iedcb0edf8d51ac18ddbfaa25e36e2a6a25299912
2017-05-16 18:16:39 +00:00
Dan Willemsen 3eb44160e0 Move version checking to soong_ui
This removes versions_checked.mk that caused kati to regenerate the
ninja file 3 times for a clean out directory. Kati needs to regenerate
every time that we write a file that we also read. soong_ui doesn't have
this problem.

Bug: 35970961
Test: m clean; m -j blueprint_tools; m -j blueprint_tools; m -j blueprint_tools
Test: $OUT_DIR/versions_checked.mk no longer exists
Change-Id: I14b67dc275ea3daa77a7315c2985dc73d77fd07c
2017-05-15 14:02:38 -07:00
Dan Willemsen bd8ac3284d Move clean/clobber to soong_ui
So that we don't have to load up all the makefile state just to remove
the output directory.

Starting from a completely empty out directory:
 kati:    16s
 soong_ui: 2.0s

From a minimal out directory (m -j blueprint_tools):
 kati:     3.8s
 soong_ui: 0.4s

Test: m -j clean
Test: m -j clobber
Change-Id: Iec1ce032c7cc7ed102430080e857fc421b66309c
2017-05-15 14:02:38 -07:00
Colin Cross b16f288bee Make javac checkbuilds match jack
Building all java to dex is very slow.  Make javac checkbuilds act
like jack checkbuilds and only build to class files for unused
modules, and add a java-dex target that can be used to build
everything to dex.

Bug: 33105206
Test: m -j checkbuild
Change-Id: Idcf9c9e0223b9dd88aaa53beb0cb50a230034b0f
Merged-In: Idcf9c9e0223b9dd88aaa53beb0cb50a230034b0f
(cherry picked from commit 9eff830fa2)
2017-05-03 12:42:20 -07:00
Colin Cross 5730186686 Merge "Make javac checkbuilds match jack" am: cb8077df16 am: 9f1e58aab9
am: 2e2758b69d

Change-Id: I7d62da41492c2a4aae39d5f29b9b6086be9f58e6
2017-05-02 23:10:30 +00:00
Treehugger Robot cb8077df16 Merge "Make javac checkbuilds match jack" 2017-05-02 22:56:38 +00:00
Steven Moreland 9a1ba2e8b1 Merge "Allow PRODUCT_FULL_TREBLE_OVERRIDE to be false." am: 0f56f197fa am: 05e43e6005
am: 28a13d0d9e

Change-Id: I72ed2d7ebbd7077d2377b4f0aa44ee8b0203cf56
2017-05-02 16:57:06 +00:00
Treehugger Robot 0f56f197fa Merge "Allow PRODUCT_FULL_TREBLE_OVERRIDE to be false." 2017-05-02 16:45:36 +00:00
Steven Moreland 3a0afa7f57 Allow PRODUCT_FULL_TREBLE_OVERRIDE to be false.
Devices which are not Android phones may want to set
PRODUCT_FULL_TREBLE_OVERRIDE (and therefore
PRODUCT_FULL_TREBLE) to false.

Test: confirm expected values when putting in expected values of:
  PRODUCT_FULL_TREBLE_OVERRIDE
  PRODUCT_SHIPPING_API_LEVEL
Fixes: 37869308

Change-Id: If5a383210ea282a3a274e5eba0d32ef6cfebafd0
2017-05-01 18:11:35 -07:00
Jaekyun Seok 9e7eab53c1 Split vendor license notices into vendor partition
Xml files will be generated instead of html files, and then Settings
will generate html file on runtime from xml files of partitions.

Test: build succeeded and tested on sailfish
Bug: 37099941
Merged-In: Id7899381a537b1947cbb6164ed2b4a98492334af
Change-Id: Id7899381a537b1947cbb6164ed2b4a98492334af
(cherry picked from commit 3b7560bf88)
2017-05-01 22:07:50 +00:00
Jaekyun Seok 035a49f301 Split vendor license notices into vendor partition
am: 3b7560bf88

Change-Id: Ib2926d1b97a5bdc9ef59738bd9e993487da0730d
2017-05-01 21:26:51 +00:00
Colin Cross 9eff830fa2 Make javac checkbuilds match jack
Building all java to dex is very slow.  Make javac checkbuilds act
like jack checkbuilds and only build to class files for unused
modules, and add a java-dex target that can be used to build
everything to dex.

Test: m -j checkbuild
Change-Id: Idcf9c9e0223b9dd88aaa53beb0cb50a230034b0f
2017-04-28 13:39:16 -07:00
Jaekyun Seok 3b7560bf88 Split vendor license notices into vendor partition
Xml files will be generated instead of html files, and then Settings
will generate html file on runtime from xml files of partitions.

Test: build succeeded and tested on sailfish
Bug: 37099941
Change-Id: Id7899381a537b1947cbb6164ed2b4a98492334af
2017-04-28 16:29:17 +09:00
Narayan Kamath db37b37afa Merge "Update stale comment for dalvik.vm.stack-trace-file." am: 5b50433f19 am: ba8e91ded3
am: 1898053ffb

Change-Id: Ibd01e7463a69995a31c721c1922a0fb7ce459a14
2017-04-26 08:36:01 +00:00
Narayan Kamath 5b50433f19 Merge "Update stale comment for dalvik.vm.stack-trace-file." 2017-04-26 08:23:49 +00:00
Narayan Kamath d5068605f9 Update stale comment for dalvik.vm.stack-trace-file.
Test: make
Change-Id: Ia14494b146f58937aed203271be340747817519b
2017-04-25 15:41:04 +01:00
Dan Willemsen b50bbcc72a Overridden packages shouldn't install vdex files either
Bug: 37348494
Test: internal marlin, check for WebViewGoogle.vdex
Change-Id: I16469f7d84b972cee5b13aed58f4ec3f995cb83e
Merged-In: I16469f7d84b972cee5b13aed58f4ec3f995cb83e
(cherry picked from commit e224725c95)
2017-04-20 13:34:44 -07:00
Dan Willemsen 4e9e5d526c Merge "Rewrite link type checking" am: e4d92ef568 am: d76aaed983
am: e834d5f059

Change-Id: I02342b80077a7e1e36e61d1f9384d3b104a982c1
2017-04-20 15:15:19 +00:00
Dan Willemsen b47d4e9cf1 Rewrite link type checking
All the new features are turned off for now, since multiple branches and
products need to be verified before they can be turned on. So everything
should behave the same as today, except for no partition-based
warnings.

Instead of the current link type checks that happen during the build,
run as many as possible immediately after loading all the Android.mk
files. If we're allowing missing dependencies ('mm',
ALLOW_MISSING_DEPENDENCIES, tapas, etc), we'll defer the link type
checks to during the build. If we're not allowing missing dependencies,
we'll produce a better error message to the user about the missing
dependencies.

See core/main.mk for a description of the storage format.

This also remove the partition-based type checking. It hasn't worked all
that well, particularly with ASAN builds. The new VNDK checks will
handle the most pressing cases.

Test: Verify all link_type files and dependencies are the same:
  grep link_type: out/build-aosp_arm64.ninja | sed -E "s/ rule[0-9]+//" | sort
Change-Id: Id643658b9d9e84f99f5db0d526aad88c1f5d3417
2017-04-19 22:41:32 -07:00
Dan Willemsen 21ec75dbbe Merge "Overridden packages shouldn't install vdex files either" am: 01f4e20172 am: 5a8b1617ae
am: e78154614c

Change-Id: Iba7acc968fb9da65a418d3d94a8a50b9b3232bde
2017-04-15 00:28:52 +00:00
Dan Willemsen e224725c95 Overridden packages shouldn't install vdex files either
Bug: 37348494
Test: internal marlin, check for WebViewGoogle.vdex
Change-Id: I16469f7d84b972cee5b13aed58f4ec3f995cb83e
2017-04-14 13:33:58 -07:00
Jaekyun Seok 1b2242895e Use product-based inclusive rule for enforcing RRO
Board-based rule can cause unexpected regression because build-time overlays
are different among products. So each product should be tested with its own
product-based rule considering its build-time overlays before applying
enforcing RRO.

Additionally RRO conversion is mandatory only for overlays of which target is
included in AOSP system image and is critical for CTS/VTS tests with AOSP
system image. So inclusive rule is more suitable instead of exclusive rule
to avoid unexpected regression due to unnecessary RRO conversion.

Note that we still support conversion for all the overlays by specifying
PRODUCT_ENFORCE_RRO_TARGETS as "*".

Test: building succeeded and tested with auto-generated RROs.
Bug: 36231603
Change-Id: I8e1d701d4f78b818c89ef3e7638110105370c5bc
(cherry picked from commit 2a209997e8)
2017-04-04 11:31:24 +09:00
Jaekyun Seok 2a209997e8 Use product-based inclusive rule for enforcing RRO
Board-based rule can cause unexpected regression because build-time overlays
are different among products. So each product should be tested with its own
product-based rule considering its build-time overlays before applying
enforcing RRO.

Additionally RRO conversion is mandatory only for overlays of which target is
included in AOSP system image and is critical for CTS/VTS tests with AOSP
system image. So inclusive rule is more suitable instead of exclusive rule
to avoid unexpected regression due to unnecessary RRO conversion.

Note that we still support conversion for all the overlays by specifying
PRODUCT_ENFORCE_RRO_TARGETS as "*".

Test: building succeeded and tested with auto-generated RROs.
Bug: 36231603
Change-Id: I8e1d701d4f78b818c89ef3e7638110105370c5bc
2017-03-31 07:11:09 +09:00
Jaekyun Seok 39f97ae22a Enforce RROs for all the build-time ROs
This CL is to generate every static RRO package for its target package
automatically at build-time.

BOARD_ENFORCE_RRO build variable is added to specify whether enforcing
RRO is required or not.

BOARD_ENFORCE_RRO_EXEMPT_SOURCES build variable is added to specify
the module list of which item should be exempt from enforcing RRO.

Test: tested on bullhead and sailfish
Bug: 34097942
Change-Id: I455b2ce34e66c57a540c299b5e378b7c4e78d5b8
(cherry picked from commit 3070610b72)
2017-03-30 10:43:38 +09:00