This change replicates the behavior of the generate_ml_bundle.sh that
creates an Android.bp file along with the necessary file structure for
an R build.
It adds the information needed to a ForRBuild object which is set on
those MainlineModules that need to provide SDKs for R. That includes
a list of SdkLibrary objects each of which has a name and a flag that
indicates whether it is a shared library.
The R BuildRelease creator function builds the sdk snapshots as normal
and then extracts information from those snapshot files to construct
snapshots suitable for an R build. It then passes the directory
containing those new snapshot files to populate_dist() which will then
copy them into the correct location in the dist directory.
For each MainlineModule that provides an SDK for R the following is
created in the out/soong/mainline-sdks/for-R-build directory:
* A sub-directory using the apex name containing:
* An Android.bp file with definitions for each SdkLibrary.
* A file structure containing API txt file, removed API txt file,
a srcjar containing the stub sources and a stubs jar.
* A zip file containing the contents of the previous directory whose
name is <sdk-name>-current.zip, to match the files that are
generated by Soong when building sdk snapshots.
As R does not support the Soong config boilerplate code that
transformation is disabled for R.
Test: atest --host mainline_modules_sdks_test
packages/modules/common/build/mainline_modules_sdks.sh
pyformat -s 4 --force_quote_type double -i build/mainline_modules_sdks*.py
/usr/bin/pylint --rcfile $ANDROID_BUILD_TOP/tools/repohooks/tools/pylintrc build/mainline_modules_sdks*.py
Change-Id: I70001782496a3e9805bf56181c0e08419e31e191
This change makes it easier to test the behavior of specific build
releases.
Bug: 218685706
Test: atest --host mainline_modules_sdks_test
packages/modules/common/build/mainline_modules_sdks.sh
packages/modules/common/build/mainline_modules_sdks.sh --build-release=S --build-release=latest
pyformat -s 4 --force_quote_type double -i build/mainline_modules_sdks*.py
/usr/bin/pylint --rcfile $ANDROID_BUILD_TOP/tools/repohooks/tools/pylintrc build/mainline_modules_sdks*.py
Change-Id: Ib9ef2f35d27d10cd960c4b6225417d930cb10afc
Previously, debugging using print statements did not work well as print
output to stdout was buffered whereas output from subprocesses was not
which meant that the output was in the wrong order. Passing -u to
Test: packages/modules/common/build/mainline_modules_sdks.sh
Bug: 204763318
Change-Id: Ifa5a5d99b9b8d02987faf949a4a5a63d0712415d
This simplifies the setup for internal mainline_modules_sdks.sh and
removes duplication in logic.
Bug: 205100626
Test: TARGET_BUILD_APPS=com.android.wifi packages/modules/common/build/mainline_modules_sdks.sh && ls out/dist/mainline-sdks/current/com.android.wifi/sdk/wifi-module-sdk-current.zip
Change-Id: Icb079d7630fa77c250e9b2194cc30038b6d046ec
Merged-In: Icb079d7630fa77c250e9b2194cc30038b6d046ec
(cherry picked from commit 8f8f1bd9c9)
Change the list of modules to match AOSP list.
Bug: 205100626
Test: atest mainline_modules_sdks_test
Change-Id: I250c4aafcda5c3c1d636dac27ff5ffaa78b69b2a