Commit Graph

3554 Commits

Author SHA1 Message Date
Ulyana Trafimovich
d0f9821127 Merge "Do verify_uses_libraries check for APKs after patching library names." am: 97df5e65b0 am: e073aa2af2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1609481

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I100a6591ff3357d0129a090d0303cbf662766351
2021-03-02 23:25:17 +00:00
Ulyana Trafimovich
939809b6ce Merge "Respect provides_uses_lib for modules added via [optional_]uses_libs" am: ae5cdfffa3 am: a9860b8a8f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1609480

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib5b3fe2b21b9b2186196e0b38a43cdf561f36a56
2021-03-02 23:24:52 +00:00
Ulyana Trafimovich
eaaa895ff1 Merge "Add provides_uses_library example to TestUsesLibrary check." am: 71284b60ae am: 5da4dcf21a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1609476

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0de2a9a5d645e85cea017271d6e06efa1cd28111
2021-03-02 23:24:46 +00:00
Ulyana Trafimovich
4b40d94a40 Merge "Stricten TestUsesLibrary check." am: 00c27b7a68 am: 45e3b00b56
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1609474

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I63c0525dc47669828727988067ba8f223e913992
2021-03-02 23:24:40 +00:00
Martin Stjernholm
cbe5663663 Merge "Recognise the Google-signed ART APEXes as well." am: cfcaddc5b2 am: b85c77714a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1590194

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ifa8f29e7a513ca4ee28b08727b496ead452b9e40
2021-03-02 19:49:59 +00:00
Ulyana Trafimovich
97df5e65b0 Merge "Do verify_uses_libraries check for APKs after patching library names." 2021-03-02 13:49:34 +00:00
Ulyana Trafimovich
ae5cdfffa3 Merge "Respect provides_uses_lib for modules added via [optional_]uses_libs" 2021-03-02 13:47:03 +00:00
Ulyana Trafimovich
71284b60ae Merge "Add provides_uses_library example to TestUsesLibrary check." 2021-03-02 13:46:49 +00:00
Ulyana Trafimovich
00c27b7a68 Merge "Stricten TestUsesLibrary check." 2021-03-02 13:46:19 +00:00
Martin Stjernholm
db5138230d Recognise the Google-signed ART APEXes as well.
Test: `m nothing` in internal tree
Bug: 180325915
Change-Id: I83eb660ad7cb480fba2a7874ee7e7f9d35646871
2021-03-01 22:33:51 +00:00
Paul Duffin
df806bcfca Merge "Avoid hiddenapi ignoring prebuilt with missing dex implementation jar" am: c572b5bf62 am: 551d57c064
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1609479

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I40d9a8d2ee00277bd1790bb80a8237020f3643ba
2021-03-01 20:10:01 +00:00
Paul Duffin
08515806b9 Merge "Allow java_sdk_library_import to contribute to hiddenapi processing" am: 69804ac388 am: 764a15f4e5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1609478

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia22b20976de4b81e4e97026ceae4213309a28b5e
2021-03-01 20:09:21 +00:00
Paul Duffin
86d8214509 Merge "Retrieve dex implementation jars from apex for java_sdk_library_import" am: 0a8d5248ef am: b1426419ec
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1609477

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0dc9e98b69c22ceb22d109ee412f59d3fb5e4819
2021-03-01 20:08:56 +00:00
Ulya Trafimovich
fe927a265e Do verify_uses_libraries check for APKs after patching library names.
Some of the `uses_libs`/`optional_uses_libs` libraries may have a
library name that is different from the module name. In that case it is
necessary to patch these properties after `provides_uses_lib` for the
library is applied.

