Skip to content
Snippets Groups Projects
Commit 90a30643 authored by Robert Drab's avatar Robert Drab
Browse files

openharmony-standard_3.0: Unify generate_parts_json function with 3.1


Using bitbake variable for storing list of parts allows for easier management
of the optional ones.

Signed-off-by: default avatarRobert Drab <robert.drab@huawei.com>
parent a4d5d584
No related branches found
No related tags found
1 merge request!59openharmony-standard-3.0: Add support for building ACTS
......@@ -121,14 +121,13 @@ do_copy_to_srcdir() {
addtask do_copy_to_srcdir after do_prepare_recipe_sysroot do_unpack before do_configure
do_configure:prepend() {
bbnote "Generating OpenHarmony Standard System build config files..."
generate_build_config_json_file
generate_platforms_build_file
generate_parts_json
copy_subsystem_config_json_file
do_configure[prefuncs] += "generate_build_config_json_file"
do_configure[prefuncs] += "generate_platforms_build_file"
do_configure[prefuncs] += "generate_parts_json"
do_configure[prefuncs] += "copy_subsystem_config_json_file"
do_configure[prefuncs] += "symlink_python3"
symlink_python3() {
# OpenHarmony build system relies on python 3 being available as `python`
ln -sf $(which python3) ${STAGING_BINDIR_NATIVE}/python
}
......@@ -235,7 +234,61 @@ generate_platforms_build_file() {
EOF
}
generate_parts_json() {
OPENHARMONY_PARTS += "aafwk:aafwk_standard"
OPENHARMONY_PARTS += "account:os_account_standard"
OPENHARMONY_PARTS += "ace:ace_engine_standard"
OPENHARMONY_PARTS += "ace:napi"
OPENHARMONY_PARTS += "appexecfwk:appexecfwk_standard"
OPENHARMONY_PARTS += "ark:ark_js_runtime"
OPENHARMONY_PARTS += "ark:ark"
OPENHARMONY_PARTS += "ccruntime:jsapi_worker"
OPENHARMONY_PARTS += "common:common"
OPENHARMONY_PARTS += "communication:dsoftbus_standard"
OPENHARMONY_PARTS += "communication:ipc"
OPENHARMONY_PARTS += "communication:ipc_js"
OPENHARMONY_PARTS += "developtools:bytrace_standard"
OPENHARMONY_PARTS += "developtools:hdc_standard"
OPENHARMONY_PARTS += "distributeddatamgr:distributeddatamgr"
OPENHARMONY_PARTS += "distributeddatamgr:native_appdatamgr"
OPENHARMONY_PARTS += "distributedhardware:device_manager_base"
OPENHARMONY_PARTS += "distributedschedule:dmsfwk_standard"
OPENHARMONY_PARTS += "distributedschedule:safwk"
OPENHARMONY_PARTS += "distributedschedule:samgr_L2"
OPENHARMONY_PARTS += "global:i18n_standard"
OPENHARMONY_PARTS += "global:resmgr_standard"
OPENHARMONY_PARTS += "graphic:graphic_standard"
OPENHARMONY_PARTS += "hdf:hdf"
OPENHARMONY_PARTS += "hdf:display_device_driver"
OPENHARMONY_PARTS += "hiviewdfx:faultloggerd"
OPENHARMONY_PARTS += "hiviewdfx:hilog"
OPENHARMONY_PARTS += "hiviewdfx:hilog_native"
OPENHARMONY_PARTS += "hiviewdfx:hilog_service"
OPENHARMONY_PARTS += "hiviewdfx:hisysevent_native"
OPENHARMONY_PARTS += "hiviewdfx:hiviewdfx_hilog_native"
OPENHARMONY_PARTS += "miscservices:inputmethod_native"
OPENHARMONY_PARTS += "miscservices:time_native"
OPENHARMONY_PARTS += "multimedia:multimedia_audio_standard"
OPENHARMONY_PARTS += "multimedia:multimedia_camera_standard"
OPENHARMONY_PARTS += "multimedia:multimedia_histreamer"
OPENHARMONY_PARTS += "multimedia:multimedia_image_standard"
OPENHARMONY_PARTS += "multimedia:multimedia_media_standard"
OPENHARMONY_PARTS += "multimodalinput:multimodalinput_base"
OPENHARMONY_PARTS += "notification:ans_standard"
OPENHARMONY_PARTS += "notification:ces_standard"
OPENHARMONY_PARTS += "powermgr:battery_manager_native"
OPENHARMONY_PARTS += "powermgr:display_manager_native"
OPENHARMONY_PARTS += "powermgr:power_manager_native"
OPENHARMONY_PARTS += "security:appverify"
OPENHARMONY_PARTS += "security:dataclassification"
OPENHARMONY_PARTS += "security:deviceauth_standard"
OPENHARMONY_PARTS += "security:huks_standard"
OPENHARMONY_PARTS += "security:permission_standard"
OPENHARMONY_PARTS += "startup:startup_l2"
OPENHARMONY_PARTS += "telephony:core_service"
OPENHARMONY_PARTS += "telephony:ril_adapter"
OPENHARMONY_PARTS += "utils:utils_base"
python generate_parts_json() {
# parts.json file is used by the loader.py tool to generate BUILD.gn files
# for all required "parts" basing on ohos.build files that accompany
# OpenHarmony components
......@@ -243,66 +296,21 @@ generate_parts_json() {
# NOTE: In normal OpenHarmony build process, this file is generated by the
# preloader.py tool
mkdir -p "${OHOS_PRELOADER_BUILD_CONFIG_DIR}"
cat > "${OHOS_PRELOADER_BUILD_CONFIG_DIR}/parts.json" << EOF
{
"parts": [
"aafwk:aafwk_standard",
"account:os_account_standard",
"ace:ace_engine_standard",
"ace:napi",
"appexecfwk:appexecfwk_standard",
"ark:ark_js_runtime",
"ark:ark",
"ccruntime:jsapi_worker",
"common:common",
"communication:dsoftbus_standard",
"communication:ipc",
"communication:ipc_js",
"developtools:bytrace_standard",
"developtools:hdc_standard",
"distributeddatamgr:distributeddatamgr",
"distributeddatamgr:native_appdatamgr",
"distributedhardware:device_manager_base",
"distributedschedule:dmsfwk_standard",
"distributedschedule:safwk",
"distributedschedule:samgr_L2",
"global:i18n_standard",
"global:resmgr_standard",
"graphic:graphic_standard",
"hdf:hdf",
"hdf:display_device_driver",
"hiviewdfx:faultloggerd",
"hiviewdfx:hilog",
"hiviewdfx:hilog_native",
"hiviewdfx:hilog_service",
"hiviewdfx:hisysevent_native",
"hiviewdfx:hiviewdfx_hilog_native",
"miscservices:inputmethod_native",
"miscservices:time_native",
"multimedia:multimedia_audio_standard",
"multimedia:multimedia_camera_standard",
"multimedia:multimedia_histreamer",
"multimedia:multimedia_image_standard",
"multimedia:multimedia_media_standard",
"multimodalinput:multimodalinput_base",
"notification:ans_standard",
"notification:ces_standard",
"powermgr:battery_manager_native",
"powermgr:display_manager_native",
"powermgr:power_manager_native",
"security:appverify",
"security:dataclassification",
"security:deviceauth_standard",
"security:huks_standard",
"security:permission_standard",
"startup:startup_l2",
"telephony:core_service",
"telephony:ril_adapter",
"utils:utils_base"
]
}
EOF
import json
import os
json_parts = {}
json_parts['parts'] = []
for part in d.getVar("OPENHARMONY_PARTS").split():
json_parts['parts'].append(part)
config_dir = d.getVar("OHOS_PRELOADER_BUILD_CONFIG_DIR")
os.makedirs(config_dir, exist_ok=True)
with open(os.path.join(config_dir, 'parts.json'), 'w') as outfile:
outfile.write(json.dumps(json_parts, indent=2, sort_keys=True))
}
copy_subsystem_config_json_file() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment