# Copyright (c) 2021-2022 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//build/config/components/ets_frontend/ets2abc_config.gni")
import("//build/ohos.gni")
import("//build/ohos/notice/notice.gni")
import("//build/ohos_var.gni")
import("//build/templates/metadata/module_info.gni")
import("interface_config.gni")
# 全局变量方法见 https://gitee.com/openharmony/build/blob/master/docs/cmake%E8%BD%ACgn%E6%8C%87%E5%AF%BC%E6%96%87%E6%A1%A3.md#gn%E5%B8%B8%E7%94%A8%E7%9A%84%E5%86%85%E7%BD%AE%E5%8F%98%E9%87%8F
# 特殊场景没有拷贝interface接口信息,强基之后源码仓api不能直接使用,需要进行处理
action("ohos_base_split") {
# 使用ets2panda处理static基础接口拆分脚本
interface_sdk_static_deps = ""
if (host_toolchain == toolchain_mac) {
interface_sdk_static_deps = ":build_ohos_ets_es2panda(${toolchain_mac})"
} else if (host_toolchain == toolchain_win) {
interface_sdk_static_deps = ":build_ohos_ets_es2panda(${toolchain_win})"
} else {
interface_sdk_static_deps = ":build_ohos_ets_es2panda(${toolchain_linux})"
}
if (defined(is_arkui_x) && is_arkui_x) {
deps = []
} else if (build_ohos_sdk) {
deps = [ interface_sdk_static_deps ]
} else {
deps = []
}
script = "//build/ohos/sdk/parse_interface_sdk.py"
args = [
"--root-build-dir",
rebase_path("//", root_build_dir),
"--node-js",
rebase_path(nodejs, root_build_dir),
"--sdk-build-public",
"${sdk_build_public}",
"--sdk-build-arkts",
"${sdk_build_arkts}",
"--npm-path",
rebase_path(npm, root_build_dir),
"--output-interface-sdk",
rebase_path(interface_sdk_path, root_build_dir),
"--build-sdk-path",
rebase_path(build_sdk_path, root_build_dir),
"--sdk-check-level",
"${sdk_build_check_level}",
"--sdk-api-version",
"${api_version}",
]
outputs = [
"${interface_sdk_path}",
"${interface_sdk_path_ets1}/api/bundle/bundleStatusCallback.d.ts",
"${target_out_dir}/${target_name}.timestamp",
]
}
# 运行处理static解析拆分工具所需要的依赖
group("build_ohos_ets_es2panda") {
external_deps = [
ohos_ets_koala_wrapper_deps,
ohos_ets_stdlib_deps,
]
if (is_linux || is_win) {
external_deps += [ ohos_ets_libarkts_deps ]
}
deps = [
ohos_ets_ark_link_deps,
ohos_ets_es2panda_deps,
ohos_ets_libes2panda_public_deps,
]
}
template("ohos_copy_internal") {
forward_variables_from(invoker, "*")
iv_input = invoker.iv_input
input_project_dir = invoker.input_project_dir
_module_info_target = "${target_name}_info"
# 调用build/templates/common/copy.gni中的ohos_copy方法
# 将处理完成的文件输出到中间产物对应位置 out/sdk/obj/interface/sdk-js/${target_name}
action_with_pydeps(target_name) {
# 该脚本根据传入的remove文件进行input文件规则检查,过滤不需要的文件
# remove文件没有对应$target_name的属性 则全部输出
# remove文件有对应$target_name的属性 保留base中的文件;
# 删除global_remove中的文件;
# ispublic为真,删除sdk_build_public_remove文件。
deps = [ ":ohos_base_split" ]
deps += [ ":$_module_info_target" ]
inputs = []
outputs = [
target_out_dir + "/${target_name}",
"${target_out_dir}/${target_name}.timestamp",
]
script = "//interface/sdk-js/process_internal.py"
args = [
"--input",
rebase_path(iv_input, root_build_dir),
"--project-dir",
rebase_path(input_project_dir, root_build_dir),
"--base-dir",
rebase_path("//interface/sdk-js", root_build_dir),
"--remove",
rebase_path("//interface/sdk-js/remove_list.json", root_build_dir),
"--ispublic",
"${sdk_build_public}",
"--name",
"${target_name}",
"--output",
rebase_path(target_out_dir + "/${target_name}", root_build_dir),
]
}
_target_name = target_name
generate_module_info(_module_info_target) {
module_type = "jsdoc"
module_install_name = ""
module_name = _target_name
module_source_dir = target_out_dir + "/${_target_name}"
install_enable = false
}
}
# 主要api处理template
template("ohos_declaration_template") {
forward_variables_from(invoker, "*")
input_project_dir = invoker.input_project_dir
_module_info_target = "/ohos_declaration/${target_name}_info"
input_api_dir = input_project_dir + "/api"
action_with_pydeps(target_name) {
deps = [ ":ohos_base_split" ]
deps += [ ":$_module_info_target" ]
inputs = []
outputs = [
root_out_dir + "/ohos_declaration/${target_name}",
"${target_out_dir}/${target_name}.timestamp",
]
# 处理api文件下全部文件,过滤特定文件
script = "//interface/sdk-js/remove_internal.py"
args = [
"--input",
rebase_path(input_api_dir, root_build_dir),
"--output",
rebase_path(root_out_dir + "/ohos_declaration/${target_name}/",
root_build_dir),
]
}
_target_name = target_name
generate_module_info(_module_info_target) {
module_type = "jsdoc"
module_install_name = ""
module_name = _target_name
module_source_dir = root_out_dir + "/ohos_declaration/${_target_name}"
install_enable = false
}
}
# 适配arkui处理noninterop标签的主要api处理template
template("ohos_handle_declaration_template") {
forward_variables_from(invoker, "*")
input_project_dir = invoker.input_project_dir
_module_info_target = "${target_name}_info"
action_with_pydeps(target_name) {
deps = [ ":ohos_ets_dynamic" ]
if (sdk_build_arkts) {
deps += [ ":ohos_ets_static" ]
}
deps += [ ":${_module_info_target}" ]
inputs = []
outputs = [ target_out_dir + "/${target_name}" ]
if (target_name == "ohos_build_dynamic_sdk_api") {
outputs += [ target_out_dir +
"/${target_name}/bundle/bundleStatusCallback.d.ts" ]
}
script = "//interface/sdk-js/delete_arkui_label.py"
args = [
"--root-build-dir",
rebase_path("//", root_build_dir),
"--input-interface-sdk",
rebase_path(input_project_dir),
"--output-arkui-interface-sdk",
rebase_path("${target_out_dir}/${target_name}"),
"--node-js",
rebase_path(nodejs, root_build_dir),
]
}
_target_name = target_name
generate_module_info(_module_info_target) {
module_type = "jsdoc"
module_install_name = ""
module_name = _target_name
module_source_dir = target_out_dir + "/${_target_name}"
install_enable = false
}
}
# 最终打包SDK ets/api执行脚本
ohos_handle_declaration_template("ohos_build_dynamic_sdk_api") {
input_project_dir = "${ohos_ets_dynamic_api_path}"
}
# 最终打包SDK ets/arkts执行脚本
ohos_handle_declaration_template("ohos_build_dynamic_sdk_arkts") {
input_project_dir = "${ohos_ets_dynamic_arkts_path}"
}
# 最终打包SDK ets/component执行脚本
ohos_handle_declaration_template("ohos_build_dynamic_sdk_component") {
input_project_dir = "${ohos_ets_dynamic_component_path}"
}
# 最终打包SDK ets/kits执行脚本
ohos_handle_declaration_template("ohos_build_dynamic_sdk_kits") {
input_project_dir = "${ohos_ets_dynamic_kits_path}"
}
# 最终打包SDK ets2/api执行脚本
ohos_handle_declaration_template("ohos_build_static_sdk_api") {
input_project_dir = "${ohos_ets_static_api_path}"
}
# 最终打包SDK ets2/arkts执行脚本
ohos_handle_declaration_template("ohos_build_static_sdk_arkts") {
input_project_dir = "${ohos_ets_static_arkts_path}"
}
# 最终打包SDK ets2/kits执行脚本
ohos_handle_declaration_template("ohos_build_static_sdk_kits") {
input_project_dir = "${ohos_ets_static_kits_path}"
}
# ets/api执行脚本
ohos_declaration_template("ohos_declaration_ets") {
input_project_dir = interface_sdk_path_ets1
}
ohos_copy("ohos_declaration_ets_api") {
deps = [ ":ohos_declaration_ets" ]
sources = [ root_out_dir + "/ohos_declaration/ohos_declaration_ets" ]
outputs = [ target_out_dir + "/../api" ]
}
# static/api执行脚本
ohos_declaration_template("ohos_declaration_ets2") {
input_project_dir = interface_sdk_path_ets2
}
# ets/api/@internal/full执行脚本
ohos_copy_internal("ets_internal_api") {
iv_input = interface_sdk_path_ets1 + "/api/@internal/ets"
input_project_dir = interface_sdk_path_ets1
}
ohos_prebuilt_etc("ets_internal_api_etc") {
source = "OAT.xml"
deps = [ ":ets_internal_api" ]
install_enable = false
output = string_replace(source, "OAT", "ets_internal_api_etc")
part_name = "sdk"
subsystem_name = "sdk"
}
# ets/arkts执行脚本
ohos_copy_internal("bundle_arkts") {
iv_input = interface_sdk_path_ets1 + "/arkts"
input_project_dir = interface_sdk_path_ets1
}
ohos_prebuilt_etc("bundle_arkts_etc") {
source = "OAT.xml"
deps = [ ":bundle_arkts" ]
install_enable = false
output = string_replace(source, "OAT", "bundle_arkts_etc")
part_name = "sdk"
subsystem_name = "sdk"
}
# static/arkts执行脚本
ohos_copy_internal("bundle_arkts_static") {
iv_input = interface_sdk_path_ets2 + "/arkts"
input_project_dir = interface_sdk_path_ets2
}
ohos_copy_internal("ets_internal_api_static") {
iv_input = interface_sdk_path_ets2 + "/api/@internal/ets"
input_project_dir = interface_sdk_path_ets2
}
if (!sdk_build_public) {
# ets/build-tools/ets-loader/declarations脚本
ohos_copy("bundle_api") {
deps = [ ":ohos_build_dynamic_sdk_api" ]
sources = [ target_out_dir +
"/ohos_build_dynamic_sdk_api/bundle/bundleStatusCallback.d.ts" ]
outputs = [ target_out_dir + "/${target_name}/{{source_file_part}}" ]
module_source_dir = target_out_dir + "/${target_name}"
module_install_name = ""
}
}
# dynamic/component执行脚本
ohos_copy_internal("ets_component") {
iv_input = interface_sdk_path_ets1 + "/api/@internal/component/ets"
input_project_dir = interface_sdk_path_ets1
}
ohos_prebuilt_etc("ets_component_etc") {
source = "OAT.xml"
deps = [ ":ohos_build_dynamic_sdk_component" ]
install_enable = false
output = target_out_dir + "/ohos_build_dynamic_sdk_component"
part_name = "sdk"
subsystem_name = "sdk"
}
# ets/kits执行脚本
ohos_copy_internal("bundle_kits") {
iv_input = interface_sdk_path_ets1 + "/kits"
input_project_dir = interface_sdk_path_ets1
}
ohos_prebuilt_etc("bundle_kits_etc") {
source = "OAT.xml"
deps = [ ":bundle_kits" ]
install_enable = false
output = string_replace(source, "OAT", "ohos_prebuilt_etc")
part_name = "sdk"
subsystem_name = "sdk"
}
# static/kits执行脚本
ohos_copy_internal("bundle_kits_static") {
iv_input = interface_sdk_path_ets2 + "/kits"
input_project_dir = interface_sdk_path_ets2
}
# js/api执行脚本
ohos_declaration_template("ohos_declaration_common") {
input_project_dir = interface_sdk_path_ets1
}
# js/api/@internal/full执行脚本
ohos_copy_internal("internal_full") {
iv_input = interface_sdk_path_ets1 + "/api/common/full"
input_project_dir = interface_sdk_path_ets1
}
# js/api/@internal/lite执行脚本呢
ohos_copy_internal("internal_lite") {
iv_input = interface_sdk_path_ets1 + "/api/common/lite"
input_project_dir = interface_sdk_path_ets1
}
# js/api/config执行脚本
ohos_copy("config") {
sources = [
"api/config/css",
"api/config/hml",
]
outputs = [ target_out_dir + "/${target_name}/{{source_file_part}}" ]
module_source_dir = target_out_dir + "/${target_name}"
module_install_name = ""
}
# js/form执行脚本
ohos_copy("form_declaration") {
sources = [
"api/form/action",
"api/form/css",
"api/form/hml",
]
outputs = [ target_out_dir + "/${target_name}/{{source_file_part}}" ]
module_source_dir = target_out_dir + "/${target_name}"
module_install_name = ""
}
# toolchains/syscapcheck执行脚本
ohos_copy("syscap_check") {
sources = [ "api/syscapCheck/sysCapSchema.json" ]
outputs = [ target_out_dir + "/${target_name}/{{source_file_part}}" ]
module_source_dir = target_out_dir + "/${target_name}"
module_install_name = ""
}
# 处理dynamic的interop
ohos_copy("build_dynamic_sdk_interop") {
deps = [
":build_dynamic_sdk_interop_inner",
":ohos_ets_process_interop",
]
sources = [ "${interface_sdk_path}/dynamic-interop" ]
outputs = [ target_out_dir + "/${target_name}" ]
module_source_dir = target_out_dir + "/${target_name}"
module_install_name = ""
}
# 处理static 声明文件的interop
ohos_copy("build_static_declaration_sdk_interop") {
deps = [
":build_static_sdk_interop",
":ohos_ets_process_interop",
]
sources = [ "${interface_sdk_path}/static-interop/declaration" ]
outputs = [ target_out_dir + "/${target_name}" ]
module_source_dir = target_out_dir + "/${target_name}"
module_install_name = ""
}
# 处理static 胶水代码的interop
ohos_copy("build_static_bridge_sdk_interop") {
deps = [
":build_static_sdk_interop",
":ohos_ets_process_interop",
]
sources = [ "${interface_sdk_path}/static-interop/bridge" ]
outputs = [ target_out_dir + "/${target_name}" ]
module_source_dir = target_out_dir + "/${target_name}"
module_install_name = ""
}
# 处理预定义的dynamic interop
ohos_copy("build_dynamic_sdk_predefined_interop") {
sources = [ "build-tools/interop/dynamic/api/@ohos.lang.interop.d.ets" ]
outputs = [ target_out_dir + "/${target_name}/{{source_file_part}}" ]
module_source_dir = target_out_dir + "/${target_name}"
module_install_name = ""
}
# 处理预定义的static 声明文件的interop
ohos_copy("build_static_predefined_declaration_sdk_interop") {
sources = [
"build-tools/interop/static/declaration/api/@ohos.ETS_INTEROP_JS_NAPI.d.ets",
"build-tools/interop/static/declaration/api/@ohos.lang.interop.d.ets",
]
outputs = [ target_out_dir + "/${target_name}/{{source_file_part}}" ]
module_source_dir = target_out_dir + "/${target_name}"
module_install_name = ""
}
# 处理预定义的static 胶水代码的interop
ohos_copy("build_static_predefined_bridge_sdk_interop") {
sources = [ "build-tools/interop/static/bridge/api/@ohos.lang.interop.ts" ]
outputs = [ target_out_dir + "/${target_name}/{{source_file_part}}" ]
module_source_dir = target_out_dir + "/${target_name}"
module_install_name = ""
}
# 将static文件处理成static-interop
action("build_static_sdk_interop") {
interface_sdk_interop2_deps = ""
if (host_toolchain == toolchain_mac) {
interface_sdk_interop2_deps = ":build_ohos_ets(${toolchain_mac})"
} else if (host_toolchain == toolchain_win) {
interface_sdk_interop2_deps = ":build_ohos_ets(${toolchain_win})"
} else {
interface_sdk_interop2_deps = ":build_ohos_ets(${toolchain_linux})"
}
deps = [ interface_sdk_interop2_deps ]
script = "//interface/sdk-js/compile_ets_ts.py"
if (host_os == "mac") {
if (host_cpu == "arm64") {
node_path = "//prebuilts/build-tools/common/nodejs/node-v18.20.1-darwin-arm64/bin/node"
} else {
node_path = "//prebuilts/build-tools/common/nodejs/node-v14.21.1-darwin-x64/bin/node"
}
} else {
node_path =
"//prebuilts/build-tools/common/nodejs/node-v14.21.1-linux-x64/bin/node"
}
args = [
"--root-build-dir",
rebase_path("//", root_build_dir),
"--tool-dir",
rebase_path(build_sdk_path, root_build_dir),
"--output-interface-sdk",
rebase_path(ohos_ets_static_path, root_build_dir),
"--output-interop-sdk",
rebase_path(interface_sdk_path, root_build_dir),
"--node-path",
rebase_path(node_path, root_build_dir),
]
outputs = [
interface_sdk_path + "/static-interop/declaration",
interface_sdk_path + "/static-interop/bridge",
]
}
# 运行处理static-interop工具所需要的依赖
group("build_ohos_ets") {
external_deps = [
ohos_ets_build_system_deps,
ohos_ets_dependency_analyzer_deps,
ohos_ets_etsstdlib_deps,
ohos_ets_koala_wrapper_deps,
ohos_ets_stdlib_deps,
]
if (is_linux || is_win) {
external_deps += [ ohos_ets_libarkts_deps ]
}
deps = [
":ohos_base_split",
":ohos_ets_api",
":ohos_ets_arkts",
":ohos_ets_kits",
ohos_ets_ark_link_deps,
ohos_ets_es2panda_deps,
ohos_ets_libes2panda_public_deps,
]
}
# 将dynamic文件处理成dynamic-interop
action("build_dynamic_sdk_interop_inner") {
deps = [
":build_sdk_interop1_arkui",
":ohos_base_split",
":ohos_ets_dynamic",
]
external_deps = [ "runtime_core:declgen_ts2sts_compile_declgen" ]
script = "run_compile_declgen.py"
args = [
"--root-build-dir",
rebase_path("//", root_build_dir),
"--current-os-dir",
current_os,
"--output-interface-sdk",
rebase_path(ohos_ets_dynamic_two_path, root_build_dir),
"--tool-dir",
rebase_path(
"${root_out_dir}/obj/arkcompiler/runtime_core/static_core/plugins/ets/tools/declgen_ts2sts/panda-declgen-1.0.0.tgz"),
"--output-interop-sdk",
rebase_path(interface_sdk_path, root_build_dir),
"--node-js",
rebase_path(nodejs, root_build_dir),
]
outputs = [ "${interface_sdk_path}/dynamic-interop" ]
}
ohos_copy("ohos_ets_dynamic_api_declaration") {
deps = [ ":ohos_declaration_ets" ]
sources = [ root_out_dir + "/ohos_declaration/ohos_declaration_ets" ]
outputs = [ ohos_ets_dynamic_api_path ]
}
ohos_copy("ohos_ets_dynamic_api_internal") {
deps = [
":ets_internal_api",
":ohos_ets_dynamic_api_declaration",
]
sources = [ target_out_dir + "/ets_internal_api" ]
outputs = [ ohos_ets_dynamic_api_path + "/@internal/full" ]
}
ohos_copy("ohos_ets_dynamic_arkts") {
deps = [ ":bundle_arkts" ]
sources = [ target_out_dir + "/bundle_arkts" ]
outputs = [ ohos_ets_dynamic_arkts_path ]
}
ohos_copy("ohos_ets_dynamic_component") {
deps = [ ":ets_component" ]
sources = [ target_out_dir + "/ets_component" ]
outputs = [ ohos_ets_dynamic_component_path ]
}
ohos_copy("ohos_ets_dynamic_kits") {
deps = [ ":bundle_kits" ]
sources = [ target_out_dir + "/bundle_kits" ]
outputs = [ ohos_ets_dynamic_kits_path ]
}
ohos_copy("ohos_ets_static_api_declaration") {
deps = [ ":ohos_declaration_ets2" ]
sources = [ root_out_dir + "/ohos_declaration/ohos_declaration_ets2" ]
outputs = [ ohos_ets_static_api_path ]
}
ohos_copy("ohos_ets_static_api_internal") {
deps = [
":ets_internal_api_static",
":ohos_ets_static_api_declaration",
]
sources = [ target_out_dir + "/ets_internal_api_static" ]
outputs = [ ohos_ets_static_api_path + "/@internal/full" ]
}
ohos_copy("ohos_ets_static_arkts") {
deps = [ ":bundle_arkts_static" ]
sources = [ target_out_dir + "/bundle_arkts_static" ]
outputs = [ ohos_ets_static_arkts_path ]
}
ohos_copy("ohos_ets_static_kits") {
deps = [ ":bundle_kits_static" ]
sources = [ target_out_dir + "/bundle_kits_static" ]
outputs = [ ohos_ets_static_kits_path ]
}
ohos_copy("ohos_ets_api") {
deps = [
":ohos_ets_static_api_declaration",
":ohos_ets_static_api_internal",
]
sources = [ ohos_ets_static_api_path ]
outputs = [ ohos_ets_api_path ]
part_name = "sdk"
subsystem_name = "sdk"
}
ohos_copy("ohos_ets_arkts") {
deps = [ ":ohos_ets_static_arkts" ]
sources = [ ohos_ets_static_arkts_path ]
outputs = [ ohos_ets_arkts_path ]
part_name = "sdk"
subsystem_name = "sdk"
}
ohos_copy("ohos_ets_kits") {
deps = [ ":ohos_ets_static_kits" ]
sources = [ ohos_ets_static_kits_path ]
outputs = [ ohos_ets_kits_path ]
part_name = "sdk"
subsystem_name = "sdk"
}
# dynamic interop工具的SDK输入
group("ohos_ets_dynamic") {
deps = [
":ohos_ets_dynamic_api_declaration",
":ohos_ets_dynamic_api_internal",
":ohos_ets_dynamic_arkts",
":ohos_ets_dynamic_component",
":ohos_ets_dynamic_kits",
]
}
action("ohos_ets_api_tmp") {
script = "//interface/sdk-js/ohos_copy_ets.py"
args = [
"--input",
rebase_path("//interface/sdk-js/api"),
"--output",
rebase_path("$ohos_ets_api_tmp_path"),
"--type",
"ets2",
"--source-root-dir",
rebase_path("//"),
"--node-js",
rebase_path(nodejs, root_build_dir),
]
outputs = [ "$ohos_ets_api_tmp_path" ]
}
action("ohos_ets_arkts_tmp") {
script = "//interface/sdk-js/ohos_copy_ets.py"
args = [
"--input",
rebase_path("//interface/sdk-js/arkts"),
"--output",
rebase_path("$ohos_ets_arkts_tmp_path"),
"--type",
"ets2",
"--source-root-dir",
rebase_path("//"),
"--node-js",
rebase_path(nodejs, root_build_dir),
]
outputs = [ "$ohos_ets_arkts_tmp_path" ]
}
action("ohos_ets_kits_tmp") {
script = "//interface/sdk-js/ohos_copy_ets.py"
args = [
"--input",
rebase_path("//interface/sdk-js/kits"),
"--output",
rebase_path("$ohos_ets_kits_tmp_path"),
"--type",
"ets2",
"--source-root-dir",
rebase_path("//"),
"--node-js",
rebase_path(nodejs, root_build_dir),
]
outputs = [ "$ohos_ets_kits_tmp_path" ]
}
action("ohos_ets_api_arkui_tmp") {
deps = [ ":ohos_ets_api_tmp" ]
script = "//interface/sdk-js/arkui_transformer.py"
args = [
"--input",
rebase_path(ohos_ets_api_tmp_path + "/@internal/component/ets",
root_build_dir),
"--output",
rebase_path(ohos_ets_api_tmp_path + "/arkui/component", root_build_dir),
"--source_root_dir",
rebase_path("//", root_build_dir),
"--npm-path",
rebase_path(npm, root_build_dir),
"--node-js",
rebase_path(nodejs, root_build_dir),
]
outputs = [ "$ohos_ets_api_arkui_tmp_path" ]
}
action("gen_api_check_plugin") {
external_deps = [ "ace_ets2bundle:ohos_ets_ui_plugins" ]
npm_path = "//prebuilts/build-tools/common/nodejs/current/bin/npm"
script = "build_api_check_plugin.py"
args = [
"--source_path",
rebase_path(
get_path_info("./build-tools/compile-plugins/api-check-plugin-static",
"abspath")),
"--output_path",
rebase_path("${target_gen_dir}/${target_name}"),
"--npm",
rebase_path(npm_path),
]
outputs = [ "${target_gen_dir}/${target_name}" ]
}
ohos_copy("api_check_plugin") {
deps = [ ":gen_api_check_plugin" ]
sources = [ rebase_path("${target_gen_dir}/gen_api_check_plugin") ]
outputs = [ target_out_dir + "/api-check-plugin" ]
module_source_dir = target_out_dir + "/api-check-plugin"
module_install_name = ""
}
# static interop工具的SDK输入
group("ohos_ets_static") {
deps = [
":ohos_ets_static_api_declaration",
":ohos_ets_static_api_internal",
":ohos_ets_static_arkts",
":ohos_ets_static_kits",
]
}
action("ohos_ets_process_interop") {
deps = [
":build_dynamic_sdk_interop_inner",
":build_static_sdk_interop",
]
script = "process_label_noninterop.py"
args = [
"--intermediates-output",
rebase_path("${interface_sdk_path}", root_build_dir),
"--source-root-dir",
rebase_path("//", root_build_dir),
"--node-js",
rebase_path(nodejs, root_build_dir),
"--is-pre",
"false",
]
outputs = [ "${interface_sdk_path}/arkui_dummy_interop" ]
}
action("arkui_interop_copy_dynamic") {
deps = [ ":ohos_ets_dynamic" ]
script = "arkui_interop_copy_dynamic.sh"
args = [
rebase_path(ohos_ets_dynamic_path, root_build_dir),
rebase_path(ohos_ets_dynamic_two_path, root_build_dir),
]
outputs = [ ohos_ets_dynamic_two_path ]
}
action("build_sdk_interop1_arkui") {
deps = [
":arkui_interop_copy_dynamic",
":ohos_base_split",
]
script = "process_label_noninterop.py"
args = [
"--intermediates-output",
rebase_path("${interface_sdk_path}", root_build_dir),
"--source-root-dir",
rebase_path("//", root_build_dir),
"--node-js",
rebase_path(nodejs, root_build_dir),
"--is-pre",
"true",
]
outputs = [ "${interface_sdk_path}/arkui_dummy_interop_pre" ]
}