Bug: 132357300
Test: m nothing
Change-Id: I2e2248053787557f955a6b363c22e3bad0301ec7
2021-03-01 17:50:16 +00:00
Ulya Trafimovich
eea486a580 Respect provides_uses_lib for modules added via [optional_]uses_libs
Previously `provides_uses_lib` property affected only those
<uses-library> dependencies that are automatically deduced by Soong as
implicit Java SDK libraries reachable from the `libs` property. Other
<uses-library> dependencies that are explicitly added in `uses_libs` and
`optional_uses_libs` properties ignored `provides_uses_lib`.

As TestUsesLibraries shows (see the TODOs), Soong behaviour is still
incorrect in two ways (to be addressed in follow-up CLs):

- `uses_libs`/`optional_uses_libs` are passed to manifest_fixer
- verify_uses_libraries check is based on `uses_libs`/
  `optional_uses_libs`, and not on the CLC as it should be

Bug: 132357300
Test: m nothing
Change-Id: I0ec7aab9dcd44554d1a79ddd382491c562266fa3
2021-03-01 17:31:23 +00:00
Paul Duffin
c572b5bf62 Merge "Avoid hiddenapi ignoring prebuilt with missing dex implementation jar" 2021-03-01 17:04:53 +00:00
Paul Duffin
69804ac388 Merge "Allow java_sdk_library_import to contribute to hiddenapi processing" 2021-03-01 17:04:39 +00:00
Paul Duffin
0a8d5248ef Merge "Retrieve dex implementation jars from apex for java_sdk_library_import" 2021-03-01 17:04:27 +00:00
Paul Duffin
ec0fe1775b Avoid hiddenapi ignoring prebuilt with missing dex implementation jar
Previously, when a prebuilt was preferred but did not provide a
suitable boot dex jar both the source and the prebuilt were silently
ignored which meant that the "hiddenapi list" command was not given a
complete set of boot dex jars. That could either lead to incorrect
hiddenapi flags being set or the "hiddenapi list" command failing if it
could not find a class. Debugging the cause of either of those cases
can be very time consuming so this change fails early and makes the
cause very explicit.

Bug: 181267622
Test: m nothing
Change-Id: I6763ddb9ba90ed2e501d0cf7984f6655237e905d
2021-03-01 12:58:28 +00:00
Paul Duffin
3785673f9b Allow java_sdk_library_import to contribute to hiddenapi processing
Invokes hiddenAPIExtractInformation() on the java_sdk_library_import's
dex implementation 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.

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

Usually, it would require a classes implementation jar as well in
order to extract information from UnsupportedAppUsage annotations but
that is not available for a java_sdk_library_import. Fortunately, the
modules that are currently affected by this do not contain any such
annotations. This just uses a public api stubs jar instead.

Bug: 181267622
Test: m nothing
Change-Id: I96275e46f8b7fecba88075319e9f2da5ae315c03
2021-03-01 12:58:28 +00:00
Paul Duffin
3985351df6 Retrieve dex implementation jars from apex for java_sdk_library_import
Bug: 181267622
Test: m nothing
Change-Id: Idd6af2482f48bd3a05db88b8a06dbbbdee01ef78
2021-03-01 12:58:28 +00:00
Treehugger Robot
416eb1e44b Merge "Remove global state from sysprop libraries" am: 5e510d6271 am: 184957859b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1611293

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I10e6a378c6ef9cc1775b29e6d96c0aadc90a0ef1
2021-03-01 09:25:25 +00:00
Treehugger Robot
5541754e5a Merge "Propagate java resources in apps with no code" am: 2ee47272f5 am: f6316c4b1c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1610973

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic9f21c21508658da4cad91202315e3589b939c7f
2021-02-28 02:09:14 +00:00
Colin Cross
75ce9eccf3 Remove global state from sysprop libraries
Sysprop libraries use a global list to rewrite dependencies from
implementation libraries to public stub libraries when appropriate.
Remove the global list, and instead add a dependency from the
implementation to the public stub that forwards the JavaInfo.

Bug: 181367697
Test: sysprop_test.go
Change-Id: Ia7995feb3c079ca9bb6a403daaae3e3329fd7f6a
2021-02-26 16:28:12 -08:00
Colin Cross
b014f0787e Propagate java resources in apps with no code
Use the java resources jar as the dex jar when building apps that
have no code.

