Commit Graph

2586 Commits

Author SHA1 Message Date
Mohammad Islam
7d314d5517 Merge "Add EROFS support for APEX build system" am: 214a923f0d am: 7654b6b27c am: cfa380c303 am: 34a6362f47 am: b0f8eab3fe
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1784471

Change-Id: I3f719ef39b671cc8337008be5e86955043c3a1ce
2021-10-15 16:56:53 +00:00
Mohammad Islam
214a923f0d Merge "Add EROFS support for APEX build system" 2021-10-15 15:44:47 +00:00
Jiyong Park
81dbef72d4 Merge "Remove use_apex_name_macro" am: ddf4ebae19 am: c05ccb3724 am: 7330b2652e am: e9907ef104 am: 28e6e4098c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1853655

Change-Id: Ida69fb806665f65159f19516b06d8e35e4d99b56
2021-10-14 03:46:27 +00:00
Jiyong Park
ddf4ebae19 Merge "Remove use_apex_name_macro" 2021-10-14 02:32:43 +00:00
Jiyong Park
91f1b42226 Remove use_apex_name_macro
The property is no longer used.

Bug: 161926892
Test: m
Change-Id: I98948152d6d09bde2eeba4875c7ca01531a24930
2021-10-14 08:57:59 +09:00
Paul Duffin
86e05669a3 Merge "Stop prebuilt_apex/apex_set exporting invalid jars to Make" am: 13dd220448 am: 964d2d7a51 am: a242a29f0e am: 3f3d8dcbd5 am: b97af3ed95
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1853520

Change-Id: I343c4daae8859a679f56f0f05bc0697ada471dd2
2021-10-13 16:05:31 +00:00
Paul Duffin
13dd220448 Merge "Stop prebuilt_apex/apex_set exporting invalid jars to Make" 2021-10-13 14:53:17 +00:00
Jiakai Zhang
007b110239 Merge "Add more tests for dexpreopting." am: 40eb3b3e94 am: 39f65b16e3 am: d6954f0b0f am: 0b2280aa1c am: 5318a52fad
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1840057

Change-Id: Iff6cc79f68889bba3830096854b4833131fb538a
2021-10-13 04:28:38 +00:00
Jiakai Zhang
470b7e22a7 Add more tests for dexpreopting.
This CL adds more tests to ensure that dexpreopted files are generated
and APEXes depends on them.

Bug: 201371822
Test: m nothing
Change-Id: I407ad54c55cbca9ef78bbd335e95d4b765e174a0
2021-10-12 03:25:52 +00:00
Paul Duffin
2579631bd1 Stop prebuilt_apex/apex_set exporting invalid jars to Make
A prebuilt_apex/apex_set module can make a dex implementation jar
available for use by Make targets but it does not have access to a real
classes implementation jar; the jar in the corresponding sdk is just an
empty file. Exporting that invalid file to Make means that the phony
target created for the module depends on an invalid classes jar which
causes the build to fail.

This change removes the logic that make classes and header jars
available to Make so that building the phony target no longer fails.

Bug: 202521005
Test: m TARGET_PRODUCT=armv8 TARGET_PRODUCT_VARIANT=eng TARGET_BUILD_UNBUNDLED=true SOONG_ALLOW_MISSING_DEPENDENCIES=true core-icu4j
      - above was performed in master-art.
Change-Id: If667b36b988e2d331acd85f60f3369778838d034
2021-10-11 17:53:54 +01:00
Paul Duffin
fca846b4eb Retry: Separate hidden API flags needed in sdk snapshots for S and T am: 191be3a186 am: bf027e4e58 am: 1f45d4a4d9 am: 16a312a1e6 am: 812583f057
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1844294

Change-Id: I02a215a9702e4c4b2eae3084c0e5e751dfa76f9a
2021-10-05 19:00:18 +00:00
Paul Duffin
bf027e4e58 Retry: Separate hidden API flags needed in sdk snapshots for S and T am: 191be3a186
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1844294

Change-Id: Id8977b8160f175b736214428cae94ea27f95675b
2021-10-05 18:04:10 +00:00
Paul Duffin
191be3a186 Retry: Separate hidden API flags needed in sdk snapshots for S and T
Previous change that was reverted: https://r.android.com/1835222
An additional test was added that revealed a bug in the previous change
which has been fixed here.

Previously, the behavior of the stub_flags and all_flags properties
was different between S and T. In S they contained paths for the
complete set of stub flags and all the encoded flags. However, in T
they contained filtered sets of flags which if used in S would prevent
build checks from detecting possible inconsistencies. Also, a new
signature_patterns property was added in T that is not supported in S.

This change creates separate properties/files for T and reverts the
behavior of the properties/files that were added in S back to how they
behaved in S. The new properties are called filtered_stub_flags and
filtered_flags.

