From add441d35fe05f7a43e8be2d099d7564fee18bdc Mon Sep 17 00:00:00 2001 From: Anton Tarasov Date: Thu, 31 Jul 2025 12:56:23 +0300 Subject: [PATCH] Cherry-pick from work_conf_v132 Exclude lib from koala_mirror Log gn npm errors to console as well Update mirror01.patch Remove ohos targets from package.json Signed-off-by: Anton Tarasov --- gn/command/npm_util.py | 7 +- tools/OHOS_MIRROR.md | 8 +- tools/mirror.mjs | 1 + tools/patches/mirror01.patch | 170 +++++------------------------------ ui2abc/libarkts/BUILD.gn | 2 +- ui2abc/libarkts/package.json | 5 +- 6 files changed, 35 insertions(+), 158 deletions(-) diff --git a/gn/command/npm_util.py b/gn/command/npm_util.py index 3194f647c0..faa6e5bb7d 100755 --- a/gn/command/npm_util.py +++ b/gn/command/npm_util.py @@ -63,14 +63,15 @@ def run(args, dir = None): ret = subprocess.run(["npm"] + args, capture_output=True, env=os.environ, text=True, check=True) with open(koala_log, "a+") as f: f.write("\n") - f.write("install log:\n" + ret.stdout) + f.write(f"npm args: {args}; project: {project_path}:\n" + ret.stdout) f.close() except subprocess.CalledProcessError as e: with open(koala_log, "a+") as f: f.write("\n") - f.write("error message: "+ e.stderr + "\n") + f.write("Error: " + e.stderr + "\n") f.close() - print(f"Error: npm failed, errors logged to {koala_log}") + print(f"Error: npm failure logged to {koala_log}") + print(open(koala_log, "r").read()) raise def install(dir = None): diff --git a/tools/OHOS_MIRROR.md b/tools/OHOS_MIRROR.md index 46ab6e6485..653bfb340c 100644 --- a/tools/OHOS_MIRROR.md +++ b/tools/OHOS_MIRROR.md @@ -1,3 +1,6 @@ +**!!! WARN: this document is outdated, find the actual version here:** +https://gitee.com/rri_opensource/koala_projects/wikis/Mirroring/Mirroring%20Koala%20in%20OpenHarmony#add-to-the-openharmony-build-chain + # Mirroring `koala_projects` in `OpenHarmony` Describes the steps to produce and mirror the selected `koala_project` components in the `OpenHarmony` repo. @@ -49,7 +52,7 @@ Run `ui2abc` tests: ```bash cd ui2abc/libarkts -npm run mocha:ohos +PANDA_SDK_PATH=/openharmony/foundation/arkui/ace_engine/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/build/sdk run mocha ``` ### Build the `OpenHarmony` SDK @@ -82,7 +85,7 @@ Regenerate `libarkts` ```bash cd ui2abc/libarkts -npm run regenerate:ohos +PANDA_SDK_PATH=/openharmony/foundation/arkui/ace_engine/frameworks/bridge/arkts_frontend/koala_mirror/ui2abc/build/sdk npm run regenerate ``` ## Run `HelloWorld` demo @@ -97,6 +100,7 @@ npm run regenerate:ohos cd /koala_projects/tools npm install npm run sdk:download +npm run clt:download ``` Find `hdc`, a dev tool for a device, here (add to `PATH`): diff --git a/tools/mirror.mjs b/tools/mirror.mjs index 77b012bae6..e72dd15123 100644 --- a/tools/mirror.mjs +++ b/tools/mirror.mjs @@ -44,6 +44,7 @@ const excludes = [ "concurrent-update", "benchmarks", "package-lock.json", + "lib", "build", "build-sdk", "build-m3", diff --git a/tools/patches/mirror01.patch b/tools/patches/mirror01.patch index f6899dcc1d..9edcfe4d5d 100644 --- a/tools/patches/mirror01.patch +++ b/tools/patches/mirror01.patch @@ -1,5 +1,5 @@ diff --git a/adapter/ohos/build/BUILD.gn b/adapter/ohos/build/BUILD.gn -index 1ca700aabc7..eb30ab00504 100644 +index 1ca700aabc..eb30ab0050 100644 --- a/adapter/ohos/build/BUILD.gn +++ b/adapter/ohos/build/BUILD.gn @@ -26,8 +26,7 @@ group("ace_packages") { @@ -13,15 +13,13 @@ index 1ca700aabc7..eb30ab00504 100644 "$ace_root/interfaces/inner_api:innerkits_target", "$ace_root/interfaces/inner_api/ace:ace_forward_compatibility", diff --git a/frameworks/bridge/arkts_frontend/BUILD.gn b/frameworks/bridge/arkts_frontend/BUILD.gn -index 2192a770a88..37d8870bbd2 100644 +index 60e33b5502..35f78b1065 100644 --- a/frameworks/bridge/arkts_frontend/BUILD.gn +++ b/frameworks/bridge/arkts_frontend/BUILD.gn -@@ -13,34 +13,6 @@ - - import("//build/ohos.gni") +@@ -15,33 +15,6 @@ import("//build/ohos.gni") import("//foundation/arkui/ace_engine/ace_config.gni") --import("./link_abc.gni") -- + import("./link_abc.gni") + -group("arkts_frontend_native_package") { - deps = [ "koala_projects/arkoala-arkts/arkui-ohos/src/ani/native:ace_ani_native_package" ] -} @@ -35,7 +33,7 @@ index 2192a770a88..37d8870bbd2 100644 - "koala_projects/incremental/compat:compat_abc", - "koala_projects/incremental/runtime:runtime_abc", - "koala_projects/interop:interop-arkts_abc", -- "koala_projects/arkoala-arkts:components_abc" +- "koala_projects/arkoala-arkts:components_abc", - ] - - output_name = "arkoala" @@ -48,10 +46,11 @@ index 2192a770a88..37d8870bbd2 100644 - subsystem_name = ace_engine_subsystem - part_name = ace_engine_part -} - +- template("arkts_frontend") { forward_variables_from(invoker, "*") -@@ -50,15 +22,20 @@ template("arkts_frontend") { + +@@ -50,8 +23,14 @@ template("arkts_frontend") { part_name = ace_engine_part defines += invoker.defines configs = [ "$ace_root:ace_config" ] @@ -68,14 +67,7 @@ index 2192a770a88..37d8870bbd2 100644 } sources = [ - "ani_context_module.cpp", - "ani_graphics_module.cpp", - "ani_water_flow_module.cpp", -- "ani_list_module.cpp", - "arkts_ani_utils.cpp", - "arkts_frontend.cpp", - "arkts_plugin_frontend.cpp", -@@ -89,186 +66,3 @@ foreach(item, ace_platforms) { +@@ -90,68 +69,3 @@ foreach(item, ace_platforms) { } } } @@ -113,16 +105,18 @@ index 2192a770a88..37d8870bbd2 100644 - - # interop source - sources += [ +- "koala_projects/interop/src/cpp/ani/convertors-ani.cc", - "koala_projects/interop/src/cpp/callback-resource.cc", - "koala_projects/interop/src/cpp/common-interop.cc", -- "koala_projects/interop/src/cpp/ani/convertors-ani.cc", - "koala_projects/interop/src/cpp/interop-logging.cc", - "koala_projects/interop/src/cpp/types/signatures.cc", - ] - -- deps = [ -- "koala_projects/arkoala-arkts/arkui-ohos/src/ani/native:arkoala_native_ani", -- ] +- if (use_linux) { +- deps = [ "koala_projects/arkoala-arkts/arkui-ohos/src/ani/native:arkoala_native_ani_linux" ] +- } else { +- deps = [ "koala_projects/arkoala-arkts/arkui-ohos/src/ani/native:arkoala_native_ani" ] +- } - - configs = [ ":arkoala_native_config" ] - @@ -132,133 +126,13 @@ index 2192a770a88..37d8870bbd2 100644 - "runtime_core:ani", - ] - -- subsystem_name = ace_engine_subsystem -- part_name = ace_engine_part --} -- --if (use_linux) { -- loader_include_dirs = [ -- "koala_projects/arkoala/framework/native/src", -- "koala_projects/arkoala/framework/native/src/generated", -- "koala_projects/arkoala/node_modules/node-api-headers/include", -- "koala_projects/interop/src", -- "koala_projects/interop/src/cpp", -- "koala_projects/interop/src/cpp/ets", -- "koala_projects/interop/src/cpp/types", -- "koala_projects/interop/src/cpp/ohos", -- "koala_projects/interop/src/cpp/napi", -- ] -- -- ohos_shared_library("ArkoalaLoader") { -- include_dirs = loader_include_dirs -- -- defines = [ -- "INTEROP_LIBRARY_NAME=ArkoalaNative_linux_x64", -- "KOALA_LINUX", -- "KOALA_NAPI", -- "KOALA_USE_NODE_VM", -- "USE_DUMMY_IMPL", -- "LIBACE_LINUX_X64", -- ] -- -- sources = [ -- "koala_projects/arkoala/framework/native/src/generated/bridge_custom.cc", -- "koala_projects/arkoala/framework/native/src/generated/library.cc", -- "koala_projects/arkoala/framework/native/src/vsync.cc", -- ] -- -- # interop source -- sources += [ -- "koala_projects/interop/src/cpp/common-interop.cc", -- "koala_projects/interop/src/cpp/interop-logging.cc", -- "koala_projects/interop/src/cpp/napi/convertors-napi.cc", -- ] -- -- external_deps = [ -- "hilog:hilog_ndk", -- "napi:ace_napi", -- ] -- -- subsystem_name = ace_engine_subsystem -- part_name = ace_engine_part -- } -- -- ohos_shared_library("vmloader") { -- include_dirs = loader_include_dirs + [ "koala_projects/interop/src/cpp/ani" ] -- -- defines = [ -- "KOALA_LINUX", -- "KOALA_ANI", -- "KOALA_ETS_NAPI", -- ] -- -- sources = [ "koala_projects/interop/src/cpp/vmloader.cc" ] -- -- external_deps = [ -- "hilog:hilog_ndk", -- "napi:ace_napi", -- ] -- -- subsystem_name = ace_engine_subsystem -- part_name = ace_engine_part -- } -- -- native_include_dirs = [ -- "koala_projects/arkoala/framework/native/src", -- "koala_projects/arkoala/framework/native/src/generated", -- "koala_projects/arkoala/node_modules/node-api-headers/include", -- "koala_projects/interop/src/cpp", -- "koala_projects/interop/src/cpp/napi", -- "koala_projects/interop/src/cpp/types", -- ] -- -- native_sources = [ -- "koala_projects/arkoala/framework/native/src/events.cc", -- "koala_projects/arkoala/framework/native/src/generated/bridge_custom.cc", -- "koala_projects/arkoala/framework/native/src/generated/bridge_generated.cc", -- "koala_projects/arkoala/framework/native/src/generated/callback_deserialize_call.cc", -- "koala_projects/arkoala/framework/native/src/generated/callback_managed_caller.cc", -- "koala_projects/arkoala/framework/native/src/generated/library.cc", -- "koala_projects/arkoala/framework/native/src/vsync.cc", -- "koala_projects/interop/src/cpp/callback-resource.cc", -- "koala_projects/interop/src/cpp/common-interop.cc", -- "koala_projects/interop/src/cpp/interop-logging.cc", -- "koala_projects/interop/src/cpp/types/signatures.cc", -- ] -- -- native_defines = [ -- "INTEROP_LIBRARY_NAME=ArkoalaNative_linux_x64", -- "KOALA_LINUX", -- "KOALA_USE_PANDA_VM", -- "KOALA_FOREIGN_NAPI", -- "LIBACE_LINUX_X64", -- ] -- -- ohos_shared_library("ArkoalaNative_ani") { -- include_dirs = native_include_dirs + [ "koala_projects/interop/src/cpp/ani" ] -- defines = native_defines + [ "KOALA_ANI" ] -- sources = native_sources + [ "koala_projects/interop/src/cpp/ani/convertors-ani.cc" ] - -- external_deps = [ -- "hilog:hilog_ndk", -- "napi:ace_napi", -- ] -- -- subsystem_name = ace_engine_subsystem -- part_name = ace_engine_part +- if (is_arkui_x) { +- deps += [ "//third_party/bounds_checking_function:libsec_static" ] +- } else { +- external_deps += [ "bounds_checking_function:libsec_static" ] - } - -- ohos_shared_library("ArkoalaNative_ets") { -- include_dirs = native_include_dirs + [ "koala_projects/interop/src/cpp/ets" ] -- defines = native_defines + [ "KOALA_ETS_NAPI" ] -- sources = native_sources + [ "koala_projects/interop/src/cpp/ets/convertors-ets.cc" ] -- -- external_deps = [ -- "hilog:hilog_ndk", -- "napi:ace_napi", -- ] -- -- subsystem_name = ace_engine_subsystem -- part_name = ace_engine_part -- } +- subsystem_name = ace_engine_subsystem +- part_name = ace_engine_part -} diff --git a/ui2abc/libarkts/BUILD.gn b/ui2abc/libarkts/BUILD.gn index e28858f69f..3c02c0f8b7 100644 --- a/ui2abc/libarkts/BUILD.gn +++ b/ui2abc/libarkts/BUILD.gn @@ -206,7 +206,7 @@ npm_cmd("regenerate") { "$ui2abc_root:ui2abc_panda_sdk" ] project_path = rebase_path(".") - run_tasks = [ "regenerate:ohos" ] + run_tasks = [ "regenerate" ] } if (current_toolchain == host_toolchain) { diff --git a/ui2abc/libarkts/package.json b/ui2abc/libarkts/package.json index dc8dbc897f..fc112cd27f 100644 --- a/ui2abc/libarkts/package.json +++ b/ui2abc/libarkts/package.json @@ -25,7 +25,6 @@ "config": { "gen_version": "2.1.9-arktscgen-8", "panda_sdk_path": "../../incremental/tools/panda/node_modules/@panda/sdk", - "ohos_panda_sdk_path": "../build/sdk", "panda_sdk_version": "next" }, "dependencies": { @@ -70,7 +69,6 @@ "run:memo": "npm run compile && npm run compile:plugins && npm run compile --prefix ../memo-plugin && npm run memo", "run:abc": "$npm_package_config_panda_sdk_path/linux_host_tools/bin/ark --load-runtimes=ets --boot-panda-files=$npm_package_config_panda_sdk_path/ets/etsstdlib.abc ./main.abc main.ETSGLOBAL::main", "mocha": "PANDA_SDK_PATH=${PANDA_SDK_PATH:=$npm_package_config_panda_sdk_path} TS_NODE_PROJECT=./test/tsconfig.json mocha -r tsconfig-paths/register --reporter-option maxDiffSize=0", - "mocha:ohos": "PANDA_SDK_PATH=${PANDA_SDK_PATH:=$npm_package_config_ohos_panda_sdk_path} TS_NODE_PROJECT=./test/tsconfig.json mocha -r tsconfig-paths/register --reporter-option maxDiffSize=0", "test:light": "npm run mocha", "test": "npm run compile:native && npm run test:light", "test:golden": "npm run compile:native && TEST_GOLDEN=1 npm run test:light", @@ -80,8 +78,7 @@ "panda:sdk:install": "cd ../../incremental/tools/panda && echo \"Installing panda sdk $npm_package_config_panda_sdk_version\" && PANDA_SDK_VERSION=$npm_package_config_panda_sdk_version npm run panda:sdk:install", "panda:sdk:reinstall": "npm run panda:sdk:clean && npm run panda:sdk:install", "regenerate:current": "rimraf -rf src/generated && npm run compile -C ../../../arktscgen && node ../../../arktscgen --panda-sdk-path $npm_package_config_panda_sdk_path --output-dir ../ --options-file ./generator/options.json5 --no-initialize --debug", - "regenerate": "rimraf -rf src/generated && npx --yes @idlizer/arktscgen@$npm_package_config_gen_version --panda-sdk-path $npm_package_config_panda_sdk_path --output-dir ../ --options-file ./generator/options.json5 --no-initialize", - "regenerate:ohos": "npx --yes @idlizer/arktscgen@$npm_package_config_gen_version --panda-sdk-path ${PANDA_SDK_PATH:=$npm_package_config_ohos_panda_sdk_path} --output-dir ../ --options-file ./generator/options.json5 --no-initialize", + "regenerate": "rimraf -rf src/generated && npx --yes @idlizer/arktscgen@$npm_package_config_gen_version --panda-sdk-path ${PANDA_SDK_PATH:=$npm_package_config_panda_sdk_path} --output-dir ../ --options-file ./generator/options.json5 --no-initialize", "reinstall:regenerate": "npm run panda:sdk:reinstall && npm run regenerate && git diff --shortstat" } } -- Gitee