Also remove maybeStrippedDexJar, the dex jar is never stripped now.

Fixes: 176305357
Test: TestAppJavaResources
Change-Id: Ic8b1165bd35d71237d307e7f5f895764e203a10d
2021-02-26 16:28:12 -08:00
Ulya Trafimovich
861a896c96 Add provides_uses_library example to TestUsesLibrary check.
Current test behaviour is incorrect, because libraries added via
`uses_libs`/`optional_uses_libs` ignore `provides_uses_lib` property.
The added TODO entries point at the incorrect behaviour, to be fixed in
the follow-up CLs.

Bug: 132357300
Test: m nothing

Change-Id: I35bfe227797aa37aa539e872052335677c798ee5
2021-02-26 15:19:39 +00:00
Ulya Trafimovich
2eaf5c5256 Stricten TestUsesLibrary check.
- Verify argument order for manifest_fixer args verify_uses_libraries.
- Rewrite manifest_fixer test so that it reveals arguments that should
  not be there, add a TODO to remove them.

Bug: 132357300
Test: m nothing
Change-Id: I910e13b84f0464fc06b5b98395ddb45bf4120223
2021-02-26 14:53:06 +00:00
Jaewoong Jung
f4f0d09eb8 Merge "Fix the releax_check flag format verb." am: fc3bfe54c3 am: cfeffdc6ec
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1607177

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If52ad78efd887f1a5221fd8feee7a4d448b1e75d
2021-02-25 16:50:59 +00:00
Jaewoong Jung
8431282af4 Fix the releax_check flag format verb.
%b prints base 2 numbers. %t is the right one to use for booleans.

Test: TreeHugger
Change-Id: Ifbae0170ba03583182ae848bcfc6bb104f1be7e0
2021-02-24 21:09:10 -08:00
Paul Duffin
ea4ad11547 Merge "Allow pre-singleton types to be registered in RegistrationContext" am: ebbf33c42b am: de8121e465
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1605033

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8e4a06b96a9754be64cc423b8ac46ceeed461177
2021-02-24 21:51:46 +00:00
Paul Duffin
eafc16bf14 Allow pre-singleton types to be registered in RegistrationContext
Bug: 181070625
Test: m droid
Change-Id: I708b78ed0b42ec55b0442307f40531cfe1233c2b
2021-02-24 10:17:19 +00:00
Christoffer Quist Adamsen
561178ba14 Merge "Allow missing classes in R8 builds" am: a72571f0d1 am: c3ae5578c9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1597934

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib9679603b87f3bae63fd2e6441b2e55532152148
2021-02-24 08:55:10 +00:00
Christoffer Quist Adamsen
a72571f0d1 Merge "Allow missing classes in R8 builds" 2021-02-24 07:25:18 +00:00
Treehugger Robot
46b8066072 Merge "Update soong copy of java binaries when Make copy is installed" am: 9a4279309f am: 5ee786ff3f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1602454

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I73bd8e457459661e5dffafef1a4cb6014fd85298
2021-02-24 01:49:19 +00:00
Treehugger Robot
04246701f7 Merge "Add non-fatal mode for verify_uses_libraries check." am: 7eacdbf8a6 am: d078b18f64
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1592411

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iabb151ce223f538a346140d8cd78cb0f9c5b6234
2021-02-24 01:49:10 +00:00
Paul Duffin
07a776ea1f Merge changes from topic "hiddenapi_additional_annotations" am: ece454400d am: 7b9e857f9f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1590193

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6a1c0937a2cfcda928c11cacd442fb4e435945c0
2021-02-24 01:24:29 +00:00
Paul Duffin
2232ee00c0 Remove duplicates in monolithic hidden API files am: 82b3fcf123 am: f36d0e21c3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1587496

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I40e1bc0c070332a3a02035962d00294d01a43028
2021-02-24 01:24:26 +00:00
Paul Duffin
0b27470f71 Remove implicit dependency from <x> -> <x>-hiddenapi am: f8f4af8f1a am: 44091b4387
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1587495

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ibc49adf73da7a01a7c848b539a4eadfc9186f67d
2021-02-24 01:24:21 +00:00
Paul Duffin
f36d0e21c3 Remove duplicates in monolithic hidden API files am: 82b3fcf123
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1587496

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7b6bbc33ff1bae69ca09dafafa4c65690451b5b9
2021-02-24 00:49:24 +00:00
Paul Duffin
44091b4387 Remove implicit dependency from <x> -> <x>-hiddenapi am: f8f4af8f1a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1587495

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5f701167d78771a53ab6e0f082a12c44871d22ec
2021-02-24 00:48:45 +00:00
Treehugger Robot
9a4279309f Merge "Update soong copy of java binaries when Make copy is installed" 2021-02-23 21:35:20 +00:00
Treehugger Robot
7eacdbf8a6 Merge "Add non-fatal mode for verify_uses_libraries check." 2021-02-23 20:45:42 +00:00
Colin Cross
44b85d01c9 Update soong copy of java binaries when Make copy is installed
m <modulename> is handled by Make and installs the Make copy of a host
java binary in out/host/linux-x86/bin, and doesn't depend on the Soong
copy in out/soong/host/linux-x86/bin.  That can leave a stale binary
in the Soong directory, and since the Soong directory is first in the
path set up by envsetup.sh, can result in confusing behavior to end
users.