The S and T properties are tagged with the appropriate
supported_build_releases tag to ensure that they are only output when
specifically targeted.

Bug: 197842263
Test: m nothing
Change-Id: I1ce0a3d6623dabf73e32af1a7457b9b444fc3b7c
2021-10-05 15:27:42 +01:00
Pedro Loureiro
d9ab7aadf7 Merge "Perform validation of shared library attributes" 2021-10-05 10:15:50 +00:00
Treehugger Robot
28f9c8d9d9 Merge "Bp2Build common properties auto-handling" am: d905146590 am: 3e745e63f3 am: 98f0fd07ca am: 6aaaea1740 am: 37ba2d3f8d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1815376

Change-Id: I110e0ec8b35ab3f86164e7cbd4db47aa01b65601
2021-10-04 20:15:38 +00:00
Treehugger Robot
3e745e63f3 Merge "Bp2Build common properties auto-handling" am: d905146590
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1815376

Change-Id: I38f1063302ea90583a51e625076e6232b4364ab7
2021-10-04 19:20:28 +00:00
Treehugger Robot
d905146590 Merge "Bp2Build common properties auto-handling" 2021-10-04 19:02:07 +00:00
Ulya Trafimovich
366f689ab7 Update variable name in error messages. am: e5b2b49a73 am: ef92591c59 am: 1fae1299cd am: 79d4a86c7e am: efc3d6caec
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1844308

Change-Id: I078fd16c294446f6a6999c452b9cbdad75b8d060
2021-10-04 17:21:30 +00:00
Ulya Trafimovich
ef92591c59 Update variable name in error messages. am: e5b2b49a73
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1844308

Change-Id: Icb57f58d9efdf8793162254eefe8e3150d6d9cf5
2021-10-04 16:18:58 +00:00
Ulya Trafimovich
e5b2b49a73 Update variable name in error messages.
Variable PRODUCT_UPDATABLE_SYSTEM_SERVER_JARS was renamed to
PRODUCT_APEX_SYSTEM_SERVER_JARS in https://r.android.com/1779472.

