Commit Graph

1399 Commits

Author SHA1 Message Date
Treehugger Robot c12f1084c0 Merge "Moving $OUT/vendor-ramdisk-debug.cpio.lz4 to intermediate dir" 2021-01-24 14:53:43 +00:00
Treehugger Robot 75c4e3483f Merge "Concat INTERNAL_*IMAGE_FILES into INTERNAL_ALLIMAGES_FILES" 2021-01-21 00:28:02 +00:00
Bowgo Tsai 7ac96037c3 Moving $OUT/vendor-ramdisk-debug.cpio.lz4 to intermediate dir
vendor-ramdisk-debug.cpio.lz4 will be packed into a
vendor_boot-debug.img and usually won't be flashed directly.

Moving it to the intermediate build directory.

Bug: None
Test: make vendorbootimage_debug
Change-Id: I86ea72c7a3484a90286139624408d07ce4bf994c
2021-01-20 22:33:13 +08:00
Treehugger Robot d041e4babf Merge "Make ro.product.cpu.abilist.* to be fetched dynamically" 2021-01-14 18:34:22 +00:00
Martin Stjernholm 23e4ab2edf Merge "Add check that a module doesn't try to override itself." 2021-01-14 10:36:25 +00:00
Jiyong Park f66f0ececc Concat INTERNAL_*IMAGE_FILES into INTERNAL_ALLIMAGES_FILES
As we add more partitions, INTERNAL_*IMAGE_FILES variables has grown
and the places where the variables are referenced had to be touched
everytime. This change introduces a new variable
INTERNAL_ALLIMAGES_FILES which concatnates INTERNAL_*IMAGE_FILES, and
replaces the uses of the variables with the new one.

Bug: N/A
Test: m
Change-Id: I62a0f725a0f6999421d04a6261370be9124e62d7
2021-01-14 11:23:12 +09:00
Jiyong Park 4a693b28e6 jacoco-report-classes-all.jar doesn't depend on fake modules
The reason that the jar file depended on modules_to_install was to
collect files from other partitions, not just system. It isn't the
intention to gather fake modules like phony modules and more importantly
their dependencies (LOCAL_REQUIRE_MODULES). This change explicitly
filters out the fake modules to make the intent clearer.

In fact, the jar file depending on fake modules can have a side effect
that overridden modules are installed. It can happen as follows:

PRODUCT_PACKAGES += A B C

LOCAL_MODULE := A
LOCAL_REQUIRED_MODULES := B
include $(BUILD_PHONY_PACKAGE)

LOCAL_MODULE := B
include $(BUILD_XXX)
...

LOCAL_MODULE := C
LOCAL_OVERRIDES_MODULES := B
include $(BUILD_XXX)

modules_to_install is set to

out/target/product/xxx/fake_packages/A-timestamp
out/target/product/xxx/system/.../C

; B is correctly overridden.

But there still is an order-only dependency from A to B which is created
by add-all-target-to-target-required-modules-deps. Unfortunately,
overridden isn't take into account here.

So, if the jacoco jar file depends on modules_to_install, both B and C
are installed. And if the creation of system.img happens later, the two
are included together, which is an error.

A preferred way of fixing this is to amend
add-all-target-to-target-required-modules-deps so that override is take
into account. However, it will likely to require more Make tricks. This
change takes a much easier path; pruning the fake packages from the
dependencies so that its dependencies which might be wrong can't be
installed.

Bug: 175400393
Test: build/soong/soong_ui.bash --make-mode SKIP_ABI_CHECKS=true
SOONG_COLLECT_JAVA_DEPS=true TARGET_PRODUCT=cf_x86_phone
TARGET_BUILD_VARIANT=userdebug
TARGET_USERDATAIMAGE_PARTITION_SIZE=17179869184 droid dist
DIST_DIR=out/dist EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true
CLANG_COVERAGE=true NATIVE_COVERAGE_PATHS="*"
NATIVE_COVERAGE_EXCLUDE_PATHS="art bionic/libc device"
continuous_instrumentation_tests continuous_native_tests device-tests
platform_tests
No com.android.art.apex in system.img

Change-Id: Ie8a917b7c3985c3a4f19372a4430accd84124e83
2021-01-13 22:12:52 +09:00
Bob Badour 7a95820907 Revert^2 "Rough-in license metadata support to make."
Changed shell script to /bin/sh syntax for portability to mac_os etc.