cc_binary already has the Make binary depend on the Soong binary
so that they are both updated.  Do the same for java_binary.

Fixes: 180405155
Test: m metalava
Change-Id: Ic84a131a2851cc4a18ce3725da3c4067137d6120
2021-02-23 11:19:57 -08:00
Paul Duffin
ece454400d Merge changes from topic "hiddenapi_additional_annotations"
* changes:
  Sort hiddenapi monolithic files by signature
  Remove duplicates in monolithic hidden API files
  Remove implicit dependency from <x> -> <x>-hiddenapi
2021-02-23 12:48:24 +00:00
Treehugger Robot
98f5b4b6e0 Merge "Fix infinite recursion when printing unrecognized linktype" am: f0f152484b am: 2cf358677b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1600834

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9d51880f8ccdbbdc5f281e182f987f543b4b3ed2
2021-02-23 08:42:44 +00:00
Colin Cross
24bdd3ae4f Merge "Add ArcSettings and SettingsGoogle to the legacy allowlist" into rvc-qpr-dev-plus-aosp 2021-02-23 04:12:51 +00:00
Jiyong Park
d4cbf34032 Fix infinite recursion when printing unrecognized linktype
Bug: N/A
Test: remove some cases from String() so that some linktypes go to the
default path. Then run m nothing. No infinite recursion. Error is
correctly shown.
PANIC=String method: unrecognized linktype: 5
Change-Id: I424755bc89871fc2144ff22d6391f57157cd434d

Change-Id: Ice791025dc50f44ffabd1050bafc5ea35023d32c
2021-02-23 04:02:23 +00:00
Treehugger Robot
173eeb8ca0 Merge "Add ctx to AndroidMkExtraEntriesFunc" am: 277303f042 am: 5b72de988f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1360943

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I90ae8f53df60dd6bdbc9ae040c44a28a334017e3
2021-02-23 01:45:26 +00:00
Treehugger Robot
398253b55c Merge "Limit the number of the Java source files in a single compilation unit" am: a61a042fa6 am: 3e97f39674
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1590694

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I887bfca8ce13ced6aa4005afa97a8c7e425716b4
2021-02-23 01:45:06 +00:00
Treehugger Robot
277303f042 Merge "Add ctx to AndroidMkExtraEntriesFunc" 2021-02-22 22:40:31 +00:00