Commit Graph

30 Commits

Author SHA1 Message Date
Anton Hansson
48ee95e9b1 Change last-released filegroup
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-05-02 17:49:26 +01:00
Paul Duffin
f025501e3f Rename conscrypt-module-public-api-stubs-source
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 29adf462b6)
2020-04-27 17:49:15 +01:00
Paul Duffin
37c10f05d8 Reference libcore, conscrypt and icu sources directly
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 5c89e70a1f)
2020-04-27 17:48:49 +01:00
Anton Hansson
960c16cd38 Remove obsolete droidstub args
- 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-22 20:59:21 +01:00
Aurimas Liutikas
9b7b73d91b Stop building unused dex.txt files
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-22 14:36:57 +01:00
Anton Hansson
394febc71b Make non-updatable stubs depend on sdk 29
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-15 10:12:44 +01:00
Anton Hansson
87c7d28881 Use sdk_version: none for platform stubs
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-09 17:31:28 +01:00
Artur Satayev
7e7fdde3a5 Remove hiddenapi-mappings and hiddenapi-list-docs.
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 0a97d5eaf2)

Change-Id: If9dcac94eb077c6265c5acf5b3ce6d262db64f90
Merged-In: If9dcac94eb077c6265c5acf5b3ce6d262db64f90
2020-03-31 18:25:28 +00:00
Anton Hansson
9cc8c2e6f2 Merge "Convert disting of api txt from mk to bp" into rvc-dev 2020-03-26 08:41:20 +00:00
Aurimas Liutikas
6bb95ad751 Reconfigure stub libraries to do less work.
- Stop generating api version XML file
- Stop reading api version XML file

Testing with:
touch frameworks/base/core/java/android/view/View.java && time make -j framework

Before patch:
Run #1: 118.7 seconds
Run #2: 118.8 seconds
Run #3: 117.7 seconds
Average: 118.4 seconds

After patch:
Run #1: 107.8 seconds
Run #2: 106.5 seconds
Run #3: 108.3 seconds
Average: 107.5 seconds

Savings of 10.7 seconds (~9.2%)

Test: make framework
Bug: 151160048
Change-Id: Ie3a7e078844d1d1cac7976142e2069704d4c1545
Merged-in: Ie3a7e078844d1d1cac7976142e2069704d4c1545
2020-03-23 18:52:53 +00:00
Anton Hansson
d9a3fee23d Convert disting of api txt from mk to bp
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
2020-03-23 18:33:21 +00:00
Anton Hansson
043255c8bf Merge "Add module_lib and system-server artifacts to sdk dist" into rvc-dev 2020-03-20 12:44:49 +00:00
Anton Hansson
92d79fddd4 Remove SDK dep from module_lib_api
This had the consequence of making two large metalava invocations
run in sequence rather than parallell.

For now, add back the dependency on framework-all instead. Building
framework-all should be a lot faster than the sdk stubs.

Also move the module stubs dep from framework_defaults to
framework-minus-apex. framework-all does not need this dep.

Bug: 151092414
Test: m
Test: NINJA_ARGS="-t path out/soong/.intermediates/frameworks/base/module-lib-api-stubs-docs/android_common/module-lib-api-stubs-docs-stubs.srcjar \
                          out/soong/.intermediates/frameworks/base/system-api-stubs-docs/android_common/system-api-stubs-docs-stubs.srcjar" m
Change-Id: Ifdf8823d374254e594330b43ae3a39a76c7b90c5
2020-03-20 09:24:15 +00:00
Anton Hansson
7b0414beb7 Add module_lib and system-server artifacts to sdk dist
Makes these artifacts available for the update_prebuilts script.

Bug: 149293194
Test: m win_sdk dist && find out/dist -type f
Change-Id: Ia1064e50e987433e5e308527c6770ba2d3e8bde3
2020-03-19 19:21:49 +00:00
Anton Hansson
822cdb3031 Take module APIs out of the module_current stubs
This allows modules components to depend on internals of other
module components, by specifying the non-stub version of that
library.

