Commit Graph

19580 Commits

Author SHA1 Message Date
Jiyong Park
fa89944c79 apex_available tracks static dependencies
This change fixes a bug that apex_available is not enforced for static
dependencies. For example, a module with 'apex_available:
["//apex_available:platform"]' was able to be statically linked to any
APEX. This was happening because the check was done on the modules that
are actually installed to an APEX. Static dependencies of the modules
were not counted as they are not installed to the APEX as files.

Fixing this bug by doing the check by traversing the tree in the method
checkApexAvailability.

This change includes a few number of related changes:

1) DepIsInSameApex implementation for cc.Module was changed as well.
Previuosly, it returned false only when the dependency is actually a
stub variant of a lib. Now, it returns false when the dependency has one
or more stub variants. To understand why, we need to recall that when
there is a dependency to a lib having stubs, we actually create two
dependencies: to the non-stub variant and to the stub variant during the
DepsMutator phase. And later in the build action generation phase, we
choose one of them depending on the context. Also recall that an APEX
variant is created only when DepIsInSameApex returns true. Given these,
with the previous implementatin of DepIsInSameApex, we did create apex
variants of the non-stub variant of the dependency, while not creating
the apex variant for the stub variant. This is not right; we needlessly
created the apex variant. The extra apex variant has caused no harm so
far, but since the apex_available check became more correct, it actually
breaks the build. To fix the issue, we stop creating the APEX variant
both for non-stub and stub variants.

2) platform variant is created regardless of the apex_available value.
This is required for the case when a library X that provides stub is in
an APEX A and is configured to be available only for A. In that case,
libs in other APEX can't use the stub library since the stub library is
mutated only for apex A. By creating the platform variant for the stub
library, it can be used from outside as the default dependency variation
is set to the platform variant when creating the APEX variations.

3) The ApexAvailableWhitelist is added with the dependencies that were
revealed with this change.

Bug: 147671264
Test: m

Change-Id: Iaedc05494085ff4e8af227a6392bdd0c338b8e6e
2020-02-06 09:16:19 +09:00
Automerger Merge Worker
7dc1ab5712 Merge "Add rules to handle asset resources." am: 387ad5c576 am: d75a5b879f am: 43db53b708
Change-Id: Ib005d9b417c8ec3bf9d5c55405f4345c58ad3390
2020-02-05 23:48:06 +00:00
Automerger Merge Worker
43db53b708 Merge "Add rules to handle asset resources." am: 387ad5c576 am: d75a5b879f
Change-Id: Ia81ca2acee65f589cf99952bd43aca6687468eb7
2020-02-05 23:38:08 +00:00
Automerger Merge Worker
d75a5b879f Merge "Add rules to handle asset resources." am: 387ad5c576
Change-Id: Iae9ef6b005b3d36fe24a805233ae9d1eeb2ad70b
2020-02-05 23:24:49 +00:00
Jaewoong Jung
387ad5c576 Merge "Add rules to handle asset resources." 2020-02-05 22:24:39 +00:00
Automerger Merge Worker
fc375087a3 Merge "Add support for compat config in APEX." am: 86a5dc5575 am: a53ed40948 am: 085528a57a
Change-Id: I3306751d7bf7ac39656e26e6556a36c8ea536f6f
2020-02-05 20:08:07 +00:00
Automerger Merge Worker
085528a57a Merge "Add support for compat config in APEX." am: 86a5dc5575 am: a53ed40948
Change-Id: I55e4b749e2b4ea2910fbc8c77cb8c4637f07471d
2020-02-05 19:53:48 +00:00
Automerger Merge Worker
a53ed40948 Merge "Add support for compat config in APEX." am: 86a5dc5575
Change-Id: I0559c88b0916ab2c037769fd2d0981bddbe62666
2020-02-05 19:38:30 +00:00
Anna Trostanetski
86a5dc5575 Merge "Add support for compat config in APEX." 2020-02-05 19:24:12 +00:00
Automerger Merge Worker
e52822abe3 Merge "Minor cleanup in soong_config_modules documentation." am: e89f7354f8 am: 933afdde06 am: 4e77047d09
Change-Id: Ia04a7e36233c71b734bd7dd8274a6347aca56736
2020-02-05 19:12:46 +00:00
Automerger Merge Worker
4e77047d09 Merge "Minor cleanup in soong_config_modules documentation." am: e89f7354f8 am: 933afdde06
Change-Id: Ifa7d643edce9828e703b6b0723037517cf359280
2020-02-05 19:00:40 +00:00
Automerger Merge Worker
933afdde06 Merge "Minor cleanup in soong_config_modules documentation." am: e89f7354f8
Change-Id: I361ad2aeaa7fec9991adef35165ebf51349483d8
2020-02-05 18:50:54 +00:00
Treehugger Robot
e89f7354f8 Merge "Minor cleanup in soong_config_modules documentation." 2020-02-05 18:41:53 +00:00
Hai Zhang
464dc5fda3 Merge "Use apex_available for PermissionController." 2020-02-05 18:20:55 +00:00
atrost
6e12625c0f Add support for compat config in APEX.
apex module accepts PlatformCompatConfigIntf as prebuilt,
and places it in the etc folder of the apex.

