interface_sdk-js/BUILD.gn
openharmony_ci 01426a085b
!3286 Generate module info in the ninja phase
Merge pull request !3286 from lijunru/module_info
2022-11-21 04:25:31 +00:00

141 lines
4.3 KiB
Plaintext

# 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")
template("ohos_copy_internal") {
forward_variables_from(invoker, "*")
iv_input = invoker.iv_input
ohos_copy(target_name) {
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 = ""
}
}
ohos_copy_internal("ets_internal_api") {
iv_input = "//interface/sdk-js/api/@internal/ets"
}
ohos_copy_internal("ets_component") {
iv_input = "//interface/sdk-js/api/@internal/component/ets"
}
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 = ""
}
if (!sdk_build_public) {
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 = ""
}
}
template("ohos_declaration_template") {
forward_variables_from(invoker, "*")
_module_info_target = "/ohos_declaration/${target_name}_info"
action_with_pydeps(target_name) {
script = "//interface/sdk-js/remove_internal.py"
input_api_dir = "//interface/sdk-js/api"
inputs = [ "//interface/sdk-js/api" ]
outputs = [ root_out_dir + "/ohos_declaration/$target_name" ]
if (sdk_build_public) {
script = "//out/sdk-public/public_interface/sdk-js/remove_internal.py"
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
}
}
ohos_declaration_template("ohos_declaration_ets") {
}
ohos_declaration_template("ohos_declaration_common") {
}
ohos_copy_internal("internal_full") {
iv_input = "//interface/sdk-js/api/common/full"
}
ohos_copy_internal("internal_lite") {
iv_input = "//interface/sdk-js/api/common/lite"
}
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 = ""
}
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 = ""
}
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 = ""
}