Bug: 151092414
Test: m
Change-Id: Ia39b2686de7619ccb1ec154588c11a8b1b322647
2020-03-11 15:01:20 +00:00
evitayan
daeb328e32 Do not expose module IPsec(IKE) API from frameworks
Module IPsec(IKE) will not be in bootclasspath or expose API
from frameworks/base anymore. Instead it will be built as a
java_sdk_library and expose APIs under its own directory.

This commit:
- Removes API from frameworks/base
- Adds ike to FrameworksNetTests manifest so that VpnTest is
  able to load it.

Bug: 145995723
Test: build, flash, boot
Test: atest FramewokrsIkeTests (passed)
Test: m mts && mts-tradefed run mts-ipsec (passed)
Test: manually tested that FrameworksNetTests can use ike.jar
Change-Id: I37ba02eb3003ea28e66f50ca0b612597ef48f6d5
2020-02-19 12:55:25 -08:00
Anton Hansson
79e35c3beb Enable compat checking & lint for module_lib api
These were previously turned off as there were no previous
releases to compare it to. Check in empty files as comparison.

The new tethering APIs fail lint -- I have filed a release
blocking bug to get these cleaned up.

Bug: 149430003
Bug: 147559833
Test: m module-lib-api-api-lint
Test: m module-lib-api-check-last-released-api (with+without incompatibilities)
Change-Id: I2b171dc836ca121502fb345d8dd512a05c566a49
2020-02-12 23:55:41 +00:00
Anton Hansson
08b48bb91f Dedup stub jar build rules
Move shared attrs into defaults.

Bug: 146757305
Test: m
Change-Id: I90292cafaac1dcc64d642db072ce4880fcdb87cb
2020-02-08 20:43:19 +00:00
Anton Hansson
2e2008b7a1 Tweak module_libs stub build rules
- Don't depend on framework-all (we depend on srcs)
- Set sdk_version to core_current

Bug: 146757305
Test: m
Change-Id: I9f14d35ba657045e99190b7a651781a5b87d490d
2020-02-08 20:39:59 +00:00
Automerger Merge Worker
0935fa18aa Merge "Remove build rules for module-app API" am: e534a33ca3 am: b37648b759 am: 5ffbe6f31c
Change-Id: I499aac005559a80b3254c0d7e7a8b32d5ccc6382
2020-02-04 16:00:03 +00:00
Anton Hansson
81969c27df Remove build rules for module-app API
It's been abandoned for now. Also remove the process attribute
requirement as it's no longer in use.

Bug: 148177503
Test: m
Change-Id: I2b1444105c670f1ef5bc214aa7b0a7ac06d84a37
2020-02-03 21:05:42 +00:00
Anton Hansson
c3668114d4 Add module-defined APIs to module-(app|lib)
These APIs should really leave in individual .txt files,
but had them here for the moment to make sure there is *some*
tracking of the surface.

Bug: 147768409
Test: m module-app-api-check-current-api
Test: m module-lib-api-check-current-api
Test: patch I97ef83f7f9b4c1376f373713036f5256318f1050 && the above `m`
Change-Id: Ia0a48b9f6e45fccbe67b369b61660d88b5000a44
Merged-In: Ia0a48b9f6e45fccbe67b369b61660d88b5000a44
(cherry picked from commit 970c053315)
2020-02-03 20:51:13 +00:00
Anton Hansson
9c4bbe95b1 Rename module lib stubs to 'android'
android.jar is the historical name of the framework stubs, so stick
with that.

Test: m
Change-Id: I1ef40b0e426c51d697f1efdabdc87096555e26e8
Merged-In: I1ef40b0e426c51d697f1efdabdc87096555e26e8
(cherry picked from commit 81b3e1e1680847f44782eb053dfbd7d7022cef58)
2020-01-30 14:04:15 +00:00
Anton Hansson
1b9cf09e36 Rename module lib stubs to 'android'
android.jar is the historical name of the framework stubs, so stick
with that.

