summaryrefslogtreecommitdiff
path: root/StubLibraries.bp
AgeCommit message (Collapse)Author
2020-06-18Enable metalava sandbox in StubLibraries.bp and ApiDocs.bp.Ramy Medhat
Test: built entire topic with and without RBE_METALAVA. Change-Id: Ia5767debc713a420b8d008943903238413d0816d
2020-06-04Add non-updatable-api trackingAnton Hansson
This adds stub generation for the non-updatable part of the platform. This is a partial cherry pick of I255486112c03f237aa342cfb93f3b473a2f50470 Test: m (checkapi) Merged-In: I255486112c03f237aa342cfb93f3b473a2f50470 Change-Id: I914c416e171253dacfa3c6d44ae4ef1ea6530a46
2020-06-04Make non-updatable stubs depend on sdk 29Anton Hansson
There are a few classes from modules referenced as type arguments in the non-updatable part of the API, which need to be resolved. The current dependencies that satisfy those references create dependency cycles when we change the big stubs to be assembled from other stubs. I considered two options for breaking that cycle: 1) depending on a previous SDK 2) add empty classes in a simple manual stub lib This CL does #1. #2 is more work, but may be required when/if we want to reference a newly-added API in the same release. Bug: 144149403 Bug: 149906971 Test: m Change-Id: I3c5e611ca45536bdd931291e663a21757e35992f Merged-In: I3c5e611ca45536bdd931291e663a21757e35992f (cherry picked from commit 394febc71bb37a6df748421d38e55dd28e1c2667)
2020-06-02Merge "Switch to standard naming scheme" into rvc-dev am: f94d682a9bPaul Duffin
Original change: undetermined Change-Id: I57cffc68409c2e9b795b0c8732fecc9bbf33e113
2020-06-02Switch to standard naming schemePaul Duffin
Removes use of the special framework-modules naming scheme. Bug: 155164730 Test: m java Exempt-From-Owner-Approval: Build cleanup. Change-Id: I3b78fcbcacc3df787e171d6eedeef1e51b087615 Merged-In: I0c31e2183353dfb5bd49f04f3455cb7b10be6866 (cherry picked from 8b864fb45ce79051437f13c2a19510718ea3b7aa)
2020-05-27Merge "Add package html files of droidstubs rules as inputs." am: d3243c5b4e ↵Ramy Medhat
am: 732df78438 Change-Id: I891652827e6336a74433b90448408a3c3a3ad6a1
2020-05-27Merge "Add package html files of droidstubs rules as inputs."Ramy Medhat
2020-05-27Add package html files of droidstubs rules as inputs.Ramy Medhat
Test: built aosp-crosshatch-userdebug with RBE_METALAVA=1. Change-Id: I50ae5d361dd3b488fcdb4946b5629ab3ece05e27
2020-05-26Use tags to access conscrypt sourcesPaul Duffin
Avoids direct access to the stub sources and instead access them via tags passed to the java_sdk_library. Bug: 155164730 Test: m checkapi Merged-In: I93dfb8bfac60bd7ab628292667c8d7a9d5e8eb82 Change-Id: I93dfb8bfac60bd7ab628292667c8d7a9d5e8eb82 (cherry picked from commit e55d4e3b6231d41c165ec0dd52fa6ca2e3913799)
2020-05-26Merge "Use tags to access conscrypt sources" am: 5b0971801f am: 5179aa1472Treehugger Robot
Change-Id: I5da84fc9d390fb112fe57daa0ef98751779ba792
2020-05-26Use tags to access conscrypt sourcesPaul Duffin
Avoids direct access to the stub sources and instead access them via tags passed to the java_sdk_library. Bug: 155164730 Test: m checkapi Change-Id: I93dfb8bfac60bd7ab628292667c8d7a9d5e8eb82
2020-05-25Compose the main stubs jars from module stubsAnton Hansson
This adds stub generation for the non-updatable part of the platform, and changes the full stub jars to be a combination of multiple jars: the stubs of the updatable modules and the stubs of the remaining part of the platform. Composing the stub jars like this allows overriding the individual parts with prebuilts rather than building everything from source. This makes the build safer, as we can make sure that the stub of the apex that is used is also what is used to build the rest of the platform against. The monolithic droidstubs rules remain for now, as it has other functions than generating stub sources (api lint, current.txt, checklast). It remains a goal to get rid of this, but by submitting this CL first it can be done in steps. Bug: 144149403 Test: m android{,_system}_{monolith,merged}_stubs_current Test: m Change-Id: I255486112c03f237aa342cfb93f3b473a2f50470 Merged-In: I255486112c03f237aa342cfb93f3b473a2f50470
2020-05-25Compose the main stubs jars from module stubsAnton Hansson
This adds stub generation for the non-updatable part of the platform, and changes the full stub jars to be a combination of multiple jars: the stubs of the updatable modules and the stubs of the remaining part of the platform. Composing the stub jars like this allows overriding the individual parts with prebuilts rather than building everything from source. This makes the build safer, as we can make sure that the stub of the apex that is used is also what is used to build the rest of the platform against. The monolithic droidstubs rules remain for now, as it has other functions than generating stub sources (api lint, current.txt, checklast). It remains a goal to get rid of this, but by submitting this CL first it can be done in steps. Bug: 144149403 Test: m android{,_system}_{monolith,merged}_stubs_current Test: m Change-Id: I255486112c03f237aa342cfb93f3b473a2f50470 Merged-In: I255486112c03f237aa342cfb93f3b473a2f50470
2020-05-20Remove nullablility annotations from module-libAnton Hansson
They were added to workaround the problem of package-private versions being added to the stubs, which prevented use of the annotations from mainline modules. Having them in the API leads to a different problem -- this version of the nullability annotations have SOURCE retention. However in the stubs build we want to have CLASS retention, so that kotlin can make use of their presence. This is arguably a much cleaner fix, since having a source-retention annotation doesn't really make much sense. Bug: 157010342 Test: m Change-Id: Id78f00da5b6af2930224a82faa24cb8235362521 Merged-In: Id78f00da5b6af2930224a82faa24cb8235362521
2020-05-20Remove nullablility annotations from module-libAnton Hansson
They were added to workaround the problem of package-private versions being added to the stubs, which prevented use of the annotations from mainline modules. Having them in the API leads to a different problem -- this version of the nullability annotations have SOURCE retention. However in the stubs build we want to have CLASS retention, so that kotlin can make use of their presence. This is arguably a much cleaner fix, since having a source-retention annotation doesn't really make much sense. Bug: 157010342 Test: m Change-Id: Id78f00da5b6af2930224a82faa24cb8235362521 Merged-In: Id78f00da5b6af2930224a82faa24cb8235362521
2020-05-07Merge "Move conscrypt from the set of non-updatable APIs" into rvc-dev am: ↵Anton Hansson
4963e51f97 Change-Id: I24c98a065565b5044de954bd6b057ffe350747a2
2020-05-07Move conscrypt from the set of non-updatable APIsAnton Hansson
This has no practical effect in this CL, but in a future CL we are changing the stub jars to be assembled by merging other jar files, at which point we want to conscrypt to not be in the non-updatable jar. Bug: 144149403 Test: m Change-Id: Iacfcc3a789cb42a73cc4b4c89a215db0ea09800f Merged-In: Iacfcc3a789cb42a73cc4b4c89a215db0ea09800f (cherry picked from commit e89d37d6d88de0cd3ca2fdbcd5648bb0f4c7310f)
2020-05-07Move conscrypt from the set of non-updatable APIsAnton Hansson
This has no practical effect in this CL, but in a future CL we are changing the stub jars to be assembled by merging other jar files, at which point we want to conscrypt to not be in the non-updatable jar. Bug: 144149403 Test: m Change-Id: Iacfcc3a789cb42a73cc4b4c89a215db0ea09800f
2020-05-06Merge "Fix last-released check of removed.txt" into rvc-dev am: 0cdc5c26bcAnton Hansson
Change-Id: I59fe3c346bc14e29f78da503254bbebc7b0cb660
2020-05-04Merge "Change last-released filegroup" into rvc-dev am: de9867d3dbAnton Hansson
Change-Id: Icdb4b7c453bfb8c0dd49369b111076f8974f9958
2020-05-04Change last-released filegroupAnton Hansson
There were two different filegroups referencing the same last released APIs. Delete the manually defined one and switch references over to use the one defined by prebuilt_apis. Bug: 155197156 Test: m Change-Id: Ib15d2c08e6400546ca03de6bfd4e5cbcc938c992 Merged-In: Ib15d2c08e6400546ca03de6bfd4e5cbcc938c992
2020-05-02Fix last-released check of removed.txtAnton Hansson
The last-released checks should check compatibility of the removed.txt file generated from src with the checked in last-released removed.txt. It was previously checking compatibility with the checked in removed.txt at HEAD, which is what check_api is for. Bug: 155197156 Test: m checkapi Change-Id: I0f4eca5a30ee13e2c098ccf50e1b992adf4e22cb
2020-05-02Change last-released filegroupAnton Hansson
There were two different filegroups referencing the same last released APIs. Delete the manually defined one and switch references over to use the one defined by prebuilt_apis. Bug: 155197156 Test: m Change-Id: Ib15d2c08e6400546ca03de6bfd4e5cbcc938c992
2020-04-27Rename conscrypt-module-public-api-stubs-sourcePaul Duffin
Renamed conscrypt-module-public-api-stubs-source to conscrypt.module.public.api.stubs.source to match the format of the name created by java_sdk_library. This is in preparation for switching to use java_sdk_library to generate conscrypt's public API. Bug: 153443117 Bug: 153306490 Test: m nothing Merged-In: I26ad21cf74ad3600de250df8e84deec65b91b3f9 Change-Id: I26ad21cf74ad3600de250df8e84deec65b91b3f9 (cherry picked from commit 29adf462b6346644678809a792c803b8841dc956)
2020-04-27Reference libcore, conscrypt and icu sources directlyPaul Duffin
Avoids an extra aggregation step in the creation of the API sources. Bug: 153306490 Test: m nothing Bug: 142935992 Merged-In: Ia15c3ceb9fc59e7945687536c60ce265ec95781e Change-Id: Ia15c3ceb9fc59e7945687536c60ce265ec95781e (cherry picked from commit 5c89e70a1fbbc9f9251342358835c8a139eb2285)
2020-04-23Merge "Remove obsolete droidstub args"Anton Hansson
2020-04-23Merge "Remove obsolete droidstub args" into rvc-dev am: 19f58926e3Anton Hansson
Change-Id: I28ad01b85a1f88a8b259b51463dee6dd00fdd896
2020-04-22Remove obsolete droidstub argsAnton Hansson
- I see no usages of private_api_filename / private.txt / private_dex_api_filename - tags are no longer used as of Iff355041d88eb59ac47dd19a03e993cf1ce3927e - api_filename/removed_api_filename does nothing if check_api is specified. test-api does not need a removed.txt Bug: 152479829 Bug: 144149403 Test: m Change-Id: Ic1e859dc6aa91f8d7b4f285b63d3faafb27edc9b Merged-In: Ic1e859dc6aa91f8d7b4f285b63d3faafb27edc9b (cherry picked from commit 960c16cd389fd56542fd3dcc8935406e022cb1be)
2020-04-22Remove obsolete droidstub argsAnton Hansson
- I see no usages of private_api_filename / private.txt / private_dex_api_filename - tags are no longer used as of Iff355041d88eb59ac47dd19a03e993cf1ce3927e - api_filename/removed_api_filename does nothing if check_api is specified. test-api does not need a removed.txt Bug: 152479829 Bug: 144149403 Test: m Change-Id: Ic1e859dc6aa91f8d7b4f285b63d3faafb27edc9b
2020-04-22Stop building unused dex.txt filesAurimas Liutikas
Testing with: touch frameworks/base/core/java/android/view/View.java && time make -j framework Before patch: Run #1: 107.8 seconds Run #2: 106.5 seconds Run #3: 108.3 seconds Average: 107.5 seconds After patch: Run #1: 105.5 seconds Run #2: 105.6 seconds Run #3: 105.0 seconds Average: 105.4 seconds Savings of 2.2 seconds (~2%) Test: make framework Bug: 151160048 Change-Id: Ic58875a315c9d1dc09b029d3de405a5f5648c46e Merged-In: Ic58875a315c9d1dc09b029d3de405a5f5648c46e
2020-04-17Convert disting of api txt from mk to bpAnton Hansson
droidstubs dist now dists the api file, so convert these manual mk rules into bp dist instead. Bug: 149293194 Test: m dist sdk && find out/dist/apistubs -name /android\.txt Change-Id: I96052b427dc01a6d24b040ad0006129d4d1e48fb Merged-In: I96052b427dc01a6d24b040ad0006129d4d1e48fb
2020-04-17Merge "Make non-updatable stubs depend on sdk 29" into rvc-dev am: d42b7dd9dfAnton Hansson
Change-Id: I2d0ea3d715a557567406aab59cb247001a6ae8ee
2020-04-15Make non-updatable stubs depend on sdk 29Anton Hansson
There are a few classes from modules referenced as type arguments in the non-updatable part of the API, which need to be resolved. The current dependencies that satisfy those references create dependency cycles when we change the big stubs to be assembled from other stubs. I considered two options for breaking that cycle: 1) depending on a previous SDK 2) add empty classes in a simple manual stub lib This CL does #1. #2 is more work, but may be required when/if we want to reference a newly-added API in the same release. Bug: 144149403 Bug: 149906971 Test: m Change-Id: I3c5e611ca45536bdd931291e663a21757e35992f
2020-04-14Merge "Rename conscrypt-module-public-api-stubs-source" am: 8d7c075bee am: ↵Treehugger Robot
fa22e9cbd6 Change-Id: I83f6a9a33e6c633ac8030dc13d3fd80886b8711e
2020-04-14Merge "Rename conscrypt-module-public-api-stubs-source"Treehugger Robot
2020-04-10Merge "Use sdk_version: none for platform stubs" am: ad2433ffcd am: b85c57cd47Anton Hansson
Change-Id: Ie92c5e97901a103d09aed63781254bbc4337ec61
2020-04-10Merge "Use sdk_version: none for platform stubs"Anton Hansson
2020-04-10Merge "Disable stubs generation when generating module_lib .txt file" am: ↵Treehugger Robot
95f4ad098a am: 99142fc4c6 Change-Id: I11bf75b8ad226194bbca6731f833c9da8fbdfd7e
2020-04-09Rename conscrypt-module-public-api-stubs-sourcePaul Duffin
Renamed conscrypt-module-public-api-stubs-source to conscrypt.module.public.api.stubs.source to match the format of the name created by java_sdk_library. This is in preparation for switching to use java_sdk_library to generate conscrypt's public API. Bug: 153443117 Test: m nothing Change-Id: I26ad21cf74ad3600de250df8e84deec65b91b3f9
2020-04-09Disable stubs generation when generating module_lib .txt filePaul Duffin
Avoids droidstubs doing unnecessary work to create stubs files that are not actually used. Bug: 146727827 Test: framework-sdkextensions-api-module_libs_api Change-Id: Ic537fda99b564877709666025fb8df872144d827
2020-04-09Use sdk_version: none for platform stubsAnton Hansson
These stubs contain the libcore sources inside them, so need not compile against core_current. Also rename the defaults rule to be in line with the new neverallow. Bug: 144149403 Test: m Change-Id: I5f1b01875b0073f942c692882db157a8c5788ce0 Merged-In: I5f1b01875b0073f942c692882db157a8c5788ce0
2020-04-09Use sdk_version: none for platform stubsAnton Hansson
These stubs contain the libcore sources inside them, so need not compile against core_current. Also rename the defaults rule to be in line with the new neverallow. Bug: 144149403 Test: m Change-Id: I5f1b01875b0073f942c692882db157a8c5788ce0
2020-03-31Remove hiddenapi-mappings and hiddenapi-list-docs.Artur Satayev
We still need to keep access to removed APIs to keep them on greylist. Instead of having a separate run to generate those, we would instead depend on the actual droidstubs. Kudos to Makoto for producing build traces: "m droid" Before: https://screenshot.googleplex.com/oEcd4x76YAz After: https://screenshot.googleplex.com/CxZCNJMDyK5 "m sync" Before: https://screenshot.googleplex.com/7cjE96qcNAL After: https://screenshot.googleplex.com/po6BhCoP9L3 Bug: 143864733 Test: diff out/soong/hiddenapi/hiddenapi-flags.csv Exempt-From-Owner-Approval: clean cherry-pick (cherry picked from commit 0a97d5eaf2f57ed9d93c8360a8a83e98440a4ec7) Change-Id: If9dcac94eb077c6265c5acf5b3ce6d262db64f90 Merged-In: If9dcac94eb077c6265c5acf5b3ce6d262db64f90
2020-03-31Merge "Remove hiddenapi-mappings and hiddenapi-list-docs." am: d5ed17def6 ↵satayev
am: fcd3de32fe Change-Id: I337ff9ff4b1a1de7eb49748e1f248b7bede3ac31
2020-03-30Remove hiddenapi-mappings and hiddenapi-list-docs.Artur Satayev
We still need to keep access to removed APIs to keep them on greylist. Instead of having a separate run to generate those, we would instead depend on the actual droidstubs. Kudos to Makoto for producing build traces: "m droid" Before: https://screenshot.googleplex.com/oEcd4x76YAz After: https://screenshot.googleplex.com/CxZCNJMDyK5 "m sync" Before: https://screenshot.googleplex.com/7cjE96qcNAL After: https://screenshot.googleplex.com/po6BhCoP9L3 Bug: 143864733 Test: diff out/soong/hiddenapi/hiddenapi-flags.csv Change-Id: If9dcac94eb077c6265c5acf5b3ce6d262db64f90
2020-03-27Merge "Reference libcore, conscrypt and icu sources directly" am: 77481306a7 ↵Paul Duffin
am: 0843760b84 Change-Id: Id81fcef1856a0cb3b3df5572cc9623a31d718734
2020-03-26Merge "Use art-notices-for-framework-stubs-jar instead of filegroup" am: ↵Treehugger Robot
23d37487df am: 67b9d32a7d Change-Id: Ia0088c440e9ccfe8f2fcded53aebe08c7a8c1beb
2020-03-26Reference libcore, conscrypt and icu sources directlyPaul Duffin
Avoids an extra aggregation step in the creation of the API sources. Test: m nothing Bug: 142935992 Change-Id: Ia15c3ceb9fc59e7945687536c60ce265ec95781e
2020-03-26Use art-notices-for-framework-stubs-jar instead of filegroupPaul Duffin
Bug: 142935992 Test: m droid manually check android_stubs_current contains the notices Change-Id: I55a231ff8325d3ba67bf7ccdee720d450a8ebae4
2020-03-26Merge "Convert disting of api txt from mk to bp" into rvc-dev am: 9cc8c2e6f2Anton Hansson
Change-Id: I468b59ab9157fae56889ff74df5770d2249a3489