Commit Graph

1373 Commits

Author SHA1 Message Date
Paul Duffin
b6256e51cb Merge "Allow dex jars from prebuilt_apex to be used by hiddenapi" am: 320e170675 am: 915cb8c6d8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1578285

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic96272d781806b7afb5b4afb2e81130ac131b43d
2021-02-09 15:18:20 +00:00
Paul Duffin
061c4657d7 Merge "Refactor the hiddenAPI() method for reusability" am: b71a8de0d5 am: 714a66dfdd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1578284

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I09df412275fbfaa1ac67a36d5fc3f6b4b5ba0418
2021-02-09 15:18:14 +00:00
Paul Duffin
320e170675 Merge "Allow dex jars from prebuilt_apex to be used by hiddenapi" 2021-02-09 13:58:12 +00:00
Paul Duffin
b71a8de0d5 Merge "Refactor the hiddenAPI() method for reusability" 2021-02-09 13:57:52 +00:00
Treehugger Robot
4721a650ed Merge "Pass list of module libraries to gen_ndk_backed_by_apex.sh" am: d85d058820 am: f085577d59
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1580725

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I05b12c5bec69c62676966211129a14cf47248f2d
2021-02-09 04:25:40 +00:00
Treehugger Robot
d85d058820 Merge "Pass list of module libraries to gen_ndk_backed_by_apex.sh" 2021-02-09 03:21:36 +00:00
Colin Cross
69f0a24762 Pass list of module libraries to gen_ndk_backed_by_apex.sh
Running find on the entire module directory can lead to flaky failures
when a directory is modified by another rule while find is traversing
it.  Pass a list of libraries in the module into the script instead
of finding them on disk.

Fixes: 178509901
Test: TARGET_BUILD_APPS=com.android.runtime dist
Change-Id: Ie4bf288f0e3d99cbbed5ca8770687a9bbe5377e4
2021-02-08 16:52:07 -08:00
Paul Duffin
fbed5afb1b Merge "Integrate hiddenapi processing into boot jars test" am: 5d0572b7eb am: bd74e3d616
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1577724

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I92a46820dfa1eb868b63f89c9e3db423d4cb47db
2021-02-08 19:19:12 +00:00
Paul Duffin
7d83aa8d86 Merge "Exclude exported_java_libs dependencies from visibility checks" am: 1a75902832 am: d3cbf8531a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1580146

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I82fc68bd34b3255ccf03547a7a5511bf7eceee71
2021-02-08 19:19:08 +00:00
Paul Duffin
9d67ca6ab7 Allow dex jars from prebuilt_apex to be used by hiddenapi
Invokes hiddenAPIExtractInformation() on the dex jar provided by the
deapexer (on behalf of prebuilt_apex) so that hiddenAPI can extract the
information it needs, if anything, from the dex file (and accompanying
classes implementation file).

The dex file provided by deapexer has already had the hiddenapi
information encoded into it so it does not need to do that again.

This change adds the primary parameter to hiddenAPIExtractInformation()
and checks it (and also the hiddenAPI.active property) before it does
anything. That ensures that it behaves correctly when called directly
as well as when called from hiddenAPIExtractAndEncode().

Bug: 178361284
Test: m droid
      Verified that hiddenapi files (both aggregated ones and for the
      individual modules) are not affected by this change.
      Also verified that the hiddenapi files created when using the
      prebuilts (using SOONG_CONFIG_art_module_source_build=false) are
      the same as when using the source. There is a slight difference
      in the order but otherwise identical.
Change-Id: I7abb63fd310bb94787ab7f4821e5fd283dc03046
2021-02-08 19:10:50 +00:00
Paul Duffin
4fd997bc13 Refactor the hiddenAPI() method for reusability
A follow up change needs to be able to contribute to the information
the hiddenapi process collates without having a dex file encoded. This
change pushes all the functionality related to information gathering
into the hiddenAPIGenerateCSV() method and then renames it and the
hiddenAPI() method to make it clearer what they do.

Bug: 178361284
Test: m droid
      Verified that hiddenapi files (both aggregated ones and for the
      individual modules) are not affected by this change.
