Commit graph

1182 commits

Author SHA1 Message Date
Orion Hodson
70fcf897c5 Update dex2oat filter
verify-at-runtime is deprecated in favor of extract. Update to
stop deprecation warnings during OTAs.

Exempt-From-Owner-Approval: cherry-pick from rvc-dev

Bug: 149794809
Test: manual OTA
Change-Id: I9b8365a1fba5fd18420661a3e6ada77f3609bcc7
Merged-In: I9b8365a1fba5fd18420661a3e6ada77f3609bcc7
(cherry picked from commit db651d5913)
2020-03-30 13:03:47 +00:00
Roopesh Nataraja
11e776fc32 Build DEVICE manifests and fragments for each SKU
Single vendor can support multiple skus with different
capabilities. Add support to define and build sku
based device manifests.

Specify DEVICE manifests in BoardConfig.mk as below.

  # installed to /vendor/etc/vintf/manifest_{sku}.xml
  DEVICE_MANIFEST_SKUS := sku1 sku2 sku3

  DEVICE_MANIFEST_SKU1_FILE := device/foo/bar/manifest_sku1.xml
  DEVICE_MANIFEST_SKU2_FILE := device/foo/bar/manifest_sku2.xml
  DEVICE_MANIFEST_SKU3_FILE := device/foo/bar/manifest_sku3.xml

Bug: 148601741

Change-Id: Id57d4ad21b0d3edf8d60d07446b6b806c1df20ab
2020-03-09 15:09:08 -07:00
Bill Peckham
573f458718 Merge "Don't touch .installable_files for non-FULL_BUILD" 2020-03-05 18:49:48 +00:00
Bill Peckham
7c3aa02ca3 Don't touch .installable_files for non-FULL_BUILD
If we're not doing a full build, leave
$(PRODUCT_OUT)/.installable_files* alone rather
than truncating it. This prevents the clean logic
in Soong from removing everthing that we're trying
to use to build an image using the snod, vnod, etc.
goals.

Bug: 149460609
Test: make droid, make vnod, verify vendor.img
Change-Id: I612e32621b8045d085829507f22f6385b859f0c2
2020-03-04 15:12:52 -08:00
Automerger Merge Worker
87f76601de Merge "Move build number file to out/soong" am: 47b08fbab5
Change-Id: I8561be9fcabc54526fbf5efa48ef32b08f025b96
2020-02-28 20:32:26 +00:00
Colin Cross
d68a88402f Move build number file to out/soong
Move the build number file to out/soong so Soong can treat it
as an output path, and pass the name of the file to Soong instead
of the command to read it.

Test: m checkbuild
Change-Id: I9e1aecf33d11fe4fde34cd57cc9b1f1ad49b0424
2020-02-25 00:06:46 +00:00
Automerger Merge Worker
e1570cb99d Merge "Adding vendor_boot-debug.img" am: 31d4a5aed7
Change-Id: I48f3ded6c5c63aa9a828a529880f0cdb2918f8e2
2020-02-20 04:12:10 +00:00
Bowgo Tsai
6a68367e6e Adding vendor_boot-debug.img
Commit I30137c3caef91805d9143d404e5e4d06c0fccc30 adds boot-debug.img
to allow adb root with an user build GSI image.

  https://source.android.com/compatibility/vts/vts-on-gsi

Another commit I5b005097b73f59857c3a2f92d693b3e67ee8424e adds
vendor_boot.img to pair with a generic kernel image, the GKI boot.img.

To allow adb root for devices using a GKI, vendor_boot-debug.img is
introduced. The image combination used in VTS will be:

    Old devices without GKI:
      GSI system.img + boot-debug.img + vendor.img, etc.

    New devices with GKI:
      GSI system.img + GKI boot.img + vendor_boot-debug.img + vendor.img, etc.

Note that boot-debug.img still can be used on new devices for
non-compliance scenario.

Bug: 147849477
Test: lunch aosp_cf_x86_64_phone-userdebug; make vendorbootimage_debug
Test: `make dist`, checks that both vendor_boot-debug.img and
      vendor-ramdisk-debug.cpio.gz are in $OUT/ and out/dist.
Test: `make dist`, checks that installed-files-vendor-ramdisk-debug.{json,txt} are
       in $OUT/ and out/dist.
Change-Id: I66b662d8b1e5c619ed7bb81e40233fe9df363b27
2020-02-18 13:46:17 +08:00
Vic Yang
64d0b72f81 Merge "Remove unused no_vendor_variant_vndk_check target"
am: 526551f013

