Commit Graph

2599 Commits

Author SHA1 Message Date
Paul Duffin
351ae039aa Merge "Prevent ApexInfoMutator from creating unnecessary variants" am: b72dd403de am: 03cf98057f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1642102

Change-Id: I395372d6b1088789330644214d8aec41a8a6370a
2021-03-18 16:30:14 +00:00
Paul Duffin
c76957fd75 Merge "Add prebuilt_platform_compat_config" am: d5065cfc66 am: c5b7854036 am: 8185bd8586
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1642109

Change-Id: Ifb7ff86d694146b0bbc30ca607bf160cd4ce7911
2021-03-18 15:19:19 +00:00
Paul Duffin
d46309e3ad Merge "Correct typo in the name of compatConfigTag" am: 603fa13e08 am: 7eccf3774b am: 0176573920
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1642108

Change-Id: I57c8dda9dfc4eac6d6b1e51de84fb70b01ec6109
2021-03-18 15:16:53 +00:00
Paul Duffin
26b1da534b Merge "Allow apex dependencies to be restricted to source modules only" am: c0a5ccbf3b am: 69f4244007 am: 25703000a5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1642107

Change-Id: I1aa04096592ef837d29dde57c8a53b117143c9fd
2021-03-18 15:16:46 +00:00
Paul Duffin
b72dd403de Merge "Prevent ApexInfoMutator from creating unnecessary variants" 2021-03-18 15:13:39 +00:00
Paul Duffin
8185bd8586 Merge "Add prebuilt_platform_compat_config" am: d5065cfc66 am: c5b7854036
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1642109

Change-Id: I85be48a0c65bc9caa2e2d4b7063ac41ec2581b6c
2021-03-18 13:12:21 +00:00
Artur Satayev
b77b0c5e05 Treat allowed_deps.txt source file as optional.
Not all branches have packages/common/module, which breaks the build
for them.

Bug: 179234385
Test: removed allowed_deps.txt && m apex-allowed-deps-check
Change-Id: I38f47c7200e1afbd899e29843d0214bef826fcf9
2021-03-18 11:15:33 +00:00
Paul Duffin
0176573920 Merge "Correct typo in the name of compatConfigTag" am: 603fa13e08 am: 7eccf3774b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1642108

Change-Id: I68e973776e85b2966ca182eb21d9fa4296c2cee0
2021-03-18 09:13:44 +00:00
Paul Duffin
25703000a5 Merge "Allow apex dependencies to be restricted to source modules only" am: c0a5ccbf3b am: 69f4244007
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1642107

Change-Id: I97bdc2f4f20f15bc72708f461eb05d9f2a2e597d
2021-03-18 09:13:38 +00:00
Paul Duffin
573989d821 Prevent ApexInfoMutator from creating unnecessary variants
Adds the AlwaysRequireApexVariantTag interface to enable
ApexInfoMutator to differentiate between a tag that is excluded from
apex contents but still requires an apex variant and a tag that is
excluded from apex contents and does not require an apex variant.

That is needed to support the sdkMemberVersionedDepTag which excludes
the target from being added to the APEX but requires an APEX variant.
A more detailed explanation is in the comments.

The AlwaysRequireApexVariant() method follows the pattern used in
ReplaceSourceWithPrebuilt of having a method that returns a bool to
trigger the behavior and not say ExcludeFromApexContentsTag that simply
relies on the tag implementing an interface to trigger. That is because
the former is more flexible and allows a tag type to parameterize the
behavior if necessary.

The tags that this will exclude from creating an apex variant are:
* PrebuiltDepTag - by the time the apex variant has been created any
  preferred prebuilts will have replaced the sources so there is no
  need to create an APEX variant if the only dependency path from the
  APEX to the prebuilt is via this tag.
* hiddenApiAnnotationsDependencyTag - the target of which is a purely
  build time artifect and MUST NEVER end up in the APEX.

It will also stop calling DepIsInSameApex for any dependency created
by the sdkMemberVersionedDepTag. Which will fix the issue reported in
the bug.

