blob: 770adc98afc0c0af2b56a1d12e39e26d8f47c81f [file] [log] [blame]
Martin Stjernholm691503e2020-05-06 22:03:26 +01001#!/bin/bash -e
Nicolas Geoffray90bc3cd2020-02-28 09:04:25 +00002
3# Non exhaustive list of modules where we want prebuilts. More can be added as
4# needed.
5MAINLINE_MODULES=(
6 com.android.art.debug
7 com.android.art.release
8 com.android.art.testing
9 com.android.conscrypt
10 com.android.runtime
11 com.android.tzdata
12 com.android.i18n
13)
14
15# List of SDKs and module exports we know of.
16MODULES_SDK_AND_EXPORTS=(
17 art-module-sdk
18 art-module-test-exports
19 conscrypt-module-sdk
20 conscrypt-module-test-exports
Nicolas Geoffray0a2e2972020-04-23 09:35:45 +010021 conscrypt-module-host-exports
Nicolas Geoffray90bc3cd2020-02-28 09:04:25 +000022)
23
24# We want to create apex modules for all supported architectures.
25PRODUCTS=(
Martin Stjernholm691503e2020-05-06 22:03:26 +010026 aosp_arm
27 aosp_arm64
28 aosp_x86
29 aosp_x86_64
Nicolas Geoffray90bc3cd2020-02-28 09:04:25 +000030)
31
32if [ ! -e "build/make/core/Makefile" ]; then
Martin Stjernholm691503e2020-05-06 22:03:26 +010033 echo "$0 must be run from the top of the tree"
34 exit 1
Nicolas Geoffray90bc3cd2020-02-28 09:04:25 +000035fi
36
Martin Stjernholm691503e2020-05-06 22:03:26 +010037echo_and_run() {
38 echo "$*"
39 "$@"
40}
41
Nicolas Geoffray90bc3cd2020-02-28 09:04:25 +000042OUT_DIR=$(source build/envsetup.sh > /dev/null; TARGET_PRODUCT= get_build_var OUT_DIR)
43DIST_DIR=$(source build/envsetup.sh > /dev/null; TARGET_PRODUCT= get_build_var DIST_DIR)
44
45for product in "${PRODUCTS[@]}"; do
Martin Stjernholm691503e2020-05-06 22:03:26 +010046 echo_and_run build/soong/soong_ui.bash --make-mode $@ \
47 TARGET_PRODUCT=${product} \
48 ${MAINLINE_MODULES[@]}
Nicolas Geoffray90bc3cd2020-02-28 09:04:25 +000049
Martin Stjernholm691503e2020-05-06 22:03:26 +010050 PRODUCT_OUT=$(source build/envsetup.sh > /dev/null; TARGET_PRODUCT=${product} get_build_var PRODUCT_OUT)
51 TARGET_ARCH=$(source build/envsetup.sh > /dev/null; TARGET_PRODUCT=${product} get_build_var TARGET_ARCH)
52 rm -rf ${DIST_DIR}/${TARGET_ARCH}/
53 mkdir -p ${DIST_DIR}/${TARGET_ARCH}/
54 for module in "${MAINLINE_MODULES[@]}"; do
55 echo_and_run cp ${PWD}/${PRODUCT_OUT}/system/apex/${module}.apex ${DIST_DIR}/${TARGET_ARCH}/
56 done
Nicolas Geoffray90bc3cd2020-02-28 09:04:25 +000057done
58
59
60# Create multi-archs SDKs in a different out directory. The multi-arch script
Martin Stjernholm691503e2020-05-06 22:03:26 +010061# uses Soong in --skip-make mode which cannot use the same directory as normal
62# mode with make.
63export OUT_DIR=${OUT_DIR}/aml
64echo_and_run build/soong/scripts/build-aml-prebuilts.sh ${MODULES_SDK_AND_EXPORTS[@]}
Nicolas Geoffray90bc3cd2020-02-28 09:04:25 +000065
66rm -rf ${DIST_DIR}/mainline-sdks
Martin Stjernholm691503e2020-05-06 22:03:26 +010067echo_and_run cp -R ${OUT_DIR}/soong/mainline-sdks ${DIST_DIR}