193fb6ee3Sopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd. 293fb6ee3Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 393fb6ee3Sopenharmony_ci# you may not use this file except in compliance with the License. 493fb6ee3Sopenharmony_ci# You may obtain a copy of the License at 593fb6ee3Sopenharmony_ci# 693fb6ee3Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 793fb6ee3Sopenharmony_ci# 893fb6ee3Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 993fb6ee3Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1093fb6ee3Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1193fb6ee3Sopenharmony_ci# See the License for the specific language governing permissions and 1293fb6ee3Sopenharmony_ci# limitations under the License. 1393fb6ee3Sopenharmony_ci 1493fb6ee3Sopenharmony_ciimport("//build/ohos.gni") 1593fb6ee3Sopenharmony_ciimport("//build/ohos/ace/ace.gni") 1693fb6ee3Sopenharmony_ciimport("//foundation/arkui/ace_engine/ace_config.gni") 1793fb6ee3Sopenharmony_ci 1893fb6ee3Sopenharmony_ciparse5_lib_dir = 1993fb6ee3Sopenharmony_ci get_label_info(":build_parse5_library", "target_out_dir") + "/parse" 2093fb6ee3Sopenharmony_ci_parse5_project_dir = "//third_party/parse5/packages/parse5" 2193fb6ee3Sopenharmony_ci 2293fb6ee3Sopenharmony_ciaction("build_parse5_library") { 2393fb6ee3Sopenharmony_ci script = "build_parse5.py" 2493fb6ee3Sopenharmony_ci depfile = "$target_gen_dir/$target_name.d" 2593fb6ee3Sopenharmony_ci outputs = [ parse5_lib_dir ] 2693fb6ee3Sopenharmony_ci 2793fb6ee3Sopenharmony_ci _tsc_js = _parse5_project_dir + "/node_modules/typescript/bin/tsc" 2893fb6ee3Sopenharmony_ci _uglify_source_js = _parse5_project_dir + "/uglify-source.js" 2993fb6ee3Sopenharmony_ci 3093fb6ee3Sopenharmony_ci inputs = [ 3193fb6ee3Sopenharmony_ci _tsc_js, 3293fb6ee3Sopenharmony_ci _uglify_source_js, 3393fb6ee3Sopenharmony_ci ] 3493fb6ee3Sopenharmony_ci 3593fb6ee3Sopenharmony_ci nodejs_path = "//prebuilts/build-tools/common/nodejs/current/bin/node" 3693fb6ee3Sopenharmony_ci 3793fb6ee3Sopenharmony_ci args = [ 3893fb6ee3Sopenharmony_ci "--depfile", 3993fb6ee3Sopenharmony_ci rebase_path(depfile, root_build_dir), 4093fb6ee3Sopenharmony_ci "--node", 4193fb6ee3Sopenharmony_ci rebase_path(nodejs_path, root_build_dir), 4293fb6ee3Sopenharmony_ci "--tsc-js", 4393fb6ee3Sopenharmony_ci rebase_path(_tsc_js, root_build_dir), 4493fb6ee3Sopenharmony_ci "--parse5-project", 4593fb6ee3Sopenharmony_ci rebase_path(_parse5_project_dir, root_build_dir), 4693fb6ee3Sopenharmony_ci "--parse5-output-dir", 4793fb6ee3Sopenharmony_ci rebase_path(parse5_lib_dir, root_build_dir), 4893fb6ee3Sopenharmony_ci "--uglify-source-js", 4993fb6ee3Sopenharmony_ci rebase_path(_uglify_source_js, root_build_dir), 5093fb6ee3Sopenharmony_ci ] 5193fb6ee3Sopenharmony_ci} 5293fb6ee3Sopenharmony_ci 5393fb6ee3Sopenharmony_ciohos_copy("parse5") { 5493fb6ee3Sopenharmony_ci deps = [ ":build_parse5_library" ] 5593fb6ee3Sopenharmony_ci sources = [ parse5_lib_dir ] 5693fb6ee3Sopenharmony_ci outputs = [ target_out_dir + "/$target_name" ] 5793fb6ee3Sopenharmony_ci module_install_name = "parse" 5893fb6ee3Sopenharmony_ci subsystem_name = "thirdparty" 5993fb6ee3Sopenharmony_ci part_name = "parse5" 6093fb6ee3Sopenharmony_ci license_file = "//third_party/parse5/LICENSE" 6193fb6ee3Sopenharmony_ci} 6293fb6ee3Sopenharmony_ci 6393fb6ee3Sopenharmony_ciace_loader_ark_dir = get_label_info("//developtools/ace_js2bundle:ace_loader", 6493fb6ee3Sopenharmony_ci "target_out_dir") + "/ace_loader_ark" 6593fb6ee3Sopenharmony_ci 6693fb6ee3Sopenharmony_ciohos_copy("parse5_ark_hap") { 6793fb6ee3Sopenharmony_ci deps = [ 6893fb6ee3Sopenharmony_ci ":build_parse5_library", 6993fb6ee3Sopenharmony_ci ":parse5", 7093fb6ee3Sopenharmony_ci "//developtools/ace_js2bundle:ace_loader_ark_hap", 7193fb6ee3Sopenharmony_ci ] 7293fb6ee3Sopenharmony_ci sources = [ parse5_lib_dir ] 7393fb6ee3Sopenharmony_ci outputs = [ ace_loader_ark_dir + "/lib/parse" ] 7493fb6ee3Sopenharmony_ci} 75