Bug: 182992071
Test: m nothing
Change-Id: I9569e488d6446ca45d3ea8f32a9b74524eb865df
2021-03-18 09:05:28 +00:00
TreeHugger Robot
b39e6fa1ad Merge "Move allowed_deps.txt to packages/modules/common." into rvc-qpr-dev-plus-aosp 2021-03-17 21:02:33 +00:00
Paul Duffin
1b29e003f3 Add prebuilt_platform_compat_config
It just provides the metadata needed by the global singleton as the
rest is in the apex.

Bug: 182402754
Test: m nothing
Change-Id: I511df7a3a06dab13ddb9ad63392ae5310dfee9c4
2021-03-17 18:16:31 +00:00
Paul Duffin
0b8177873a Correct typo in the name of compatConfigTag
It was called compatConfigsTag which is inconsistent.

Bug: 182402754
Test: m nothing
Change-Id: I4636d72cee53b361f3b0ab17789e61a439c34edf
2021-03-17 18:16:31 +00:00
Paul Duffin
8c535dad36 Allow apex dependencies to be restricted to source modules only
An upcoming change to create a prebuilt_platform_compat_config module
will break if the apex tries to use it instead of a
platform_compat_config because the former does not provide all the
information that the apex needs. This change will allow the
compatConfigsTag to be configured to prevent the prebuilt from being
used even when it is preferred.

Bug: 182402754
Test: m nothing
Change-Id: Ib9dc06c038f7cf3fc229f3c4d2b025335a4715b4
2021-03-17 18:16:31 +00:00
Artur Satayev
f67c06a7f5 Move allowed_deps.txt to packages/modules/common.
Bug: 179234385
Test: run update-apex-allowed-deps.sh locally
Change-Id: I8e8864468b87342c688d001bc5f6e6f8416863ed
Merged-In: I8e8864468b87342c688d001bc5f6e6f8416863ed
2021-03-17 15:26:16 +00:00
Artur Satayev
fdb61edf43 Move allowed_deps.txt to packages/modules/common.
Bug: 179234385
Test: run update-apex-allowed-deps.sh locally
Change-Id: I8e8864468b87342c688d001bc5f6e6f8416863ed
Merged-In: I8e8864468b87342c688d001bc5f6e6f8416863ed
2021-03-17 13:44:16 +00:00
TreeHugger Robot
a089ef0de4 Merge "Move allowed_deps.txt to packages/modules/common." into sc-dev 2021-03-16 17:45:34 +00:00
Paul Duffin
cdf2426d76 Switch platform_compat_config to use common arch am: 4defbf4d39 am: 75c51ba191 am: e9292b1459
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1638281

Change-Id: I43f4b4ff67f19326ba4124a4ed86ef4ce86feaef
2021-03-16 17:30:06 +00:00
Paul Duffin
fc0b2c7f6b Disallow platform_compat_config modules in apex prebuilts property am: 1bc21dc7e6 am: c6df3b278a am: 3c54ef1e10
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1638280

Change-Id: I62615c1ed2069dfed50c1a576dbd8f702ece662b
2021-03-16 15:46:29 +00:00
Artur Satayev
8dfcbe466c Move allowed_deps.txt to packages/modules/common.
Bug: 179234385
Test: run update-apex-allowed-deps.sh locally
Change-Id: I8e8864468b87342c688d001bc5f6e6f8416863ed
Merged-In: I8e8864468b87342c688d001bc5f6e6f8416863ed
(cherry picked from commit 732d626421)
2021-03-16 15:02:55 +00:00
Paul Duffin
e9292b1459 Switch platform_compat_config to use common arch am: 4defbf4d39 am: 75c51ba191
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1638281

Change-Id: I213738e09bee4613f93203b0dd6e935b07957114
2021-03-16 14:45:28 +00:00
Paul Duffin
3c54ef1e10 Disallow platform_compat_config modules in apex prebuilts property am: 1bc21dc7e6 am: c6df3b278a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1638280

Change-Id: I3994109c2acb934d2be6039d8fdbf556b4783774
2021-03-16 14:45:17 +00:00
Paul Duffin
c605053f97 Add new compat_configs property to the apex am: 3abc174cfd am: d4716ce5a6 am: f75ab18b5b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1638279