Test: m
Test: flash device with dummy config in mediaprovider APEX -
the config is present
Change-Id: Ifc62cd262f6c6571c1bf6c2943879aa20877ecad
2020-02-05 13:33:50 +00:00
Automerger Merge Worker
6adb8c790a Merge "java_sdk_library use prebuilt jars for numeric sdk_version" am: 50fea3b6a7 am: f2e4ef549c am: bf6bc94be8
Change-Id: I32572f0213f1563989c8e61778fe682ed8e3db20
2020-02-05 08:34:44 +00:00
Automerger Merge Worker
bf6bc94be8 Merge "java_sdk_library use prebuilt jars for numeric sdk_version" am: 50fea3b6a7 am: f2e4ef549c
Change-Id: Ifcb13ebb27199d8ba9b1b486bb02bc96234d46f2
2020-02-05 08:28:58 +00:00
Automerger Merge Worker
f2e4ef549c Merge "java_sdk_library use prebuilt jars for numeric sdk_version" am: 50fea3b6a7
Change-Id: I045cbc885ea516fe97ffd26c40e80f7b4212628d
2020-02-05 08:22:12 +00:00
Paul Duffin
50fea3b6a7 Merge "java_sdk_library use prebuilt jars for numeric sdk_version" 2020-02-05 08:06:52 +00:00
Automerger Merge Worker
020f3b8886 Merge "Dedup adding of arch/common properties to cc library snapshot" am: 26a6eb7971 am: af3948b120 am: f14a1746e5
Change-Id: Iaa2df6f64906251bf6434c3cff0fb50fb563c100
2020-02-04 23:32:30 +00:00
Automerger Merge Worker
f14a1746e5 Merge "Dedup adding of arch/common properties to cc library snapshot" am: 26a6eb7971 am: af3948b120
Change-Id: I93faf41f5a91555016b169b9c74797015d23e698
2020-02-04 23:17:47 +00:00
Automerger Merge Worker
c10e24ab39 Merge "Add support for LINE_COVERAGE (1/2)" am: 08cc141860 am: 94647faa0e am: 8b2df375bb
Change-Id: I9e46a917cc4fe165d1ba36a87928da08b10bffdd
2020-02-04 23:13:17 +00:00
Automerger Merge Worker
af3948b120 Merge "Dedup adding of arch/common properties to cc library snapshot" am: 26a6eb7971
Change-Id: Iece2599958e0bdb9314d72b47401c9fb62c6d50b
2020-02-04 23:05:00 +00:00
Automerger Merge Worker
8b2df375bb Merge "Add support for LINE_COVERAGE (1/2)" am: 08cc141860 am: 94647faa0e
Change-Id: I1e1a1dbf921cd4e51d2fc2b55553899870cb640c
2020-02-04 22:58:19 +00:00
Treehugger Robot
26a6eb7971 Merge "Dedup adding of arch/common properties to cc library snapshot" 2020-02-04 22:57:45 +00:00
Automerger Merge Worker
94647faa0e Merge "Add support for LINE_COVERAGE (1/2)" am: 08cc141860
Change-Id: Iaaaf0e8aef9775784a173e8fd022380833df38f5
2020-02-04 22:46:43 +00:00
Kyriakos Ispoglou
08cc141860 Merge "Add support for LINE_COVERAGE (1/2)" 2020-02-04 22:37:41 +00:00
Bill Peckham
c93258bfec Minor cleanup in soong_config_modules documentation.
Test: build
Change-Id: Ia5a43a024203ca4b714926bcc89f7ec12523b8ad
2020-02-04 13:17:24 -08:00
Paul Duffin
74fc190d90 Dedup adding of arch/common properties to cc library snapshot
Some additional, possibly arch specific, properties need adding to
cc library (e.g. recovery_available). This dedups and cleans up the
code involved to simply the addition of those new properties.