Bug: 191127295
Test: m nothing
Change-Id: I0c8ae839cab443c824760b40d30b4374982010f9
2021-10-04 15:43:39 +01:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
447f6c99c9 Bp2Build common properties auto-handling
Introduce `commonAttributes` & `fillCommonBp2BuildModuleAttrs used in
CreateBazelTargetModule

Adapt `bp2BuildInfo` to use `commonAttrs` instead of `Name`.
And thus also all downstream users of `CreateBazelTargetModule`.

As initial user, the Soong `required` property will be
translated to Bazel's `data`.

Bug: 198146582, 196091467
Test: build_converstion_test.go:TestCommonBp2BuildModuleAttrs
Test: go test
Test: mixed_{libc,droid}.sh
Change-Id: Ib500e40f7e2cb48c459f1ebe3188962fc41ec124
2021-10-04 14:43:04 +00:00
Pedro Loureiro
f9e584dd20 Perform validation of shared library attributes
Perform consistency checks as per http://go/updatable-shared-libraries

These include:
  * no attribute can specified can be less than T
  * max-device-sdk can't be less than min-device-sdk
  * min and max-device-sdk need to be at least the module's
  min_sdk_version
  * using on-bootclasspath-before implies that the module's
  min_sdk_version is at least T or the library has min-device-sdk of at
  least T

Test: m nothing

Bug: 191978330

Change-Id: Iaca5cf23fb0bc7e65effb3529c8e829560894c2e
2021-10-04 14:42:34 +00:00
Salmax Chang
b8d1ce3c2c Merge changes from topic "bb_201948713" am: 8bb9c6a1d9 am: 12d6b80da2 am: 9386534350 am: 711b068703 am: c06e66c21a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1844137

Change-Id: I3a1554618c93276abf6ce3882b87dc1479154d98
2021-10-04 10:09:59 +00:00
Salmax Chang
12d6b80da2 Merge changes from topic "bb_201948713" am: 8bb9c6a1d9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1844137

Change-Id: Ia042b5b24141be4ebfa17ab15adf34c3af632635
2021-10-04 08:13:19 +00:00
Salmax Chang
8194d61ae0 Revert "Separate hidden API flags needed in sdk snapshots for S and T"
This reverts commit ba68c93630.

Reason for revert: suspect to cause build break in b/201948713

Change-Id: Ide3693ac1f8e24bd2f7c12857361885cb6b787ef
2021-10-04 05:28:58 +00:00
Paul Duffin
af2e1b86bd Merge "Separate hidden API flags needed in sdk snapshots for S and T" am: 6b383e9ef2 am: afe55d6598 am: 0385ea00cb am: fe419115a9 am: 0c6ebc66d6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1835222

Change-Id: Id56e96265cf03777bfda6d56c4f3c6ed5e99e20a
2021-10-02 12:30:25 +00:00
Paul Duffin
afe55d6598 Merge "Separate hidden API flags needed in sdk snapshots for S and T" am: 6b383e9ef2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1835222

Change-Id: I092500dc977cc482a6c662ae9fcd4e71fea32810
2021-10-02 11:34:00 +00:00
Paul Duffin
ba68c93630 Separate hidden API flags needed in sdk snapshots for S and T
Previously, the behavior of the stub_flags and all_flags properties
was different between S and T. In S they contained paths for the
complete set of stub flags and all the encoded flags. However, in T
they contained filtered sets of flags which if used in S would prevent
build checks from detecting possible inconsistencies. Also, a new
signature_patterns property was added in T that is not supported in S.

This change creates separate properties/files for T and reverts the
behavior of the properties/files that were added in S back to how they
behaved in S. The new properties are called filtered_stub_flags and
filtered_flags.

The S and T properties are tagged with the appropriate
supported_build_releases tag to ensure that they are only output when
specifically targeted.

Bug: 197842263
Test: m nothing
Change-Id: Iec8b9c539796c507245b69c0aed980fde6d8694f
2021-10-01 17:28:13 +01:00
Jiakai Zhang
8eb1e64ddc Merge changes I7876b077,Ib2e7d5e6,I7d2d2e02,Ibf5322f8 am: dcc42b6f7e am: d20f37f014 am: 7072f0158f am: c14dc5f34a am: cea147d102
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1835088

Change-Id: Ib331425f6003b4194f881b8702eaca390a730e01
2021-09-30 16:18:01 +00:00
Jiakai Zhang
d20f37f014 Merge changes I7876b077,Ib2e7d5e6,I7d2d2e02,Ibf5322f8 am: dcc42b6f7e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1835088

Change-Id: Ifefcf876e203406967f44c035495dbba49c4362f
2021-09-30 15:24:48 +00:00
Jiakai Zhang
dcc42b6f7e Merge changes I7876b077,Ib2e7d5e6,I7d2d2e02,Ibf5322f8
* changes:
  Generate prebuilt_systemserverclasspath_fragment.
  Add a new SDK member type java_systemserver_libs.
  Add exported_systemserverclasspath_fragments to prebuilt_apex rule.
  Add prebuilt_systemserverclasspath_fragment rule.
2021-09-30 15:13:45 +00:00
Treehugger Robot
3363d398bf Merge "Call InstallFile even when !installable" am: a07b559571 am: 84de371ad9 am: 55b672b7e6 am: 347c881327 am: 093ce3c66b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1836921

Change-Id: Ia5d884f91d4004099b8a6cda3ca6d42dc384cfec
2021-09-30 11:03:50 +00:00
Treehugger Robot
84de371ad9 Merge "Call InstallFile even when !installable" am: a07b559571
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1836921

Change-Id: I9c18959a7733877c1b3adddd8251bd0539205913
2021-09-30 10:15:12 +00:00
Jiakai Zhang
774dd305f4 Add exported_systemserverclasspath_fragments to prebuilt_apex rule.
This is for exporting the contents of systemserverclasspath_fragment for
dexpreopting.

Bug: 194150908
Test: manual - 1. Patch aosp/1818020 and aosp/1834534
  2. m SOONG_CONFIG_art_module_source_build=false com.android.art
Change-Id: I7d2d2e02869d8a523f7c0efbbff81706672a95c5
2021-09-30 10:06:21 +00:00
Jiakai Zhang
c9864278da Add prebuilt_systemserverclasspath_fragment rule.
This is the prebuilt side of systemserverclasspath_fragment, currently
for used for dexpreopting.

The change to automactially generate
prebuilt_systemserverclasspath_fragment rules will be in a separate CL.

Bug: 194150908
Test: m nothing
Change-Id: Ibf5322f80f78ac3ca037489f4a279456fe38a23f
2021-09-30 10:05:58 +00:00
Jiyong Park
17ff2838fc Call InstallFile even when !installable
Not calling InstallFile when !installable prevents the module not only
from being installed to the partition, but also from being packaged for
a packaging_base. InstallFile already has a routine for not generating
the install rule when the module is not installable. So, the check for
can be safely omitted at the call site.

Bug: 199674764
Test: m com.android.virt. the virt apex has
com.android.runtime.64only.apex in system/apex

Change-Id: I0249f5916496ed136dbf1978e04e2971852de244
2021-09-28 00:02:54 +00:00
Martin Stjernholm
a319fb4a81 Merge changes I957f3df8,I68986dcc am: cf6bf37d04 am: 40fc93fb3c am: 5fc64d1ac8 am: 97c84c01f3 am: a2ca15f88e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1829372

Change-Id: I0e045aa01c2e5ba8e23ef27d3f05786722d94fc9
2021-09-24 10:40:09 +00:00
Martin Stjernholm
40fc93fb3c Merge changes I957f3df8,I68986dcc am: cf6bf37d04
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1829372

Change-Id: Ifcf471f2746c1037b83c2a11b8f5120b86fd6cb2
2021-09-24 09:44:00 +00:00
Martin Stjernholm
4482560cc7 Consolidate the code to resolve a deapexer module dependency.
It will get more logic in upcoming CLs.

Add a property to DeapexerInfo for the APEX name, for use in error
messages.

Test: m nothing
Bug: 192006406
Change-Id: I957f3df8b34543a38cde38768dac93e78132d672
2021-09-23 17:19:55 +01:00
Martin Stjernholm
8be1e6db16 Propagate the dex jar path as an OptionalPath which is either valid or
invalid with a message.

This will allow propagating any error from the deapexer module for
prebuilt APEXes to the location where the dex jars get used. It's only
at those points that we can raise errors about not being able to
extract files from the deapexer modules if they are invalid, and this
way we avoid encoding knowledge there about why they may be invalid.

To keep the refactoring limited it intentionally does not change any of
the existing logic for when dexJarFiles are set or not (non-nil vs nil
prior to this change), although there may be opportunity to use this
for more conditions when dex jars aren't available.

The refactoring is also not extended to
dexpreopt.ClassLoaderContextMap.

Test: m nothing
Bug: 192006406
Change-Id: I68986dccd9a9b3fee4d24caa1947ea17a36caedc
2021-09-23 17:19:55 +01:00
Treehugger Robot
3d3bb3f15c Merge "Add test to TestJavaStableSdkVersion for legacy core platform" am: 3769a27c5e am: 45dd37c6e3 am: 90a5e41516 am: da8ef1d18a am: 246e0d388c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1655611

Change-Id: Ibf571a6f6c29de12d810989d83931f3b660971d2
2021-09-20 15:15:10 +00:00
Treehugger Robot
45dd37c6e3 Merge "Add test to TestJavaStableSdkVersion for legacy core platform" am: 3769a27c5e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1655611

Change-Id: I752f24a2e6b9763019866402a8af6adb3e96ee2a
2021-09-20 14:20:18 +00:00
Treehugger Robot
3769a27c5e Merge "Add test to TestJavaStableSdkVersion for legacy core platform" 2021-09-20 14:04:35 +00:00
Jiakai Zhang
7ef8c14573 Merge changes I9c94a54a,Idc0c73a7 am: 2c6ede11cc am: 23a5cba0af am: 57c29dd3e3 am: 36c6e5583f am: 9c4f4a179f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1824513

Change-Id: Ic1c8e0971d4807c92bdc8138a62c435862e70b69
2021-09-17 12:23:41 +00:00
Jiakai Zhang
d029384d38 Merge "Revert^2 "Preopt APEX system server jars."" am: c9f9d56ed4 am: dc2c1c2625 am: f3d12b3172 am: ac66e68946 am: 611a4eacc6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1828115

Change-Id: Ia5585ff7f08ef6c5c5ea7b2ecd544a25d63a89a8
2021-09-17 12:23:06 +00:00
Jiakai Zhang
23a5cba0af Merge changes I9c94a54a,Idc0c73a7 am: 2c6ede11cc
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1824513

Change-Id: I1f3ce39cd3b3988e676791a59f0c70e2bc80015d
2021-09-17 11:33:22 +00:00
Jiakai Zhang
dc2c1c2625 Merge "Revert^2 "Preopt APEX system server jars."" am: c9f9d56ed4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1828115

Change-Id: I2a991341934af96455f136cbe44ef824f5e3e7f5
2021-09-17 11:33:13 +00:00
Jiakai Zhang
2c6ede11cc Merge changes I9c94a54a,Idc0c73a7
* changes:
  Preopt system server jars with updatable bootclasspath.
  Preopt APEX system server jars from prebuilts.
2021-09-17 11:20:10 +00:00
Jiakai Zhang
c9f9d56ed4 Merge "Revert^2 "Preopt APEX system server jars."" 2021-09-17 11:19:51 +00:00
Martin Stjernholm
460d7bb14c Merge "Remove fallback code path for missing BCP fragments that is no longer necessary." am: 33ce5d6c0e am: 44cbc71c78 am: 6057a13940 am: 6f2cf056ca am: 71ea8b36dd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1821658

Change-Id: I88b0d7bd49e547f91a76203683a30035f459c602
2021-09-16 15:48:45 +00:00