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
This commit is contained in:
@@ -56,7 +56,11 @@ function main() {
|
||||
# provided by the build to ensure consistency across build environments.
|
||||
export DIST_DIR OUT_DIR
|
||||
|
||||
prebuilts/build-tools/linux-x86/bin/py3-cmd -u "${py3script}" "$@"
|
||||
# The path to this tool is the .sh script that lives alongside the .py script.
|
||||
TOOL_PATH="${py3script%.py}.sh"
|
||||
prebuilts/build-tools/linux-x86/bin/py3-cmd -u "${py3script}" \
|
||||
--tool-path "${TOOL_PATH}" \
|
||||
"$@"
|
||||
}
|
||||
|
||||
init "$@"
|
||||
|
||||
Reference in New Issue
Block a user