Commit Graph

7 Commits

Author SHA1 Message Date
Mårten Kongstad
1692a36da7 check-flagged-apis: add list subcommand
Add a new subcommand to list all flagged APIs and corresponding flags.
This provides an overview of what flagged APIs exist in the Android
tree.

Bug: 345207706
Test: build/tools/check-flagged-apis/check-flagged-apis.sh list
Test: atest check-flagged-apis-test
Flag: EXEMPT host side tool
Change-Id: Icc224f3787480353baabbd3946f36f003f35db59
2024-06-11 13:11:28 +02:00
Mårten Kongstad
d5ce20fc07 check-flagged-apis: add support for subcommands
The tool currently only supports a single subcommand, the "check"
command. Follow-up CLs will add new subcommands.

Bug: 345207706
Test: build/tools/check-flagged-apis/check-flagged-apis.sh
Flag: EXEMPT host side tool
Change-Id: I1aaaf313db8a10a7427aab378aac8d946d5a8a3d
2024-06-10 16:26:16 +02:00
Paul Duffin
771a201f3d Use complete api-versions.xml for module-lib and system-server
Previously, the check-flagged-apis.sh script used `api-versions.xml`
for `module-lib` and `system-server` which did not include the
latest up-to-date information about updatable modules or historical
information about sdk extensions which lead to false positives for
APIs from those updatable modules. This changes switches to use the
`api-versions.xml` produced by the new `api_versions_*_complete`
modules which does include that information.

Bug: 337836752
Test: Run script before and after applying this change to make sure
      that flagged APIs from updatable modules are no longer
      reported as missing.
Change-Id: If09e89a4595a19d9f00390fb5fbd24330ec11be5
2024-05-03 12:13:32 +01:00
Mårten Kongstad
22063d0670 check-flagged-apis.sh: speed up build step
Instead of building the entire SDK, explicitly build the
api-versions.xml files.

Bug: 334870672
Test: croot && build/tools/check-flagged-apis/check-flagged-apis.sh
Change-Id: Ib165c0acd4766ad3000aaf17220050d5e66ddf2c
2024-05-03 10:05:03 +02:00
Mårten Kongstad
b9ce4c92e0 check-flagged-apis.sh: use correct path to generated API signature files
The path to the generated API signature files used with --api-signature
in the check-flagged-apis.sh script are different based on the lunch
target used: sometimes it's under $ANDROID_PRODUCT_OUT, other times
under out/target/product/mainline_x86.

Teach check-flagged-apis.sh to dynamically find the correct path by
querying ninja.

Bug: 334870672
Test: croot && build/tools/check-flagged-apis/check-flagged-apis.sh
Change-Id: I1b0b41ef3ad1bc7113a3b31323d81251e7e65933
2024-05-02 14:30:56 +02:00
Michael Wright
c55d79b7c7 Make check-flagged-apis executable
Occasionally sourcing the script would close my overall shell when it
hit an error. By having it just be an executable script, this prevents
it from impacting a user's normal shell environment and can depend on it
always being bash, rather than whatever shell people happen to be using.

Bug: 334870672
Test: tools/check-flagged-apis/check-flagged-apis.sh
Change-Id: Ic46cb4fefdea8d51be018d4f7a92b0d9ca7e57b3
2024-04-24 01:05:49 +02:00
Mårten Kongstad
76460bd770 check-flagged-apis: add script to run tool on actual data
Add a script to make it easier to check-flagged-apis for the public APIs
and the three flavours of @FlaggedApi.

Bug: 334870672
Test: lunch sdk-next-eng && source check-flagged-apis.sh
Change-Id: I8b5e2642ade84560c5c61ae49d8c0dcdedb841ca
2024-04-18 16:13:52 +02:00