Change-Id: Id13c047df6da98ce0ab23b625c1578c2db2d3571
2020-01-28 23:04:41 -08:00
Vic Yang
3ec918d342 Remove unused no_vendor_variant_vndk_check target
This was missed when we moved from a single target for checking all
VNDK libraries to using timestamp files for checking individual VNDK
libraries.

Test: Build success.
Change-Id: I3be19f6755b24fff2446449a9dbc84db9a20ea41
2020-01-28 21:01:38 -08:00
Colin Cross
a8008259f9 Merge "Fix building docs as part of checkbuild"
am: 35e12a7020

Change-Id: I6d3e445979e8d390841d24c01cbf37f8d6a20445
2020-01-28 14:46:48 -08:00
Colin Cross
43e74295e0 Fix building docs as part of checkbuild
s/module_to_check/modules_to_check/

Bug: 118815658
Test: m checkbuild
Change-Id: I53e10747ed404509fd11adb72e641c702e27655b
2020-01-27 11:36:07 -08:00
TreeHugger Robot
2f0743483b Merge "DO NOT MERGE - Merge qt-qpr1-dev-plus-aosp-without-vendor (6129114) into stage-aosp-master" into stage-aosp-master 2020-01-16 18:29:25 +00:00
Yifan Hong
51be69f063 device_(manifest|matrix).xml -> vendor_*
Building device_manifest.xml or device_compatibility_matrix.xml only
builds vendor manifest / matrices, but not all device manifest /
matrices (e.g. vintf_fragments, ODM manifest, etc.). Make the name more
accurate.

Test: m check-vintf-all

Change-Id: Ib017507c421355263d53a9e5b357f169c77da36d
2020-01-14 14:24:51 -08:00
Automerger Merge Worker
cccefb9901 Merge "jacoco-report-classes-all.jar includes jar from other partitions" am: 3801c82e33 am: bf9e4cdd81
Change-Id: I6adf59d2188289165034d7374fe50ad1f32dda54
2020-01-09 01:05:03 +00:00
Jiyong Park
bee946e8eb jacoco-report-classes-all.jar includes jar from other partitions
jacoco-report-classes-all.jar now depends on all installed files
including apks in /apex. Previously, it depended only on files under
system.img and as a result jacoco for other partitions were missing.

Bug: 147296855
Test: m

Change-Id: I755de1205ebc43c197af36a13cca5f4b49e275e8
2020-01-08 14:41:45 +09:00
Automerger Merge Worker
3bbef8f744 Merge "Export list of "installable" files to soong_ui" am: 99202ec0a6 am: 8e080ccefe
Change-Id: I0dd6e68b91057d93f41c47da80749c7dbcb80aea
2020-01-04 05:34:11 +00:00
Dan Willemsen
dec6e8e056 Export list of "installable" files to soong_ui
These are a (partial) list of files that we'd install with a default
build. The idea is that if something is removed from this list, soong_ui
can remove it from the installed location before running ninja.

It's okay if there are things missing from this list, it's not intended
to be a 100% solution replacing installclean / CleanSpec.mk, just
something that handles 80% of the cases without user involvement.

In particular, if something is removed from PRODUCT_PACKAGES, we'll
remove it from disk, but not necessarily rebuild the image files. That's
the same as most use cases of CleanSpec.mk today, and often some other
change will trigger the necessary images to be rebuilt.

We should be able to fix that by changing all of the image creation
rules to depend on the (partial) list of files they care about, or by
fixing ninja to rebuild things when their list of dependencies change.
(Other tools run into this same problem)

The list of test files is also included so that we can remove obsolete
tests from their "installed" locations within test suites and the
testcases folders.

Test: remove a module from PRODUCT_PACKAGES, see the print and file removed
Test: change the name of a cts test, see the old one removed from cts
Change-Id: I67f270a6713369099ca523aaf991ee3beb815c0a
2020-01-03 19:19:11 -08:00
Automerger Merge Worker
4bce5b4f4b Merge "Define ro.product.vndk.version" am: e8139b905d am: a126b69335
Change-Id: If7676e80733b8a4a6b4e958a20f8e9d9e3fcf322
2019-12-25 09:15:53 +00:00
Justin Yun
04e5a40f2c Define ro.product.vndk.version
Use ro.product.vndk.version to show the VNDK version that the product
partition is using.
When PRODUCT_PRODUCT_VNDK_VERSION is set, add ro.product.vndk.version
in /product/build.prop.
If PRODUCT_PRODUCT_VNDK_VERSION is "current", ro.product.vndk.version
will have the VNDK version in PLATFORM_VNDK_VERSION. Otherwise, it
will have the value defined in PRODUCT_PRODUCT_VNDK_VERSION.