Exempt-From-Owner-Approval: comment-only changes irrelvant to statsd team
Test: m
Change-Id: I1ef40b0e426c51d697f1efdabdc87096555e26e8
2020-01-30 12:12:42 +00:00
Anton Hansson
970c053315 Add module-defined APIs to module-(app|lib)
These APIs should really leave in individual .txt files,
but had them here for the moment to make sure there is *some*
tracking of the surface.

Bug: 147768409
Test: m module-app-api-check-current-api
Test: m module-lib-api-check-current-api
Test: patch I97ef83f7f9b4c1376f373713036f5256318f1050 && the above `m`
Change-Id: Ia0a48b9f6e45fccbe67b369b61660d88b5000a44
2020-01-17 13:42:43 +00:00
Chen Xu
546ce5e45e modularize telephony-framework from framework.jar
Bug: 140908357
Test: Build & Manaul
Change-Id: Idd4cbdb84247b98072b6ebc00a37168fde6fbbaa
2020-01-16 14:32:50 -08:00
Jiyong Park
2e6cdcc524 Add API stubs for module APIs
The following two stub libraries are added:

- android_module_app_stubs_current: @SystemApis that are available for
modules implemented as apps. @SystemApis with client=PRIVILEGED_APPS
and client=MODULE_APPS are included here.

- android_module_lib_stubs_current: @SystemApis that are available for
modules implemented as bootclasspath jars. @SystemApis with
client=PRIVILEGED_APPS, MODULE_APPS, and MODULE_LIBRARIES are all
included here.

For now, the compatibility check against the last release API is not
done, but this is not a problem because this is the first time these
APIs are released.

Exempt-From-Owner-Approval: cherry-pick from internal

Bug: 139391334
Bug: 140202860
Bug: 146727827
Test: m

Merged-In: I0254a5f7751c58029fa7a8d5c342b731a7deb69a
Change-Id: I0254a5f7751c58029fa7a8d5c342b731a7deb69a
(cherry picked from commit e309516406)
2020-01-13 21:42:24 +09:00
Jiyong Park
e309516406 Add API stubs for module APIs
The following two stub libraries are added:

- android_module_app_stubs_current: @SystemApis that are available for
modules implemented as apps. @SystemApis with client=PRIVILEGED_APPS
and client=MODULE_APPS are included here.

- android_module_lib_stubs_current: @SystemApis that are available for
modules implemented as bootclasspath jars. @SystemApis with
client=PRIVILEGED_APPS, MODULE_APPS, and MODULE_LIBRARIES are all
included here.

For now, the compatibility check against the last release API is not
done, but this is not a problem because this is the first time these
APIs are released.

Bug: 139391334
Bug: 140202860
Bug: 146727827
Test: m

Change-Id: I0254a5f7751c58029fa7a8d5c342b731a7deb69a
2020-01-13 10:13:06 +09:00
Jiyong Park
6d9923d827 Remove unused system_modules
With
https://android-review.googlesource.com/c/platform/build/soong/+/1145829,
android_*stubs_current_system_modules are no longer used. Thus removing.

Bug: 142896162
Test: m checkbuild
Change-Id: I203766d92a8ebac862a816e9b6b68b6d47d5312c
2020-01-03 12:08:53 +09:00
Jiyong Park
7fb4b183d8 Separate modules for API docs and API stubs
frameworks/base/Android.bp became too big. Modularize it into multiple
files for better readability and extensibility.

droidstubs and java_library modules for API stub libraries are moved to
StubLibraries.bp.

droidstubs and droiddoc modules for API documents are moved to
ApiDocs.bp

Also, added some documentation to explain the roles of the many modules
and how they are related with each other.

Bug: N/A
Test: m

Exempt-From-Owner-Approval: cherry-pick from internal

Merged-In: I285e8c82078d5bd3ed85b0343db2f6375ce7ffb7
(cherry picked from commit 0d7e86d03c)
Change-Id: I285e8c82078d5bd3ed85b0343db2f6375ce7ffb7
2019-12-22 17:27:49 +09:00