summaryrefslogtreecommitdiff
path: root/scripts/hiddenapi
AgeCommit message (Collapse)Author
2021-06-25Verify the modular stub flags are subsets of the monolithic stub flagsPaul Duffin
Bug: 179354495 Test: m out/soong/hiddenapi/hiddenapi-stub-flags.txt - check that an error is reported if a modular stub-flags.csv file, i.e. one created by a fragment is not a subset of the monolithic file, e.g. because a signature in the modular file has different flags than it does in the monolithic or is not present there. Merged-In: I46ebb495cb093a5e3abe7571c49933c845318549 Change-Id: I46ebb495cb093a5e3abe7571c49933c845318549 (cherry picked from commit 2e880971528cd4a2d93062072c7d8e9ff7998ade)
2021-06-16Maintain header order in merge_csvPaul Duffin
Previously, if the --header property was not specified then merge_csv would use a header constructed by sorting all the fields in the input files. That required that any use of merge_csv which did not already have headers in the required order would have to explicitly specify the headers. That made it harder to use merge_csv as a generic tool as each invocation needed to be aware of what headers were exported in the output. This change causes merge_csv to simply use the headers in the order in which they are encountered in the input files. That removes the need to specify the --header option when generating the index files. Bug: 179354495 Test: m out/soong/hiddenapi/hiddenapi-index.csv out/soong/hiddenapi/hiddenapi-unsupported.csv - make sure that they are not changed by this change. Merged-In: I420b7d07aea85af6372cd7580a8be5e2cc82a513 Change-Id: I420b7d07aea85af6372cd7580a8be5e2cc82a513 (cherry picked from commit 84c1cdf31f8f888ee9c0beb201d35ad9d293c341)
2021-05-14Validate monolithic and modular hidden API flags are consistentPaul Duffin
This makes sure that where there is overlap between the hidden API flags generated for a module and the monolithic flags that they are identical. That ensures that the modular hidden API flags will be compatible with previous releases that relied on the monolithic flags. Bug: 179354495 Test: m out/soong/.intermediates/art/build/boot/art-bootclasspath-fragment/android_common_apex10000/modular-hiddenapi/all-flags.csv m out/soong/hiddenapi/hiddenapi-flags.csv - Create some inconsistencies between the above two files. m out/soong/hiddenapi/hiddenapi-flags.csv.valid Change-Id: Iaf9e23cef63e221608955d89dc8d496bcc70c86e
2021-04-21Allow generate_hiddenapi_lists.py to work with no custom flag filesPaul Duffin
Previously, if generate_hiddenapi_lists.py was invoked without any custom flag files, e.g. hiddenapi-unsupported.txt, then it would fail. This change allows it to be used for generating the hiddenapi lists for modules that do not have any custom flag files, e.g. framework-sdkextensions Bug: 179354495 Test: verified that the monolithic out/soong/hiddenapi/... files are unchanged by this change Change-Id: I455d453024c9f06ed59cbc1e9838234f8b7c7317
2021-02-23Merge changes from topic "hiddenapi_additional_annotations"Paul Duffin
* changes: Sort hiddenapi monolithic files by signature Remove duplicates in monolithic hidden API files Remove implicit dependency from <x> -> <x>-hiddenapi
2021-02-17Add license to hiddenapiBob Badour
Test: m all Change-Id: Ic61a74d94bea0e4de2a47be7e15fcf874fb397c3
2021-02-16Sort hiddenapi monolithic files by signaturePaul Duffin
Adds a new --key_field option to merge_csv.py which specifies the name of the field that should be used to sort the input. If specified it causes that field to be the first in each row and performs the merge operation of a merge sort on the input files. That assumes that each input file is already sorted into the same order. Modifies the rules that use merge_csv.py to pass in: --key_field signature to sort the rows by signature. Bug: 180387396 Test: Verified that hiddenapi files (both aggregated ones and for the individual modules) are not affected by this change other than changing the order. Change-Id: Idcd5f0fea373b520b604889e1c280f21ed495660
2021-02-16Allow explicitly specified additional annotations for hiddenapiPaul Duffin
Adds the hiddenapi_additional_annotations to allow a library to list the libraries that provided additional hiddenapi related annotations for a library. Modifies merge_csv.py so it can process multiple zip files at the same time and uses that to merge the embedded .uau files from a module and those it depends upon. Bug: 180102243 Test: m droid Verified that hiddenapi files (both aggregated ones and for the individual modules) are not affected by this change. Change-Id: I796520021c7357398a9e2a09f1029e4a578b05b3
2021-02-09Move hiddenapi tools used by build/soong from frameworks/basePaul Duffin
Also, creates a python_binary_host module for generate_hiddenapi_lists and uses that when constructing the build rule rather than using the file directly. Bug: 177317659 Test: m droid Verified that hiddenapi files (both aggregated ones and for the individual modules) are not affected by this change. Change-Id: Ia11bb203ce5a74740d35f1b7e86716e15aad336e