Change-Id: I04417720216a0fbadcd88e6185e7de6570af6216
2021-02-08 19:10:50 +00:00
Paul Duffin
5d0572b7eb Merge "Integrate hiddenapi processing into boot jars test" 2021-02-08 18:43:10 +00:00
Paul Duffin
1a75902832 Merge "Exclude exported_java_libs dependencies from visibility checks" 2021-02-08 18:40:46 +00:00
Paul Duffin
a7139425bc Exclude exported_java_libs dependencies from visibility checks
Test: m nothing
Change-Id: Iba45580c0711d48034898e9d42832c7e2b0e6284
2021-02-08 13:13:02 +00:00
Paul Duffin
10d132bc53 Ensure subtest failures are reported on subtest am: 89886cbdb0 am: 215001cb5a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1577723

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia53596f4fd57261d515bc66428c08cb75bfc149a
2021-02-07 22:44:59 +00:00
Paul Duffin
f38931c287 Integrate hiddenapi processing into boot jars test
This change registers the hiddenapi singleton so that hiddenapi
processing is performed as part of
TestBootDexJarsFromSourcesAndPrebuilts so that additional hiddenapi
related tests can be added later.

The hiddenapi singleton uses the BootJars/UpdatableBootJars properties
from productVariables not the dexpreopt.GlobalConfig so this change
makes sure that they are consistent.

Performing hiddenapi processing causes the dex file used in "prebuilt
with source apex preferred" test to be encoded with hiddenapi
information which changes the path in the test.

Bug: 178361284
Test: m nothing
Change-Id: I2eb3d8cf11f6fb3bf4a34d6e4ae0c397c890191e
2021-02-07 10:58:24 +00:00
Paul Duffin
89886cbdb0 Ensure subtest failures are reported on subtest
A subtest (code inside the func passed to t.Run(...)) are passed their
own t *Testing pointer to use to report errors in order to ensure that
they are treated as errors of the subtest and not the containing test.

This change ensures that the subtests in the following tests use the
correct t *Testing.
* TestPrebuiltExportDexImplementationJars
* TestBootDexJarsFromSourcesAndPrebuilts

Bug: 178361284
Test: m nothing
Change-Id: I4e8b166051cb6098c89d8e68a450c81a714f7677
2021-02-07 10:58:24 +00:00
Treehugger Robot
16ac5bf5ab Merge "Remove libbinder_headers from apex_available allowlist" am: b02128ad0b am: a9ed2e4658
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1574887

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If2c1ad35295151348a709773541e4d911a6e07db
2021-02-06 04:22:05 +00:00
Treehugger Robot
b02128ad0b Merge "Remove libbinder_headers from apex_available allowlist" 2021-02-06 03:20:47 +00:00
Jooyung Han
ec3a7c5db0 Merge "cc: fix version macro for stubs" am: 7701309889 am: 1a90279656
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1574812

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If57ba16d74b9e06c8ce0c6265b5fc65b6b31d390
2021-02-06 02:29:42 +00:00
Jooyung Han
7701309889 Merge "cc: fix version macro for stubs" 2021-02-06 01:41:31 +00:00
Liz Kammer
595abf120a Merge "bp2build: convert paths/module refs to Bazel label" am: b7eab01167 am: 6d5454d0f9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1564272

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I850a7a72980cd003afbb696ff0ae1beba110995a
2021-02-05 15:00:27 +00:00
Liz Kammer
b7eab01167 Merge "bp2build: convert paths/module refs to Bazel label" 2021-02-05 13:39:08 +00:00
Yan Yan
1c730f9c78 Merge "Change IKE min_sdk to 30" am: 3a5c0af0fb am: 18aa1bd39c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1573465

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2a255cc67e9bd4f3e8fb1f4d6325afe6e89dc53d
2021-02-05 08:55:03 +00:00
Yan Yan
3a5c0af0fb Merge "Change IKE min_sdk to 30" 2021-02-05 07:33:56 +00:00
Jooyung Han
59d0931de7 Remove libbinder_headers from apex_available allowlist
libbinder_headers now sets apex_available property.

