Commit Graph

6 Commits

Author SHA1 Message Date
Paul Duffin
aad984bea1 Fix failures caused by lack of ANDROID_BUILD_TOP on build servers
Bug: 226686554
Bug: 218685706
Test: unset ANDROID_BUILD_TOP
      packages/modules/common/build/mainline_modules_sdks.sh
Change-Id: I1da4309e0537b251b3f7a6c2160bef77e6f218ff
2022-03-25 11:10:44 +00:00
Paul Duffin
ffa89fd0a0 Generate sdk snapshots for the R build
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
2022-03-23 15:45:15 +00:00
Paul Duffin
14c6bd8c38 Add --build-release option to mainline_modules_sdks.sh
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
2022-03-21 12:53:14 +00:00
Paul Duffin
832cac237c Use unbuffered stdio to make it easy to use print for debugging
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
2022-01-21 19:36:46 +00:00
satayev
540616ff00 Allow passing python script as a parameter.
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)
2021-11-26 12:35:33 +00:00
satayev
51133ffa60 Add mainline_modules_sdks to packages/modules/common/.
Change the list of modules to match AOSP list.

Bug: 205100626
Test: atest mainline_modules_sdks_test
Change-Id: I250c4aafcda5c3c1d636dac27ff5ffaa78b69b2a
2021-11-04 14:48:39 +00:00