Change-Id: I2cd91954b7fba10e1c5cbbef194fc365b3103745
2021-03-16 10:11:22 +00:00
Paul Duffin
a13f1c8dc0 Convert TestCompatConfig test to use test fixtures am: a369c7b50d am: 28cae4ca6f am: 6fb02328eb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1626505

Change-Id: I852b9b300a6e98c765e3c968023399b1152faa20
2021-03-16 09:51:45 +00:00
Paul Duffin
f75ab18b5b Add new compat_configs property to the apex am: 3abc174cfd am: d4716ce5a6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1638279

Change-Id: I3822016f85c030f27820538ba133ec007861417c
2021-03-16 08:05:09 +00:00
Paul Duffin
6fb02328eb Convert TestCompatConfig test to use test fixtures am: a369c7b50d am: 28cae4ca6f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1626505

Change-Id: Ief32c21320ead2b92f47b3e485e2c3736290903f
2021-03-16 08:05:05 +00:00
Paul Duffin
4defbf4d39 Switch platform_compat_config to use common arch
Bug: 182816033
Test: m nothing
Change-Id: If8886edd9278d67fe2b6288a6bd8b152f2314401
2021-03-15 23:19:39 +00:00
Paul Duffin
1bc21dc7e6 Disallow platform_compat_config modules in apex prebuilts property
Bug: 182816033
Test: m nothing
Change-Id: I50dcc358e8ae143e21b1fbf1a12835bf1342606f
2021-03-15 23:19:39 +00:00
Paul Duffin
3abc174cfd Add new compat_configs property to the apex
Bug: 182816033
Test: m nothing
Change-Id: I485d7b178c0ed17e336a6ac2a13e8313426f374b
2021-03-15 23:19:36 +00:00
Paul Duffin
a369c7b50d Convert TestCompatConfig test to use test fixtures
As this test is the only test in the apex package to use the
platform_compat_config module type it does not make sense to include
that in all the tests so instead this converts the test to use fixtures
so it can easily customize it with the additional module type.

Bug: 181070625
Test: m nothing
Change-Id: I56fda772ee336db6cfb677143aa28b1a18911bff
2021-03-15 19:56:38 +00:00
satayev
b5c1a74f5d Merge "Don't track modules that are only available to APEXes." am: 2338d6f6e4 am: ebfe02a781 am: 13c655bf29
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1628693

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8794765359558cfee7c9d1cb2ef74674a244f283
2021-03-15 14:11:23 +00:00
satayev
13c655bf29 Merge "Don't track modules that are only available to APEXes." am: 2338d6f6e4 am: ebfe02a781
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1628693

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I468324eaa0ed012feba41cbf99809c8bd6ea397c
2021-03-15 13:28:54 +00:00
Paul Duffin
8a63b042d5 Merge "Convert ...InstallHwasan.. tests to use fixtures" am: ef0449b0f3 am: feed9a6153 am: 972e1eafe0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1626503

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5d49be067f9984b1497dde48d39a4b25d9dda6a3
2021-03-15 12:55:23 +00:00
satayev
2338d6f6e4 Merge "Don't track modules that are only available to APEXes." 2021-03-15 12:47:00 +00:00
Paul Duffin
972e1eafe0 Merge "Convert ...InstallHwasan.. tests to use fixtures" am: ef0449b0f3 am: feed9a6153
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1626503

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I198ca31959a9f549af19344c136b30d6efd4cbe8
2021-03-15 12:12:47 +00:00
Paul Duffin
ef0449b0f3 Merge "Convert ...InstallHwasan.. tests to use fixtures" 2021-03-15 11:09:22 +00:00
Nicolas Geoffray
d45fa2d8ba Merge "Treat core_platform as stable unless module uses legacy" am: fb856f6add am: b684567a46 am: 5a8f6c5c96
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1619411

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5a43ed15e67d55c3e05d09698ca73520ef185745
2021-03-15 10:38:11 +00:00
Nicolas Geoffray
5a8f6c5c96 Merge "Treat core_platform as stable unless module uses legacy" am: fb856f6add am: b684567a46
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1619411

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I501e1099d77697b34c70f13b064840b94424d52d
2021-03-15 09:57:43 +00:00
Nicolas Geoffray
fb856f6add Merge "Treat core_platform as stable unless module uses legacy" 2021-03-15 08:42:43 +00:00
Justin Yun
13decfb0bb Define __ANDROID_VENDOR__ and __ANDROID_PRODUCT__
__ANDROID_VNDK__ is defined for the modules that are able to use the
VNDK libraries. As both product and vendor variants define
__ANDROID_VNDK__, we don't know if a module is built for vendor or
product on build time.