Bug: 150999716
Test: m
Change-Id: If58cfeafcc13fc36be8e44a66f2f472460fd4c8d
2021-02-05 15:32:40 +09:00
Treehugger Robot
bdab9f0af9 Merge "New header lib added to apex/allowed_deps.txt" am: 87bd0f3c22 am: 7ca0af1e40
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1574081

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4e6315a1aca4363c1712c94fea5b20894e17eb27
2021-02-05 05:00:38 +00:00
Treehugger Robot
87bd0f3c22 Merge "New header lib added to apex/allowed_deps.txt" 2021-02-05 03:34:48 +00:00
Jooyung Han
11b0fbdbf6 cc: fix version macro for stubs
When a cc module is built against a stub, compiler passes version macro
of the stub lib. Version macro should be numeric, so codenames or
"current" should be mapped to numbers just like how ndkstubgen maps to.

* "current" -> future (10000)
* codenames -> look up api_level.json
* otherwise -> cast to int

Bug: 179329813
Test: m / soong test / manually check the output build.ninja
Change-Id: Ic0e1dd904984e161694a0b77fad5559c06a4462f
2021-02-05 11:27:57 +09:00
Liz Kammer
356f7d45c1 bp2build: convert paths/module refs to Bazel label
This currently expands all globs, still need to support converting glob
syntax.

Test: go build_conversion_test
Test: GENERATE_BAZEL_FILES=true m nothing
Test: m nothing
Bug: 165114590
Change-Id: If7b26e8e663d17566fad9614ca87a8da1f095284
2021-02-04 13:45:56 -05:00
Jooyung Han
575b608683 New header lib added to apex/allowed_deps.txt
libbinder_headers_platform_shared is a new header lib shared between
libbinder/libbinder_ndk. Since it is re-exported via libbinder_headers,
it should be added to allowed_deps.txt as well.

Bug: 179020493
Test: m
Test: aidl_integration_test
Change-Id: I7fe89766c8e7924edf2a3ddd69c2876611d0dd0a
2021-02-04 11:30:49 +09:00
Yan Yan
4e9eef5702 Change IKE min_sdk to 30
This is generated by build/soong/scripts/update-apex-allowed-deps.sh

Bug: 177266501
Test: builds
Change-Id: Ie7d43501def9a72d019c886df1f379410ffb1527
2021-02-03 15:51:27 -08:00
Treehugger Robot
51fc942026 Merge "Add no_op binary." am: 56d12a058e am: d4137332ac
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1572320

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I63fa24a48f8e36df7cddf48a675c822653488f43
2021-02-03 19:40:42 +00:00
Dario Freni
3627f8350d Add no_op binary.
Even if this binary is only used in a testing apex for dynamic common
library apex that will be removed once we have a production version
ready, we need said apex to be marked as updatable too.

Bug: 177879489
Bug: 179013728
Test: builds
Change-Id: I8ae519da164f1f5355d4c2dfeca88a497cda7990
(cherry picked from commit 0d3ff6d918)
2021-02-03 10:34:13 +00:00
Paul Duffin
2c1c3cac9e Merge "Fix some minor issues with boot_image" am: aded43c808 am: 92db324beb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1566176

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I54537d03a79ad26895ecbee9be0e64fbde575c0f
2021-02-01 11:02:35 +00:00
Paul Duffin
4694cf7c81 Merge "Add boot_images to apex" am: 4a838dfb3f am: 4849ec99b9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1560278

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I61aa45660665daf63e98ff1d51c2171ba76e0aa8
2021-02-01 11:02:23 +00:00
Paul Duffin
5bbfef8718 Fix some minor issues with boot_image
Mistakenly used HostAndDeviceDefault (which builds host and device
variants by default) instead of HostAndDeviceSupported which only
builds a device variant by default.

Moved the test definitions of art and framework boot images from being
defined in all Java related tests into the test where they belong. This
is needed in order to improve the ART and framework boot image specific
testing.

Bug: 177892522
Test: m droid
Change-Id: I16771f09bd789033e18c58ae6dd4b6b9e865d831
2021-01-30 12:57:26 +00:00
Paul Duffin
a1d6025a49 Add boot_images to apex
Previously, the apex module had to hard code behavior specific to the
art apex module in order to include the art boot image. This change
adds support to the apex module to allow the boot images to be
specified per apex.

