Commit Graph

2576 Commits

Author SHA1 Message Date
Paul Duffin
70d3bee3e0 Remove emptyFixtureFactory from apex and java
Bug: 183235980
Test: m nothing
Change-Id: I350b45e2f57430fb158f4141a566e75de17208cd
2021-03-22 18:31:53 +00:00
Paul Duffin
6bef6fee3c Merge "Ensure that DepIsInSameApex is not called for ExcludeFromApexContentsTag" 2021-03-22 18:30:10 +00:00
satayev
670ae1967f Merge changes from topic "move_allowed_deps_txt" am: 2b077baa5e am: 0ee372ad6f am: 3c5d96925f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1645088

Change-Id: I568df8371fb3eab090d417469c9d78a27be9d527
2021-03-22 12:45:29 +00:00
satayev
2b077baa5e Merge changes from topic "move_allowed_deps_txt"
* changes:
  Treat allowed_deps.txt source file as optional.
  Move allowed_deps.txt to packages/modules/common.
2021-03-22 10:48:45 +00:00
Paul Duffin
cba0e1518f Merge "Cleanup the now unused testCustomizer" am: 50e49818a3 am: a1cf464f06 am: 605946671c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1647199

Change-Id: Ieecab8e619eb27345b86269692a31a1ada75eb57
2021-03-22 10:00:22 +00:00
Paul Duffin
7ae8fc2a6c Merge "Convert test specific customizers to FixturePreparers" am: b535616a84 am: b7f2455646 am: 3fa8037bde
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1647198

Change-Id: I6df4da9131ce4da86babe0d7977dcb04fcf0a8ba
2021-03-22 10:00:14 +00:00
Paul Duffin
710c370485 Merge "Convert shared customizer functions to return FixturePreparers" am: 7ba0448314 am: 47e8b9af4e am: 85ca23b70e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1647197

Change-Id: I223001416be6cc38c55ae4415536a0740a43e48f
2021-03-22 10:00:05 +00:00
Paul Duffin
992c564089 Merge "Allow test handlers to be either FixturePreparer or testCustomizer" am: 241f547365 am: 8381f3c74e am: d80d2f227a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1629633

Change-Id: Idd57f47b037c65dbcd4f106b5fcd4b7413c5fe1a
2021-03-22 09:59:56 +00:00
Paul Duffin
1c62e2eaa6 Merge "Convert apex/boot_image_test.go to use test fixtures" am: 043427b276 am: e20b5ea05e am: 8b92fdf019
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1626508

Change-Id: Ie9919a542222bf117b50cbc4385f7309bea723ae
2021-03-22 09:59:47 +00:00
Paul Duffin
40931a80f3 Merge "Switch testApex and related methods to use test fixtures" am: 32b0e07228 am: 7b1a647d0d am: 0cd1c99cbd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1626507

Change-Id: If591adb259ad8a8e7039bb283743b89c34b848f8
2021-03-22 09:59:38 +00:00
Paul Duffin
605946671c Merge "Cleanup the now unused testCustomizer" am: 50e49818a3 am: a1cf464f06
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1647199

Change-Id: I5ad22fc23ae556c01adb415d7639efda1bbb23b9
2021-03-22 09:15:22 +00:00
Paul Duffin
3fa8037bde Merge "Convert test specific customizers to FixturePreparers" am: b535616a84 am: b7f2455646
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1647198

Change-Id: I71c78c371952d89aa742e07f5f412536c554c4c4
2021-03-22 09:15:14 +00:00
Paul Duffin
85ca23b70e Merge "Convert shared customizer functions to return FixturePreparers" am: 7ba0448314 am: 47e8b9af4e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1647197

Change-Id: I3b9cf01007f3cd29bb0e8a363330d3e4ddb960cf
2021-03-22 09:15:07 +00:00
Paul Duffin
d80d2f227a Merge "Allow test handlers to be either FixturePreparer or testCustomizer" am: 241f547365 am: 8381f3c74e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1629633

Change-Id: I0187b3dcb18c4bb465b26c52098fcbc6feec6218
2021-03-22 09:15:00 +00:00
Paul Duffin
8b92fdf019 Merge "Convert apex/boot_image_test.go to use test fixtures" am: 043427b276 am: e20b5ea05e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1626508

