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