Bug: 144534640
Test: Check if /product/build.prop has "ro.product.vndk.version"
Change-Id: If5e7e3a6c155de45f88f68700f16175656896afe
2019-12-24 07:20:43 +00:00
Automerger Merge Worker
3648df452f Merge "Only dist recovery_ramdisk if BOARD_USES_RECOVERY_AS_BOOT" am: 9de27595ec am: de2634bdf0
Change-Id: I9a2d2b6be6992423ae1f8b2117af616dd5b74cce
2019-12-24 00:14:27 +00:00
Daniel Mentz
5a8feb5422 Only dist recovery_ramdisk if BOARD_USES_RECOVERY_AS_BOOT
Bug: 146798070
Change-Id: I9e9d313b8ca097b4930fc2c99800772c6bdcbb9e
2019-12-23 14:08:31 -08:00
Automerger Merge Worker
3ff4bb8205 Merge "Dist ramdisk-recovery.img and misc_info.txt" am: b581214e65 am: aa64af5c71
Change-Id: I3002e62d53c4d21d3dcc26269583782048a1a047
2019-12-23 18:53:38 +00:00
Daniel Mentz
4d6017d519 Dist ramdisk-recovery.img and misc_info.txt
Dist ramdisk-recovery.img and misc_info.txt. This is useful for
re-creating boot.img without having to download a huge target_files zip
file.

Change-Id: I2e1c1d547c95ca3433f89c68428c0c98fa4d19cd
2019-12-23 18:35:17 +00:00
Automerger Merge Worker
069bb10478 Merge changes from topic "runtime_apex_available" am: 982da2812f am: 2320db6261
Change-Id: I99a596b5c6d0393d6976c7231b49a4ef3b67b4cf
2019-12-23 05:06:42 +00:00
Jiyong Park
22195346dd apex-libs-absence checks are removed
The check is implemented in Soong via the apex_available property.
For a module that should be in the APEX named "foo" and shouldn't be in
any other APEX and also in the platform (the non-updatable part), the
property can be set to "foo" (without "//apex_available:platform")
to express the restriction and then Soong will enforce it.

Bug: 128708192
Test: m
Change-Id: Ia1aaaacd685f466447b61deae2849cb0aa83def3
2019-12-23 03:41:59 +00:00
Jiyong Park
be77c453a7 Remove bionic libs from APEX_MODULE_LIBS check
The test was to ensure that bionic libs are not installed to the
non-updatable part of the platform (e.g. system/lib). However, for
bionic libs, we actually have been installing them for bootstrapping.
Specifically, they are installed to /system/lib/bootstrap, not
/system/lib. The test has passed just because it didn't look into
/system/lib/bootstrap. Removing the unnecessary check.

Bug: 128708192
Bug: 133140750
Test: m
Test: m out/target/prduct/$(TARGET_DEVICE)/system/lib/libc.so doesn't
work
Change-Id: I93cbd74972cdd2daea45612136d5133fa49ab76a
2019-12-22 12:25:48 +09:00
Automerger Merge Worker
b84f1489a2 Merge "Use apex_available property" am: 8029967a99 am: d030761781
Change-Id: I980478ff17779ac10f1dbbce26eedb7e69b8c9d1
2019-12-20 07:05:46 +00:00
Jiyong Park
be2aed5529 Use apex_available property
Use apex_available property to prevent modules that are only for the
NN apex from being used outside of the APEX.

Bug: 128708192
Bug: 133140750
Test: m
Change-Id: I57fe857d99088ef08e065dd2a3fc5a9389b6eb0f
2019-12-20 13:18:27 +09:00
Jiyong Park
a4226d1942 Use apex_available property
Use apex_available property to prevent modules that are only for the
conscrypt apex from being used outside of the APEX.

