代码拉取完成,页面将自动刷新
同步操作将从 OpenHarmony/interface_sdk-js 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# 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/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
template("ohos_copy_internal") {
forward_variables_from(invoker, "*")
iv_input = invoker.iv_input
# 调用build/templates/common/copy.gni中的ohos_copy方法
# 将处理完成的文件输出到中间产物对应位置 out/sdk/obj/interface/sdk-js/$target_name
ohos_copy(target_name) {
# 该脚本根据传入的remove文件进行input文件规则检查,过滤不需要的文件
# remove文件没有对应$target_name的属性 则全部输出
# remove文件有对应$target_name的属性 保留base中的文件;
# 删除global_remove中的文件;
# ispublic为真,删除sdk_build_public_remove文件。
process_script = "//interface/sdk-js/process_internal.py"
process_arguments = [
"--input",
rebase_path(iv_input, root_build_dir),
"--remove",
rebase_path("//interface/sdk-js/remove_list.json", root_build_dir),
"--ispublic",
"${sdk_build_public}",
"--name",
"$target_name",
]
# 执行脚本
sources = exec_script(process_script, process_arguments, "value")
outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ]
module_source_dir = target_out_dir + "/$target_name"
module_install_name = ""
}
}
# 主要api处理template
template("ohos_declaration_template") {
forward_variables_from(invoker, "*")
_module_info_target = "/ohos_declaration/${target_name}_info"
action_with_pydeps(target_name) {
inputs = [ "//interface/sdk-js/api" ]
outputs = [ root_out_dir + "/ohos_declaration/$target_name" ]
# 处理api文件下全部文件,过滤特定文件
script = "//interface/sdk-js/remove_internal.py"
# fullSDK中api路径
input_api_dir = "//interface/sdk-js/api"
if (sdk_build_public || product_name == "ohos-sdk") {
script = "//out/sdk-public/public_interface/sdk-js/remove_internal.py"
# publicSDK中api路径,经过./build-tools/delete_systemapi_plugin.js脚本处理过systemapi的接口
input_api_dir = "//out/sdk-public/public_interface/sdk-js/api"
}
args = [
"--input",
rebase_path(input_api_dir, root_build_dir),
"--output",
rebase_path(root_out_dir + "/ohos_declaration/$target_name/",
root_build_dir),
]
if (defined(deps)) {
deps += [ ":$_module_info_target" ]
} else {
deps = [ ":$_module_info_target" ]
}
}
_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
}
}
# ets/api执行脚本
ohos_declaration_template("ohos_declaration_ets") {
}
# ets/api执行脚本
ohos_copy("common_api") {
sources = common_api_src
outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ]
module_source_dir = target_out_dir + "/$target_name"
module_install_name = ""
}
# ets/api/@internal/full执行脚本
ohos_copy_internal("ets_internal_api") {
iv_input = "//interface/sdk-js/api/@internal/ets"
}
# ets/arkts执行脚本
ohos_copy("bundle_arkts") {
sources = [ "//interface/sdk-js/arkts" ]
outputs = [ target_out_dir + "/$target_name" ]
module_source_dir = target_out_dir + "/$target_name"
module_install_name = ""
license_file = "./LICENCE.md"
}
if (!sdk_build_public) {
# ets/build-tools/ets-loader/declarations脚本
ohos_copy("bundle_api") {
sources = [ "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 = ""
}
}
# ets/component执行脚本
ohos_copy_internal("ets_component") {
iv_input = "//interface/sdk-js/api/@internal/component/ets"
}
# ets/kits执行脚本
ohos_copy("bundle_kits") {
if (sdk_build_public || product_name == "ohos-sdk") {
sources = [ "//out/sdk-public/public_interface/sdk-js/kits" ]
} else {
sources = [ "//interface/sdk-js/kits" ]
}
outputs = [ target_out_dir + "/$target_name" ]
module_source_dir = target_out_dir + "/$target_name"
module_install_name = ""
}
# js/api执行脚本
ohos_declaration_template("ohos_declaration_common") {
}
# js/api/@internal/full执行脚本
ohos_copy_internal("internal_full") {
iv_input = "//interface/sdk-js/api/common/full"
}
# js/api/@internal/lite执行脚本呢
ohos_copy_internal("internal_lite") {
iv_input = "//interface/sdk-js/api/common/lite"
}
# 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 = ""
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。