Bug: 142918168
Test: m nothing
Change-Id: I0963aa02e9504af1ae9b427ff1016e7c481465f4
2020-02-04 18:48:31 +00:00
Automerger Merge Worker
577f77c33e Merge "Build rules for compat config docs generation." am: 026ffecb9d am: 5467f3b9ba am: 78ec3d4b73
Change-Id: Iadaab6a5c196e7633a782dcbbaad928798270328
2020-02-04 17:01:33 +00:00
Automerger Merge Worker
78ec3d4b73 Merge "Build rules for compat config docs generation." am: 026ffecb9d am: 5467f3b9ba
Change-Id: Ic94a0b41057c2ce0ef296bdd83c884b0c22efe64
2020-02-04 16:48:47 +00:00
Automerger Merge Worker
5467f3b9ba Merge "Build rules for compat config docs generation." am: 026ffecb9d
Change-Id: I832fad0fd29c99f08118863c7b771a92ac46a585
2020-02-04 16:39:04 +00:00
Anna Trostanetski
026ffecb9d Merge "Build rules for compat config docs generation." 2020-02-04 16:28:40 +00:00
Mathew Inwood
abd49ab4df Build rules for compat config docs generation.
We add a compat config build rule to extract the merged config, and
then update the droiddoc build rule to consume that.

Test: m -j offline-sdk-docs
Bug: 144927670
Change-Id: Ib1e85f97895c89227882e665572bda9bfc2a8cba
Exempt-From-Owner-Approval: ag/10097965 approved internally, Colin requested to patch to aosp
2020-02-04 16:28:22 +00:00
Paul Duffin
a2db18fb1e java_sdk_library use prebuilt jars for numeric sdk_version
Previously, when a library that used a numeric sdk version also
referenced a java_sdk_library it would use the current version of its
API. That was dangerous as there is an expectation that an app building
against a numbered version will also be targeted at that version and
so building against a later version of the API could hide runtime
incompatibilities.

This change will use prebuilt versions of the java_sdk_library's api
when being built for a numbered sdk version.