Bug: 128708192
Bug: 133140750
Test: m
Change-Id: I08ca6cd8e5e4a254d9dd62695ee3ed317503d874
2019-12-20 13:13:50 +09:00
Automerger Merge Worker
2b6fdb3dab Revert submission 1194828-revert-1191937-art_apex_available-DWXQGTKMAR am: f8b8c647e4 am: fc07c41a9e
Change-Id: I87209392968251e9c7131be858fc1b580ee60e30
2019-12-20 01:42:59 +00:00
Jiyong Park
f8b8c647e4 Revert submission 1194828-revert-1191937-art_apex_available-DWXQGTKMAR
Reason for revert: relanding with fix
Reverted Changes:
Ic4119368c:Revert submission 1191937-art_apex_available
Ia084976bb:Revert submission 1191937-art_apex_available
Iada86226d:Revert submission 1191937-art_apex_available
Ic76735eac:Revert submission 1191937-art_apex_available
I1eb30e355:Revert submission 1191937-art_apex_available
Icaf95d260:Revert submission 1191937-art_apex_available
Ie8bace4be:Revert submission 1191937-art_apex_available
I8961702cf:Revert submission 1191937-art_apex_available
I39316f9ef:Revert submission 1191937-art_apex_available
I522a7e83b:Revert submission 1191937-art_apex_available
I8b9424976:Revert submission 1191937-art_apex_available
I48b998629:Revert submission 1191937-art_apex_available

Change-Id: I8b4eed03c76153e2469f7b3e2e33c6e20e6e0409
2019-12-19 18:16:34 +09:00
Automerger Merge Worker
8e8f3dcb6d Merge changes from topic "revert-1191937-art_apex_available-DWXQGTKMAR" am: 7378ff158c am: 61042b72cf
Change-Id: Ia021d65f88d87230ba6b0341cea7debd34bc649b
2019-12-19 01:47:45 +00:00
Joseph Murphy
7378ff158c Merge changes from topic "revert-1191937-art_apex_available-DWXQGTKMAR"
* changes:
  Revert submission 1191937-art_apex_available
  Revert submission 1191937-art_apex_available
2019-12-19 01:20:03 +00:00
Joseph Murphy
92e1a0bea0 Revert submission 1191937-art_apex_available
Original Commit Message:
"""
Rename modules that are APEX-only

The renamed modules are only available for APEXes, but not for the
platform. Use the <module_name>.<apex_name> syntax to correctly install
the APEX variant of the modules.
"""

Reason for revert: Build Cop - Breaks about 15 AOSP targets, with high confidence due to these changes being the only non-robot changes in those builds.

Reverted Changes:
I190ce2d10:Use apex_available property
I990e0a67e:Use apex_available property
I0d1295683:Revert "Avoid duplicated classes for boot dex jars...
I5fb725403:Find the jar libraries in APEX from the correct pa...
I322b1efcc:Rename modules that are APEX-only
Ifa2bd0f8f:Use apex_available property
Iac6533177:Use apex_available property
Ie999602c6:Use apex_available property
I2a3d73397:Use apex_available property
Ic91bcbb9a:Use apex_available property
Ia6c324eed:Use apex_available property
I964d0125c:Use apex_available property

Change-Id: I8961702cfb414ebec55014f57e0be3347b34cea9
2019-12-19 01:06:41 +00:00
Automerger Merge Worker
628aedb95f Merge changes from topic "art_apex_available" am: e09efa6473 am: 750862ab53
Change-Id: I403313672b8d375e4a6254a62393f6e4d4890c4d
2019-12-19 00:42:02 +00:00
Jiyong Park
e09efa6473 Merge changes from topic "art_apex_available"
* changes:
  Find the jar libraries in APEX from the correct path
  Use apex_available property
2019-12-19 00:21:43 +00:00
Automerger Merge Worker
a219cab736 Merge "Add libdl_android.so to the system partition absence check." am: 4d5458d1f0 am: 5db15db9cc
Change-Id: If437adf2de2ceab88ac20d44513c6d786eb79eee
2019-12-17 13:21:03 +00:00
Jiyong Park
0d7bd6be90 Use apex_available property
Use apex_available property to prevent modules that are only for the ART
apex from being used outside of the APEX.

Bug: 128708192
Bug: 133140750
Bug: 129006418
Test: m
Test: m libnativeloader doesn't install anything. (because it doesn't
have "//apex_available:platform".
Test: Add "libnativeloader" to shared_libs of "libvndksupport" which is
installed to /system/lib. Then the build fails with following error:

  error: system/core/libvndksupport/Android.bp:3:1: module
  "libvndksupport" variant "android_arm_armv8-a_core_shared": depends on
  //art/libnativeloader:libnativeloader which is not visible to this
  module

