Commit Graph

4 Commits

Author SHA1 Message Date
Paul Duffin
fa90e1e5e0 mainline_modules_sdks.py: Fix issues with r snapshot
Moves the generated Android.bp file from the root of the snapshot zip
file into the sdk_library/ sub-directory to allow the zip to be
unpacked in a directory that already contains an Android.bp file that
defines the apex_set for the corresponding APEX.

Also, removes the stubs_src property from the generated Android.bp
file.

Bug: 218685706
Test: packages/modules/common/build/mainline_modules_sdks.sh --build-release=R
      atest --host mainline_modules_sdks_test
      # deleted vendor/unbundled_google/modules/IpSecGooglePrebuilt from rvc-dev checkout.
      # unpacked out/soong/mainline-sdks/for-R-build/ipsec-module-sdk-current.zip
      # ran "m nothing"
Change-Id: I03e2060dc06338a8d0102744f79c75d33d567a17
2022-03-30 09:44:02 +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
Cole Faust
2f9bf4a102 Don't explicitly mention SOONG_CONFIG_ variables
The soong config variables should be controlled via
$(call soong_config_set/get) instead of using the
underlaying variable. Update the comments in the
auto generated makefiles to reflect that.

Bug: 220940864
Test: m mainline_modules_sdks_test && /ssd/aosp-master/out/host/linux-x86/nativetest64/mainline_modules_sdks_test/mainline_modules_sdks_test
Change-Id: I8907d89ceb12e0a1e9ce53220a784e4a69502687
2022-02-28 16:51:32 -08: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