__ANDROID_VENDOR__ and __ANDROID_PRODUCT__ macros can be used to
specify the image-variant-dependent codes.

Bug: 180646847
Test: m nothing
Change-Id: Id6c3e1e3d47deaf3684c0c02964718658cf2fec5
2021-03-15 17:28:59 +09:00
Paul Duffin
a02cae345b Convert ...InstallHwasan.. tests to use fixtures
These tests rely on changing the definition of the "libc" module which
is a default module provided by the cc.GatherRequiredDepsForTest()
function. That function is called from within testApexContext() and so
added by default.

Previously, the tests relied on a number of factors to work:
1. All the default cc modules were added to the bp contents that were
   passed to testApexContext().
2. testApexContext() passed the augmented bp contents to
   TestArchConfig().
3. TestArchConfig() only stored the supplied bp contents in the root
   Android.bp file if it did not exist.

So, in order to override the default modules it simply made sure to add
its own Android.bp file into the file system first.

Unfortunately, that does not work with the test fixtures as the default
modules are defined in their own specific paths to avoid conflicting
with each other. To achieve the same effect as previously, i.e. no
default modules, this test uses an emptyFixtureFactory and only adds
preparers for cc and apex build components and ignores the default
module definitions altogether.

Bug: 181070625
Test: m nothing
Change-Id: Ic6b961dd2bd78c32cb326b2c7905426ee971c2d8
2021-03-12 18:26:41 +00:00
TreeHugger Robot
84c192f566 Merge "Allow ExtServices to use tflite_support" into mainline-prod am: 9c2890cac3
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/soong/+/13806986

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I17909dd25cecc0cd284becc274311feabe7cfac3
2021-03-12 17:19:25 +00:00
TreeHugger Robot
9c2890cac3 Merge "Allow ExtServices to use tflite_support" into mainline-prod 2021-03-12 16:43:07 +00:00
Lev Proleev
a2f2edcb68 Merge "Add libruy_static to allowed_deps" am: f6b5f8217c am: 894c8eb61b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1610793

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Icb0b3dd46d8e5aec6d5c1aadd1943a8b3f7a1fcd
2021-03-12 15:14:56 +00:00
Lev Proleev
f6b5f8217c Merge "Add libruy_static to allowed_deps" 2021-03-12 14:00:45 +00:00
Paul Duffin
d03f6a868f Merge changes Ifc96992e,Ic76523ba am: c10ee77ea6 am: b1ef3e2ce9 am: b587704556
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1628691

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I15bfdaef65a848ec6ed0210c883195409ce85814
2021-03-12 09:44:13 +00:00
Paul Duffin
b587704556 Merge changes Ifc96992e,Ic76523ba am: c10ee77ea6 am: b1ef3e2ce9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1628691

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7f98cabe5a6ddae90458f7dc8a8b1725095493f4
2021-03-12 09:02:39 +00:00
Sophie Zheng
663778c712 Merge "Fix getting list of module libraries in builder.go" into mainline-prod 2021-03-11 23:38:08 +00:00
Artur Satayev
533b98cde3 Don't track modules that are only available to APEXes.
Modules that are not available for platform are developed with
updatability in mind, and do not require manual approvals.

Bug: 181223240
Test: checkbuild
Change-Id: I10b91053b3ef5a9ff5400d9d7a68fae3144a671c
2021-03-11 18:13:18 +00:00
Paul Duffin
37aad60507 Add apexFixtureFactory to apex package
Unlike the similar changes in other packages this change separates the
addition of the fixture factory and the conversion of the test...
methods to use them as there are a few tests that need converting to
use test fixtures first.

Bug: 181070625
Test: m nothing
Change-Id: Ic76523ba89fc1967631aeb682935935b5af116df
2021-03-11 17:25:29 +00:00