Support modularization in "hiddenapi list" tool
Previously, the "hiddenapi list" tool assumed that it was generating
flags for the whole bootclasspath and so did not need to differentiate
between classes that are provided by the bootclasspath fragment and
classes that are simply used by it. That meant that it would output
flags for this bootclasspath fragment plus all the other parts of the
bootclasspath on which this depends.
e.g. When generating the flags for i18n it would also output the flags
for art too.
This change adds the --dependency-stub-dex option to specify those dex
files that contain the API stubs provided by other bootclasspath
fragments and used by this one. A file specified in the
--dependency-stub-dex option is treated in a similar way to the files
added to the --boot-dex but its members are ignored when generating the
output file.
Bug: 179354495
Test: - enable hiddenapi processing in migrate packages/modules/RuntimeI18N
m out/soong/hiddenapi/hiddenapi-flags.csv
- the previous command will verify that the I18N's generated
all-stubs.flags matches the subset of monolithic flags that overlap.
- check the I18N's generated all-stubs.flags to make sure it is
complete.
Merged-In: I7307500eff1141d161625ec69696802ff3ab82a9
Change-Id: I7307500eff1141d161625ec69696802ff3ab82a9
(cherry picked from commit 6d8d68efbe2101e2d5fdf078556cbc1f286c37c7)
1 file changed