* changes:
check-flagged-apis: parse flag names and values
check-flagged-apis: parse API signature files
check-flagged-apis: add unit test infrastructure
Teach check-flagged-apis to parse API versions XML; this represents the
APIs after metalava has processed the source and kept APIs as is, or
reverted them to the previous SDK snapshot, according to their
@FlaggedApi flags.
As with the API signature parser, limit support to fields to keep things
simple; support for classes and methods will be added in later CLs.
Note: `m sdk dist` will generate an API versions XML file.
Bug: 334870672
Test: atest --host check-flagged-apis-test
Test: check-flagged-apis --api-signature out/target/product/mainline_x86/obj/ETC/frameworks-base-api-current.txt_intermediates/frameworks-base-api-current.txt --flag-values out/soong/.intermediates/all_aconfig_declarations.pb --api-versions out/dist/data/api-versions.xml
Change-Id: I779a0d0cdb8a50536d3fc8d517fa38ba4b0dcd1c
Teach check-flagged-apis to parse the parsed_flags protobuf generated by
aconfig.
Note: `m all_aconfig_declarations` generates a protobuf file that
contains all info about all flags.
Bug: 334870672
Test: atest --host check-flagged-apis-test
Test: check-flagged-apis --api-signature out/target/product/mainline_x86/obj/ETC/frameworks-base-api-current.txt_intermediates/frameworks-base-api-current.txt --flag-values out/soong/.intermediates/all_aconfig_declarations.pb
Change-Id: I397b32ae2a373b429ef6ce22e0a06a0f15202b91
Teach check-flagged-apis to extract flagged APIs from API signature files.
To keep things simple, only consider fields for now: support for classes
and methods will be added in a later CL.
Note: `m frameworks-base-api-current.txt` will generate an API signature
file that includes both the platform and mainline APIs.
Bug: 334870672
Test: atest --host check-flagged-apis-test
Test: check-flagged-apis --api-signature out/target/product/mainline_x86/obj/ETC/frameworks-base-api-current.txt_intermediates/frameworks-base-api-current.txt
Change-Id: Ic244b896672569f44af793796189b34c1f9d0c36
Add a value class to represent Flag names. We could use plain Strings
but having a dedicated class (with no overhead compared to String) makes
the intent of the code much clearer.
Bug: 334870672
Test: m check-flagged-apis && check-flagged-apis
Change-Id: Icdd4fb97d3fd49e507b7559504ea173a3dc52dea
check-flagged-apis will read contents from various sources, which use
different formats to represent the same piece information (e.g.
"class#field" or "<class><field>").
Introduce a Symbol value class to represent any API (i.e. a class, field
or method) in a unified format.
Bug: 334870672
Test: m check-flagged-apis && check-flagged-apis
Change-Id: Id9404294a87b23a9d43e5e13ce39ea5a92608e33
- Fix the timestamp variable name.
- Convert the intermediate file name extensions to those in the
prebuilt directory.
- Disable check-abi-dump-list for sanitizer and coverage builds.
- Add an exception for libRS, RISC-V.
Test: m check-abi-dump-list
Bug: 333532038
Change-Id: I35b644feed1bef1e6c74731e8f69074bdc5b0352
The SDK finalization process will create APEX ABI dumps from this
target.
Test: make findlsdumps_APEX
Bug: 333532038
Change-Id: Iaec03bd39923678141b12436e5a6b8576e63a999
ro.product.first_api_level looks like the value we actually want to read
to since it inherits from $PRODUCT_SHIPPING_API_LEVEL. Other variables
we attempted to look at were giving other values (e.g 202504 for pixel
watch)
Bug: 331202590
Test: th
Change-Id: Ied3da247cba45611132db6c9e3cdefb447891f96
Use clikt as the command line options parser library.
Bug: 334870672
Test: m check-flagged-apis && check-flagged-apis
Change-Id: I7c406456b00e29293294dcdbef411d2543a1e8d5
Add a new CLI to verify that the build artifacts contain the right set
of @FlaggedApi APIs, based on the value of the corresponding aconfig
flag.
This CLI will act as an end-to-end test of Soong and metalava.
This CL only adds the project scaffolding; later CLs will add the
implementation.
Bug: 334870672
Test: m check-flagged-apis && check-flagged-apis
Change-Id: Ib00653f2a549217da2b0058867c711f35efd5760
The SDK finalization process will create APEX ABI dumps from this
target.
Test: make findlsdumps_APEX check-abi-dump-list
Bug: 333532038
Change-Id: I68d83616ef58aac2618e405a87b1909167b08d43
The original behvaior will not install related files define in
LOCAL_SOONG_INSTALL_PAIRS due to there's no dependency information in
make, this CL parse the string from each LOCAL_SOONG_INSTALL_PAIRS after
':' as dependencies.
Bug: 333974089
Test: apply aosp/3041672 ; m hyph-lic
Change-Id: I79050e99c3e63f58cfd32db270c909a76bd96801
The order of items in `partitions` map is non-deterministic. To make
sure that builds are hermetic, sort the map before use.
Test: th
Bug: 332550989
Change-Id: I76c7037ef9f03904899339813819fcf985a7c893
This reverts commit 35839ec1a3.
Reason for revert: CI breakages for 2 targets. Please refer to bug for more details
Bug: 334152807
Change-Id: I0e38583cd3fa57afef432406374ec8d4ddc57e72
This reverts commit 1c4c94d784.
Reason for revert: CI breakages for 2 targets. Please refer to bug for more details
Bug: 334152807
Change-Id: I76853ccfd8a41f99670a7b7513f358f076f9b271
This reverts commit 39dcf40403.
Reason for revert: CI breakages for 2 targets. Please refer to bug for more details
Bug: 334152807
Change-Id: Ic2fc942b1769aed03553fc305ac283666eb9e3f5
`PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO` overrides
`TARGET_NO_BIONIC_PAGE_SIZE_MACRO` value in the build system. Enabling
TARGET_NO_BIONIC_PAGE_SIZE_MACRO implies those targets no longer rely
on the `PAGE_SIZE` bionic macro. Page size would be queried at runtime
using getpagesize() / sysconf(_SC_PAGE_SIZE).
Bug: 310232825
Test: lunch <target> && get_build_var TARGET_NO_BIONIC_PAGE_SIZE_MACRO
Change-Id: I37133cb2419566e9616a2cde640372352178980f
This updates the VSR_VENDOR_API_LEVEL for which
TARGET_NO_BIONIC_PAGE_SIZE_MACRO is set to false from < 34 to < 35
Bug: 310232825
Test: lunch <target> && get_build_var TARGET_NO_BIONIC_PAGE_SIZE_MACRO
Change-Id: Ib6b8ba94fe6b2c8b7bbf31fb56e07bd97eb79fc2