54066744f0

Change-Id: Ibd472fc1bedfdc228a704108f0280b13ab1c9333
2021-01-06 20:52:43 -08:00
Bob Badour 21bd34fe09 Revert^2 "Add variables for notice deps, license kinds etc."
dcfb9c5ef5

Change-Id: I6a60f55ab0e7013061a695cb1b7c5ffde29577dd
2021-01-06 20:46:49 -08:00
Jerome Gaillard dcfb9c5ef5 Revert "Add variables for notice deps, license kinds etc."
Revert "Export soong license data to make."

Revert "Add ability to declare licenses in soong."

Revert submission 1377717-metalics

Reason for revert: This has broken renderscript_mac target for aosp-master, see b/176909442

Reverted Changes:
I26ac54ca9:Define the standard license_kind rules.
I656486070:Export soong license data to make.
If9d661dfc:Export soong license data to make.
I97943de53:Add ability to declare licenses in soong.
Icaff40171:Rough-in license metadata support to make.
Ib8e538bd0:Add variables for notice deps, license kinds etc.

Change-Id: I1f672e6e8ec48f0141bb4b6cc4eb2efed1eeef6b
2021-01-06 19:00:05 +00:00
Jerome Gaillard 54066744f0 Revert "Rough-in license metadata support to make."
Revert "Export soong license data to make."

Revert "Add ability to declare licenses in soong."

Revert submission 1377717-metalics

Reason for revert: This has broken renderscript_mac target for aosp-master, see b/176909442

Reverted Changes:
I26ac54ca9:Define the standard license_kind rules.
I656486070:Export soong license data to make.
If9d661dfc:Export soong license data to make.
I97943de53:Add ability to declare licenses in soong.
Icaff40171:Rough-in license metadata support to make.
Ib8e538bd0:Add variables for notice deps, license kinds etc.

Change-Id: Iaf2243cba16f6191b022371a14f81ef8194a47d1
2021-01-06 19:00:05 +00:00
Bob Badour 20fc1b3719 Rough-in license metadata support to make.
Change-Id: Icaff40171b94538219a8caa697b182dbdcc8229a
2021-01-05 08:42:48 -08:00
Bob Badour 6421674a39 Add variables for notice deps, license kinds etc.
Change-Id: Ib8e538bd09044a5791083b362d807cd9293833d5
2021-01-05 08:42:48 -08:00
SzuWei Lin baf5c8114b Make ro.product.cpu.abilist.* to be fetched dynamically
The patch rename the original ro.product.cpu.abilist* to
ro.system.product.cpu.abilist*. The property service will
define ro.product.cpu.abilist* by the intersect ABIs of
ro.{partition}.product.cpu.abilist*.

Bug: 176520383
Test: build aosp_arm64-userdebug and check the system/build.prop
Change-Id: I26e404632b28e9f6abd462920e0084ad2022a763
2020-12-31 16:59:27 +08:00
Martin Stjernholm 3839f03b7d Add check that a module doesn't try to override itself.
If that happens it will be left out entirely.

It would be nice to catch this on the Soong level, but there are
several separate code paths there so this ensures it isn't missed.

Test: `m nothing` with packages/modules/ArtPrebuilt/Android.bp that
  had this mistake
Bug: 172480615
Change-Id: I2d31679b2ca5b57bf14f35703c10093275209890
2020-12-18 17:38:06 +00:00
Anton Hansson e47d6e4a8c Merge "Add make support for Aml_abis and Ndk_abis options" 2020-12-16 11:38:49 +00:00
Anton Hansson 5e05b8ef31 Add make support for Aml_abis and Ndk_abis options
Add a new TARGET_ARCH_SUITE which, when set to 'mainline_sdk' or 'ndk',
sets `Aml_abis: true` in soong.variables.

This is required to enable removing the custom soong.variables that
are being maintained for the ndk and mainline sdk builds.

Bug: 174315599
Test: TARGET_ARCH_SUITE=mainline-sdk m nothing; inspect soong.variables
      (ditto for ndk)