Bug: 148080325
Test: m droid
Change-Id: I3fd416553950785a443c1702e495a96debc33331
2020-02-04 14:47:04 +00:00
Automerger Merge Worker
f36215b3f5 Merge changes from topic "expose-system-test" am: 1b57531573 am: 364fbba51e am: 9462495940
Change-Id: I670fe7ce6ce8412b4db8ba8c778fff713c3c891f
2020-02-04 08:56:39 +00:00
Automerger Merge Worker
0a18203451 java_sdk_library_import - expose system and test stubs am: 56d4490d59 am: 914c7e38ad am: 5fd7242dea
Change-Id: I3aaca8b8f30e9dcb6096a6dc6e0adaed15838a6a
2020-02-04 08:56:36 +00:00
Automerger Merge Worker
9462495940 Merge changes from topic "expose-system-test" am: 1b57531573 am: 364fbba51e
Change-Id: I1270a8c27b0f0ec4d11b32cae300618378f28c46
2020-02-04 08:44:18 +00:00
Automerger Merge Worker
5fd7242dea java_sdk_library_import - expose system and test stubs am: 56d4490d59 am: 914c7e38ad
Change-Id: I7b514a7f855f366dddb2f95bed078c0f5a34452d
2020-02-04 08:44:15 +00:00
Automerger Merge Worker
364fbba51e Merge changes from topic "expose-system-test" am: 1b57531573
Change-Id: I449bc12e63fbb23ae0fb48973c179da0403a1314
2020-02-04 08:34:18 +00:00
Automerger Merge Worker
914c7e38ad java_sdk_library_import - expose system and test stubs am: 56d4490d59
Change-Id: Ic3c8c2519001405cd004214e52a4685d9bd68657
2020-02-04 08:34:15 +00:00
Paul Duffin
1b57531573 Merge changes from topic "expose-system-test"
* changes:
  Remove legacy properties from java_sdk_library_import
  java_sdk_library_import - expose system and test stubs
2020-02-04 08:26:30 +00:00
Automerger Merge Worker
49a412c027 [automerger skipped] Merge "Build native coverage variant of APEXes when needed" into qt-dev am: abc4f820a1 am: 8ee870a540 -s ours am: 785b894230 -s ours
am skip reason: Change-Id I97bcee9bf8ffc0dc71453abbdb613ed56ea2cdb4 with SHA-1 ee9a98d88e is in history

Change-Id: Ia43cc357b443a2f8ea376d3a357031561273e83e
2020-02-04 01:06:48 +00:00
Automerger Merge Worker
785b894230 [automerger skipped] Merge "Build native coverage variant of APEXes when needed" into qt-dev am: abc4f820a1 am: 8ee870a540 -s ours
am skip reason: Change-Id I97bcee9bf8ffc0dc71453abbdb613ed56ea2cdb4 with SHA-1 ee9a98d88e is in history

Change-Id: Ia5d33ac1024e73611e074059626eb582245bef07
2020-02-04 01:00:44 +00:00
Automerger Merge Worker
8ee870a540 Merge "Build native coverage variant of APEXes when needed" into qt-dev am: abc4f820a1
Change-Id: Id11c85eb9c5dea8a43486a70409ae370d1faa938
2020-02-04 00:54:27 +00:00
TreeHugger Robot
abc4f820a1 Merge "Build native coverage variant of APEXes when needed" into qt-dev 2020-02-04 00:43:58 +00:00
Automerger Merge Worker
5af05cc080 Merge "Disable no-vendor-variant VNDK for CFI modules" am: 6cee077b0b am: 4e702abe65 am: 24f82725ab
Change-Id: Ic852d1d25cff79aa7d0574428ef84d62dc304de9
2020-02-03 21:44:09 +00:00
Automerger Merge Worker
24f82725ab Merge "Disable no-vendor-variant VNDK for CFI modules" am: 6cee077b0b am: 4e702abe65
Change-Id: Ia78a3947360801a79e22ccf6e2b100df3b7cfcf7
2020-02-03 21:32:06 +00:00
Automerger Merge Worker
4e702abe65 Merge "Disable no-vendor-variant VNDK for CFI modules" am: 6cee077b0b
Change-Id: Ibfc2a4a49b7934e58191b688f27350250f995dbd
2020-02-03 21:23:27 +00:00
Vic Yang
6cee077b0b Merge "Disable no-vendor-variant VNDK for CFI modules" 2020-02-03 21:09:47 +00:00