In combination with a change to add the "art-boot-image" to the ART
apex this allows the custom code for handling the art boot image in
apex to be removed.

That custom apex code also included the logic to ensure that the
GlobalSoongConfig was initialized for use by the dex_bootjars
singleton. That logic has been moved from the APEX to the boot_image
module. That ensures that it will be run if and only if a boot_image
module is present in the checked out repos. So, limited manifest
checkouts which do not contain the art or frameworks/base repos (which
is where the boot_image modules are defined) will not attempt to run
this logic, which would fail because dex2oat would not be present.

Bug: 177892522
Test: m droid
Change-Id: I02d25fbef6e864e31eb5e0f4eb50358c79486db0
2021-01-30 12:45:07 +00:00
Martin Stjernholm
8784b2fe5d Merge "Fix boot jar handling when both source and prebuilt APEXes and modules are present." am: c4e17317d1 am: d593a73257
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1553594

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia050858ba2a5810b0e708f61a12fe536b571af7f
2021-01-29 23:43:27 +00:00
Nikita Ioffe
0968f5a861 Turn apex compression from opt-out into opt-in am: 82aab58aea am: 4e36d71632
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1563633

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I108ef022f4bb1ed2c5cf602bf747574d2fe20df3
2021-01-29 21:50:35 +00:00
Martin Stjernholm
c4e17317d1 Merge "Fix boot jar handling when both source and prebuilt APEXes and modules are present." 2021-01-29 13:15:02 +00:00
Nikita Ioffe
82aab58aea Turn apex compression from opt-out into opt-in
Compression is useful only for big enough apexes. We can manually opt-in
them, instead of trying to find list of apexes that should be opted-out.

Test: m
Bug: 178713634
Change-Id: Ice86fabb7c1db4a1e21e4c983d595cfd3a1c0b7a
2021-01-28 20:25:23 +00:00
Martin Stjernholm
1dc0d6d7f2 Fix boot jar handling when both source and prebuilt APEXes and modules
are present.

1) The boot jar to APEX mapping is maintained by the base names for
both of them. When building with prebuilt modules and APEXes, that
means we need to take care to compare them without regard to any
"prebuilt_" prefixes.

2) VisitAllModules can visit disabled modules and both source and
prebuilt modules, so they need some conditions to skip modules that
aren't applicable for boot jars.

Test: `m droid`
Test: `m droid SOONG_CONFIG_art_module_source_build=false`
  with fresh ART Module prebuilts in place
Bug: 171061220
Change-Id: Iced269d29127bc8b8f9b3171adb60a97d115628b
2021-01-28 20:09:24 +00:00
Paul Duffin
e36b8727c1 Merge "Add boot_image module type" am: b9d731c8a9 am: 70b8c656c6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1556240

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I06be6aab301bb86e24e253fa7b6d94cba258b02a
2021-01-28 16:48:30 +00:00
Paul Duffin
b9d731c8a9 Merge "Add boot_image module type" 2021-01-28 15:39:57 +00:00
Treehugger Robot
2ebe689bbf Merge "apex: checks min_sdk_version for preview/current" am: 99afe0d442 am: 3f4cc86f15
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1557545

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1e8ae9caa5233c3738ee51da8980b2bc8f9dc995
2021-01-28 14:15:36 +00:00
Treehugger Robot
99afe0d442 Merge "apex: checks min_sdk_version for preview/current" 2021-01-28 13:04:52 +00:00
Paul Duffin
1999d04d2a Merge "Make com.android.art related tests more realistic" am: 57eec1007e am: 65964a6a90
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1560277

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I94ef60fc464b13d609d8482675918094453de884
2021-01-27 11:02:45 +00:00
Paul Duffin
57eec1007e Merge "Make com.android.art related tests more realistic" 2021-01-27 10:03:42 +00:00
Treehugger Robot
7b093c5317 Merge "update apex allowed deps-2" am: fcf2da0b29 am: 9a2a87f6e2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1560310

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6d778ad95e4d5fcc12c646e4bdf65850470aa804
2021-01-27 01:24:20 +00:00