Change-Id: Ib651a637457310270840d721cdccf50bede3ee58
2020-12-15 12:46:46 +00:00
Treehugger Robot dec924e081 Merge "Revert^2 "Always turn on compatible property"" 2020-12-15 12:00:10 +00:00
Anton Hansson fae0f97114 Move artifact path requirement logic to a separate file
main.mk was a bit cluttered/difficult to follow wth all the indents. Put
the logic in a separate file instead.

Test: m nothing
Change-Id: I545bcd117a6bcd33b520ad279be1bab9b2d89393
2020-12-08 21:13:00 +00:00
Anton Hansson cd8fa36cbb Move rule for certificate_violation_modules.txt
It was in the middle of some other logic in main.mk

Put it in Makefile instead next to the other "information" dist txt
files.

Test: make and diff certificate_violation_modules.txt
Change-Id: I5b73a0f89ccf3de69e7608a0568d2b4b6f37e98c
2020-12-08 21:12:36 +00:00
Petri Gynther 6ff5201ce9 Add installed-files-vendor-ramdisk.txt
Add installed-files-vendor-ramdisk.txt build artifact, so that it is
easy to see what files landed on the vendor ramdisk.

Test: clean build, inspect installed-files-vendor-ramdisk.txt
Change-Id: Ie84d06dc968ad972ab2bfa79db4d1839ba09e09f
2020-11-20 16:59:57 -08:00
Inseob Kim 2e88158571 Revert^2 "Always turn on compatible property"
This reverts commit facfb54ee4.

Reason for revert: Fixed broken targets

Change-Id: Ia713b08cf15fd356494984964a1e61eaa9991266
2020-11-19 09:48:49 +00:00
Inseob Kim facfb54ee4 Revert "Always turn on compatible property"
This reverts commit 9994e96c7d.

Reason for revert: broken targets on the internal branch

Change-Id: Ic440fb1ca6ae5774a1d51e8fe1f3724426511841
2020-11-18 11:04:17 +00:00
Yifeng Zeng 154ff7ebc8 Copy generated $(PRODUCT_OUT)/module-info.json file to dist when SOONG_COLLECT_JAVA_DEPS flag is set.
Test: build/soong/soong_ui.bash --make-mode SKIP_ABI_CHECKS=true SOONG_COLLECT_JAVA_DEPS=true TARGET_PRODUCT=aosp_cf_x86_phone TARGET_BUILD_VARIANT=userdebug droid dist DIST_DIR=/usr/local/google/home/yifengzeng/temp EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true CLANG_COVERAGE=true NATIVE_COVERAGE_PATHS="*" NATIVE_COVERAGE_EXCLUDE_PATHS="art bionic/libc device"

Bug: 168755196
Change-Id: I2b54d7cd1aaef1068ed5dfe35bfc4a8525b2e968
2020-11-18 03:34:01 +00:00
Inseob Kim 9994e96c7d Always turn on compatible property
It's mandatory for devices launching with Android P or later.
Some makefiles still depend on PRODUCT_COMPATIBLE_PROPERTY, so rather
than aggressively removing all codes, this forces
PRODUCT_COMPATIBLE_PROPERTY to be true.

Bug: 170082975
Test: m
Change-Id: I49dab8d573c21781e6295a8581a5ad2944e165d7
2020-11-17 10:00:40 +00:00
Yo Chiang 544b5568db Merge "Fix missing required dependency caused by circular dependency" 2020-11-11 03:43:56 +00:00
Treehugger Robot 6ca8eef673 Merge "Create a new test zip for hostside unittest" 2020-11-07 04:53:10 +00:00
Dan Shi 705d652767 Create a new test zip for hostside unittest
Bug: 172006742
Test: m
Change-Id: Idb82b508d3c49d19f1a76de4311bc0616e1ffa49
2020-11-06 23:00:11 +00:00
Artur Satayev a97b43e4bd Revert^2 "Add a check for apex/allowed_deps.txt to droidcore."
67e8be4b9c

Test: presubmit
Change-Id: I5695dd1003386191dbbe0ea511ef5b615d0d5e4e
Merged-In: I5695dd1003386191dbbe0ea511ef5b615d0d5e4e
(cherry picked from commit 0efeca6a25)
2020-11-03 17:49:30 +00:00
Yo Chiang e73c5a074d Fix missing required dependency caused by circular dependency
Fix a bug where if module A requires module B, and for whatever reason
module A and B have some common installed files, then all required
dependencies of the common files would be lost.