Change-Id: I261edc986b7f2489fdab0c7f3798d96f4d124933
2021-03-22 09:14:51 +00:00
Paul Duffin
0cd1c99cbd Merge "Switch testApex and related methods to use test fixtures" am: 32b0e07228 am: 7b1a647d0d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1626507

Change-Id: Ic0de1a6802431c736f963e9843a05693d7cee7d4
2021-03-22 09:14:43 +00:00
Paul Duffin
4c3e8e2d67 Ensure that DepIsInSameApex is not called for ExcludeFromApexContentsTag
The ExcludeFromApexContentsTag marker interface was added to avoid
every implementation of DepIsInSameApex() from having to deal with the
special tags, like PrebuiltDepTag. Unfortunately, when adding that
not all calls to DepIsInSameApex() were protected which meant that the
BootImageModule, which panics if it doesn't recognize a tag, was
causing failures. This change documents the need and improves the
consistency.

A follow up change will add a test for this.

Bug: 182992071
Test: m nothing
Change-Id: If0bf9a7447ebf7a0bb0c88e91951a7220d4af45c
2021-03-22 08:43:55 +00:00
Paul Duffin
40b6257dc1 Cleanup the now unused testCustomizer
Bug: 181070625
Test: m nothing
Change-Id: I825e0da53b7fd82f4ef33d7183351c1f2ed8ee23
2021-03-20 11:42:48 +00:00
Paul Duffin
0a49fdca0b Convert test specific customizers to FixturePreparers
Bug: 181070625
Test: m nothing
Change-Id: I1c4b7303a1153b040b7266e95b06d172554dc52a
2021-03-20 11:39:23 +00:00
Paul Duffin
810f33d9ee Convert shared customizer functions to return FixturePreparers
Bug: 181070625
Test: m nothing
Change-Id: I8d09f91a3db23eb36cd73a13e418df98949ec72d
2021-03-20 11:33:03 +00:00
Paul Duffin
2be9dcd3aa Allow test handlers to be either FixturePreparer or testCustomizer
This allows the testCustomizers to be switched to FixturePreparers
incrementally rather than in one go.

Bug: 181070625
Test: m nothing
Change-Id: Idd9d2e28abf9b17fc46b5566ab8d3affa330287e
2021-03-20 10:25:45 +00:00
Paul Duffin
34d433ad7e Convert apex/boot_image_test.go to use test fixtures
Bug: 181070625
Test: m nothing
Change-Id: I940353e32233317d9e932b2d61908125e4c33766
2021-03-20 10:25:45 +00:00
Paul Duffin
e05480ac47 Switch testApex and related methods to use test fixtures
Bug: 181070625
Test: m nothing
Change-Id: Icdd9c3d807d5497ef85946a877c6cd4b4af045bc
2021-03-20 10:25:45 +00:00
Justin Yun
43ad83767b Merge "Define __ANDROID_VENDOR__ and __ANDROID_PRODUCT__" am: b1d5479783 am: 2d0020dbbd am: 76e4387707
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1620648

Change-Id: I507c493b93fc1fdfefe7f2d01e50e2c22e036368
2021-03-19 01:50:55 +00:00
Justin Yun
76e4387707 Merge "Define __ANDROID_VENDOR__ and __ANDROID_PRODUCT__" am: b1d5479783 am: 2d0020dbbd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1620648

Change-Id: Ic0accb0b64f1034ed41ebeb8bc3e583678d114a9
2021-03-19 01:07:17 +00:00
Justin Yun
b1d5479783 Merge "Define __ANDROID_VENDOR__ and __ANDROID_PRODUCT__" 2021-03-18 23:33:43 +00:00
Paul Duffin
df06ca4ed2 Merge "Prevent ApexInfoMutator from creating unnecessary variants" am: b72dd403de am: 03cf98057f am: 351ae039aa
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1642102

Change-Id: Iecfaa2ee6623155e8bd0a485e59ceb10a75bbc5c
2021-03-18 17:30:03 +00:00
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