Change-Id: I964d0125cfedb454a60c098bf1a1797201d5dd40
2019-12-17 21:16:20 +09:00
Martin Stjernholm
42ae1c8c8f Add libdl_android.so to the system partition absence check.
Test: m
Bug: 144343305
Change-Id: Ie3a9698d4d369a68ce2baffbab448af63ead4410
2019-12-16 21:43:45 +00:00
Automerger Merge Worker
5feb2e79a3 Merge changes from topic "gsi-with-flattened-apexes" am: b3bff1d203 am: 66ee21cedd
Change-Id: I5a1c446abab9e0e8dec7dca027bc757f8b34d14b
2019-12-13 21:56:16 +00:00
Jooyung Han
9efe534ef1 Add PRODUCT_INSTALL_EXTRA_FLATTENED_APEXES
For GSI targets, this variable is set true, and Soong will install both
"flattened" and "unflattened" APEXes together in /system_ext and /system
respectively.

Bug: 137802149
Test: lunch aosp_arm64-userdebug && m
  resulting apex images under /system/apex
  and flattened apexes under /system/system_ext/apex

Change-Id: Ib72d1b9dbd59727942da39323ee7e60ac6e14882
2019-12-12 02:04:43 +09:00
Aurimas Liutikas
d68d821009 Merge "Move to using full java-lib-files from stubs." am: ac3bf4e3a9
am: 09171641a3

Change-Id: I9ccdddf26512cd211e670e9461e0be1245f9a056
2019-12-09 20:57:54 -08:00
Aurimas Liutikas
743c9c3b6b Move to using full java-lib-files from stubs.
java-lib-header-files (turbine) differ from java-lib-files (actual metalava
output) in how the private constructors are showing up in these jars.

in classes.jar android/telephony/AccessNetworkConstants.class
package android.telephony;

public final class AccessNetworkConstants {
    private AccessNetworkConstants() {
        throw new RuntimeException("Stub!");
    }
}

in classes-header.jar android/telephony/AccessNetworkConstants.class
package android.telephony;

public final class AccessNetworkConstants {
}

As you can see, turbine seems to skip adding the private constructor,
which means that it becomes public.

Bug: 145933077
Test: m out/target/common/obj/api.xml
      out/target/common/obj/api.xml -> no longer has public constructor
      for AccessNetworkConstants

Change-Id: Ie1763783667b41b9892c9c47e6b362d7962caf14
2019-12-09 16:36:15 -08:00
Jaewoong Jung
093994a48e Merge "Enable overrides for ETC modules" am: 0c9d914eef
am: 2e007a7b04

Change-Id: I3e2c21402a9fa20ba2b6115e5daa77ef6d97e9da
2019-11-06 18:45:55 -08:00
Jaewoong Jung
7c7dfcdf54 Enable overrides for ETC modules
Bug: 143975137
Test: TreeHugger
Change-Id: I8290d06726d8aabe265022cd84ec2ea97eff7acf
2019-11-06 14:08:59 -08:00
Anton Hansson
1def48dd5e Merge "Ensure current product use PRODUCT_* vars directly" am: 871d39c40e
am: 331fb4f7d6

Change-Id: Ibc79392e7760082bef5ae4406c210572e52f92a9
2019-11-04 04:17:51 -08:00
Anton Hansson
871d39c40e Merge "Ensure current product use PRODUCT_* vars directly" 2019-11-04 10:35:48 +00:00
Roland Levillain
d5281547cc Merge "Implement APEX JAR (Java library) absence checks for Core Libraries." am: 374213db0d
am: ba88c3be5c

Change-Id: I39709701f2ce1e2d4b5cf631822f29d78958bae9
2019-10-31 14:24:33 -07:00
Roland Levillain
b353eda0c0 Implement APEX JAR (Java library) absence checks for Core Libraries.
Refactor existing native library checks to share common logics.

Test: Check that `m installclean && m systemimage` succeeds
Test: Check that `m installclean && m libart && m systemimage` fails
Test: Check that `m installclean && m core-oj && m systemimage` fails
Test: Check that `m installclean && m conscrypt && m systemimage` fails
Test: Check that `m installclean && m libart core-oj conscrypt && m systemimage` fails
Test: Check that
        `export OVERRIDE_TARGET_FLATTEN_APEX=true \
         && m installclean \
         && m systemimage`
      succeeds
Bug: 142944799
Bug: 128708192
Bug: 113374338
Change-Id: I703a837c6bb138af73eeb95fc08e1a87af2d8ad7
2019-10-31 16:09:02 +00:00