For example:
```
 # A requires B
ALL_MODULES.A.INSTALLED := a
ALL_MODULES.B.INSTALLED := a b
```

Right now the build system wouldn't generate any dependency for `a`.
However the correct behavior should be: `a` has a order-only dependency
on `b`.

Bug: 157444528
Test: Check generated build-*.ninja
Change-Id: Iec60231f6597ec46077393d1defa109b9c07b208
2020-10-29 10:48:17 +00:00
Dan Shi 0b8473591c Merge "Package host shared lib for art-host-tests" 2020-10-22 17:39:58 +00:00
Dan Shi cb8655c3b9 Package host shared lib for art-host-tests
Bug: 169111770
Test: m art-host-tests
Change-Id: Ic5a9740977cd9a1f6bdfbbfef81116f7a3cf5e8a
2020-10-21 21:28:34 -07:00
Tianjie 6bd3b1a7f1 Generate partial ota update package if the board defines it
Many partners have asked for platform support of system-only update.
So we config cuttlefish as an example to support the partial ota
updates. Also make such package available on the build server.
This allows continuous test to ensure the e2e update flow is working.

Bug: 170921953
Test: generate & apply a partial update, check output in presubmit
Change-Id: I79d0abeb1b2be18e6ff88f0455b6de6540a37794
2020-10-20 15:17:33 -07:00
Yifan Hong c75a3c5434 Merge "Add <ramdisk>/system/etc/ramdisk/build.prop." 2020-10-12 18:37:43 +00:00
Yifan Hong 33fd5d4277 Add <ramdisk>/system/etc/ramdisk/build.prop.
Add a build.prop file for ramdisk. Properties uses the
name ro.[product.]bootimage*.

These ro.[product.]bootimage.* properties are also included in recovery
properties.

The file is installed to system/etc/ramdisk/build.prop under ramdisk.

On devices with dedicated recovery partition, the file is
installed to ramdisk/, which is installed to the ramdisk in the boot
image. The file is NOT installed to recovery/root to prevent
collision.

On devices with recovery_as_boot, in addition to ramdisk/, it is also
installed to recovery/root, which is installed to the ramdisk in the
boot image.

Test: m bootimage and inspect output
Bug: 169169031
Bug: 162623577
Bug: 170411692
Bug: 170364317

Change-Id: Ica6515b2a4e0f4a7fe4440434a3d7085fde64387
2020-10-09 00:48:37 +00:00
Yifan Hong fa1349600e Merge "Revert "Add timestamp to ramdisk."" 2020-10-08 22:28:43 +00:00
Yifan Hong 0bbbc93c31 Revert "Add timestamp to ramdisk."
This reverts commit 7a532ab1e9.

Reason for revert: conflicts with device-specific sepolicy

Bug: 170364317
Bug: 170411692
Change-Id: I9e7094e5f7be6f2c53ed27c658530370d794a5e2
2020-10-08 22:14:44 +00:00
Treehugger Robot 396b0a2074 Merge "Add timestamp to ramdisk." 2020-10-08 03:50:37 +00:00
Yifan Hong 7a532ab1e9 Add timestamp to ramdisk.
Add a build.prop file for ramdisk. Properties uses the
name ro.[product.]bootimage*.

These ro.[product.]bootimage.* properties are also included in recovery
properties.

The file is installed to boot/etc/build.prop under ramdisk.

On devices with dedicated recovery partition, the file is
installed to ramdisk/, which is installed to the ramdisk in the boot
image. The file is NOT installed to recovery/root to prevent
collision.

On devices with recovery_as_boot, in addition to ramdisk/, it is also
installed to recovery/root, which is installed to the ramdisk in the
boot image.

Test: m bootimage and inspect output
Bug: 169169031
Bug: 162623577

Change-Id: I94b993ce3214356036d038b6db57c4e1b755c111
2020-10-06 16:10:38 -07:00
Yifeng Zeng d17bffd01f Copy generated $(SOONG_OUT_DIR)/module_bp_java_deps.json file to dist when SOONG_COLLECT_JAVA_DEPS flag is set.
Test: build/soong/soong_ui.bash --make-mode SKIP_ABI_CHECKS=true SOONG_COLLECT_JAVA_DEPS=true TARGET_PRODUCT=aosp_cf_x86_phone TARGET_BUILD_VARIANT=userdebug droid dist DIST_DIR=/usr/local/google/home/yifengzeng/temp EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true CLANG_COVERAGE=true NATIVE_COVERAGE_PATHS="*" NATIVE_COVERAGE_EXCLUDE_PATHS="art bionic/libc device" tests

Bug: 168755196
Change-Id: Id13d3a4579734bc70bc0ce3463a05ee9a052f1dc
2020-09-28 23:16:51 +00:00
Yifan Hong 4e501b58b8 Merge "Revert "Add modules partition."" 2020-09-16 22:45:54 +00:00
Yifan Hong c08cbf0f4a Revert "Add modules partition."
Revert submission 1413808-modules_partition

Reason for revert: modules partition no longer needed
Reverted Changes:
Iceafebd85:Add modules partition
I2fa96199a:rootdir: Add modules directory
Ie397b9ec6:Add modules partition.
I4200d0cf5:fastboot: add modules partition

Bug: 163543381

Change-Id: Iec1d9421bbfeb114fb705f85d910c6def1f211b6
2020-09-15 19:09:26 +00:00
Treehugger Robot 53a80be100 Merge "HOST_CROSS_OS/ARCH can be configured to linux_bionic/arm64" 2020-09-14 03:41:47 +00:00
Yifan Hong b1e66600c0 Merge "Add modules partition." 2020-09-11 00:25:24 +00:00
Yifan Hong c0f187f5f9 Add modules partition.
Modules partition is a dynamic read-write partition.
- AVB is not enabled on the partition
- OTA is file-based; see follow up CL for details
- No build prop files; in particular, no build fingerprint
- No fs_config
- No notice files; notice files are included in individual APEXes

Test: build on CF
Bug: 163543381

Change-Id: Ie397b9ec61dfd1c158450d050196024604854d4d
2020-09-09 15:00:02 -07:00
Jiyong Park e80c45f6ac HOST_CROSS_OS/ARCH can be configured to linux_bionic/arm64
Previously, HOST_CROSS_OS/ARCH were fixed to windows/x86. This change
makes the setting configuration and adds the support for new OS/ARCH
combo: linux_bionic/arm64.

linux_bionic is the Linux-based host target that uses Bionic (instead of
glibc) as libc. Previously, it supported only x86_64 and the x86_64
target was NOT configured via Make, but directly via editing
soong.variables file. Now, the support for arm64 is being added in the
Soong side and this change makes it possible to configure the target via
Make.

The new HOST_CROSS_OS/ARCH combo will be used for building the host-side
tools (adb, crosvm, etc.) for running Cuttlefish natively on Linux/ARM
hosts.

Bug: 159685774
Test: HOST_CROSS_OS=linux_bionic HOST_CROSS_ARCH=arm64 m nothing

Change-Id: I6b8ed8f7e26908749bbe778fbdcc34cfbde68179
2020-09-09 17:38:25 +09:00
Colin Cross b7c32f9021 Merge changes I3aa24904,I1f942dc0,If51d0f53,Ie27bdbd2 am: b9d0a2d4d5
Original change: https://android-review.googlesource.com/c/platform/build/+/1414178

Change-Id: I2b847ec608567e0125586ccf02cc1b16d9ebe645
2020-09-03 17:11:02 +00:00
Colin Cross e0dbbd4e9e Remove target-files-package from PARSE_TIME_MAKE_GOALS
It isn't doing anything useful that would be necessary to reparse the
Makefiles for.

Test: m target-files-package
Change-Id: I3aa2490480de8dbe0e57fe36221088c3f18017cb
2020-09-02 23:16:28 +00:00
Xin Li c2fd58fe67 Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: Ie00dbea32e074838466eeed00f316250c2b4f3c2
Change-Id: I9ee3441fd4d063b9dd489cb1b01d3dbc11332457
2020-08-29 01:19:44 -07:00
Jaewoong Jung 046702a6ef Deduplicate my_compat_dist entries globally.
Fixes: 164319611
Test: m TARGET_PRODUCT=aosp_x86_64 mts dist
Change-Id: Ie47e355ded0ce0221988a405fc77546a4a752c38
2020-08-27 13:10:40 -07:00