188c88e8eSopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd. 288c88e8eSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 388c88e8eSopenharmony_ci# you may not use this file except in compliance with the License. 488c88e8eSopenharmony_ci# You may obtain a copy of the License at 588c88e8eSopenharmony_ci# 688c88e8eSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 788c88e8eSopenharmony_ci# 888c88e8eSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 988c88e8eSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1088c88e8eSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1188c88e8eSopenharmony_ci# See the License for the specific language governing permissions and 1288c88e8eSopenharmony_ci# limitations under the License. 1388c88e8eSopenharmony_ci 1488c88e8eSopenharmony_ciimport("//build/ohos.gni") 1588c88e8eSopenharmony_ciimport("//build/ohos/ace/ace.gni") 1688c88e8eSopenharmony_ciimport("//foundation/arkui/ace_engine/ace_config.gni") 1788c88e8eSopenharmony_ci 1888c88e8eSopenharmony_ciweex_loader_lib_dir = 1988c88e8eSopenharmony_ci get_label_info(":build_weex_loader_library", "target_out_dir") + "/lib" 2088c88e8eSopenharmony_ci 2188c88e8eSopenharmony_ciweex_loader_files_set = [ 2288c88e8eSopenharmony_ci weex_loader_lib_dir + "/element.js", 2388c88e8eSopenharmony_ci weex_loader_lib_dir + "/json.js", 2488c88e8eSopenharmony_ci weex_loader_lib_dir + "/legacy.js", 2588c88e8eSopenharmony_ci weex_loader_lib_dir + "/loader.js", 2688c88e8eSopenharmony_ci weex_loader_lib_dir + "/parser.js", 2788c88e8eSopenharmony_ci weex_loader_lib_dir + "/script.js", 2888c88e8eSopenharmony_ci weex_loader_lib_dir + "/style.js", 2988c88e8eSopenharmony_ci weex_loader_lib_dir + "/template.js", 3088c88e8eSopenharmony_ci weex_loader_lib_dir + "/util.js", 3188c88e8eSopenharmony_ci] 3288c88e8eSopenharmony_ci 3388c88e8eSopenharmony_ciaction("build_weex_loader_library") { 3488c88e8eSopenharmony_ci script = "build_weex_loader_library.py" 3588c88e8eSopenharmony_ci depfile = "$target_gen_dir/$target_name.d" 3688c88e8eSopenharmony_ci outputs = [ 3788c88e8eSopenharmony_ci weex_loader_lib_dir, 3888c88e8eSopenharmony_ci weex_loader_lib_dir + "/scripter", 3988c88e8eSopenharmony_ci weex_loader_lib_dir + "/styler", 4088c88e8eSopenharmony_ci weex_loader_lib_dir + "/element.js", 4188c88e8eSopenharmony_ci weex_loader_lib_dir + "/json.js", 4288c88e8eSopenharmony_ci weex_loader_lib_dir + "/legacy.js", 4388c88e8eSopenharmony_ci weex_loader_lib_dir + "/loader.js", 4488c88e8eSopenharmony_ci weex_loader_lib_dir + "/parser.js", 4588c88e8eSopenharmony_ci weex_loader_lib_dir + "/script.js", 4688c88e8eSopenharmony_ci weex_loader_lib_dir + "/style.js", 4788c88e8eSopenharmony_ci weex_loader_lib_dir + "/template.js", 4888c88e8eSopenharmony_ci weex_loader_lib_dir + "/util.js", 4988c88e8eSopenharmony_ci ] 5088c88e8eSopenharmony_ci 5188c88e8eSopenharmony_ci _babel_js = "//third_party/weex-loader/node_modules/@babel/cli/bin/babel.js" 5288c88e8eSopenharmony_ci _babel_config_js = "//third_party/weex-loader/babel.config.js" 5388c88e8eSopenharmony_ci _module_source_js = "//third_party/weex-loader/module-source.js" 5488c88e8eSopenharmony_ci _uglify_source_js = "//third_party/weex-loader/uglify-source.js" 5588c88e8eSopenharmony_ci 5688c88e8eSopenharmony_ci inputs = [ 5788c88e8eSopenharmony_ci _babel_config_js, 5888c88e8eSopenharmony_ci _babel_js, 5988c88e8eSopenharmony_ci _module_source_js, 6088c88e8eSopenharmony_ci _uglify_source_js, 6188c88e8eSopenharmony_ci ] 6288c88e8eSopenharmony_ci 6388c88e8eSopenharmony_ci nodejs_path = "//prebuilts/build-tools/common/nodejs/current/bin/node" 6488c88e8eSopenharmony_ci 6588c88e8eSopenharmony_ci args = [ 6688c88e8eSopenharmony_ci "--depfile", 6788c88e8eSopenharmony_ci rebase_path(depfile, root_build_dir), 6888c88e8eSopenharmony_ci "--node", 6988c88e8eSopenharmony_ci rebase_path(nodejs_path, root_build_dir), 7088c88e8eSopenharmony_ci "--babel-js", 7188c88e8eSopenharmony_ci rebase_path(_babel_js, root_build_dir), 7288c88e8eSopenharmony_ci "--weex-loader-src-dir", 7388c88e8eSopenharmony_ci rebase_path("src", root_build_dir), 7488c88e8eSopenharmony_ci "--babel-config-js", 7588c88e8eSopenharmony_ci rebase_path(_babel_config_js, root_build_dir), 7688c88e8eSopenharmony_ci "--module-source-js", 7788c88e8eSopenharmony_ci rebase_path(_module_source_js, root_build_dir), 7888c88e8eSopenharmony_ci "--uglify-source-js", 7988c88e8eSopenharmony_ci rebase_path(_uglify_source_js, root_build_dir), 8088c88e8eSopenharmony_ci "--output-dir", 8188c88e8eSopenharmony_ci rebase_path(weex_loader_lib_dir, root_build_dir), 8288c88e8eSopenharmony_ci ] 8388c88e8eSopenharmony_ci} 8488c88e8eSopenharmony_ci 8588c88e8eSopenharmony_ciohos_copy("weex_loader") { 8688c88e8eSopenharmony_ci deps = [ 8788c88e8eSopenharmony_ci ":build_weex_loader_library", 8888c88e8eSopenharmony_ci ":scripter", 8988c88e8eSopenharmony_ci ":styler", 9088c88e8eSopenharmony_ci ] 9188c88e8eSopenharmony_ci sources = weex_loader_files_set 9288c88e8eSopenharmony_ci outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ] 9388c88e8eSopenharmony_ci module_source_dir = target_out_dir + "/$target_name/" 9488c88e8eSopenharmony_ci module_install_name = "" 9588c88e8eSopenharmony_ci part_name = "weex-loader" 9688c88e8eSopenharmony_ci subsystem_name = "thirdparty" 9788c88e8eSopenharmony_ci license_file = "//third_party/weex-loader/LICENSE" 9888c88e8eSopenharmony_ci} 9988c88e8eSopenharmony_ci 10088c88e8eSopenharmony_ciohos_copy("scripter") { 10188c88e8eSopenharmony_ci deps = [ ":build_weex_loader_library" ] 10288c88e8eSopenharmony_ci sources = [ weex_loader_lib_dir + "/scripter" ] 10388c88e8eSopenharmony_ci outputs = [ target_out_dir + "/$target_name" ] 10488c88e8eSopenharmony_ci part_name = "weex-loader" 10588c88e8eSopenharmony_ci subsystem_name = "thirdparty" 10688c88e8eSopenharmony_ci license_file = "//third_party/weex-loader/LICENSE" 10788c88e8eSopenharmony_ci} 10888c88e8eSopenharmony_ci 10988c88e8eSopenharmony_ciohos_copy("styler") { 11088c88e8eSopenharmony_ci deps = [ ":build_weex_loader_library" ] 11188c88e8eSopenharmony_ci sources = [ weex_loader_lib_dir + "/styler" ] 11288c88e8eSopenharmony_ci outputs = [ target_out_dir + "/$target_name" ] 11388c88e8eSopenharmony_ci part_name = "weex-loader" 11488c88e8eSopenharmony_ci subsystem_name = "thirdparty" 11588c88e8eSopenharmony_ci license_file = "//third_party/weex-loader/LICENSE" 11688c88e8eSopenharmony_ci} 11788c88e8eSopenharmony_ci 11888c88e8eSopenharmony_ciace_loader_ark_dir = get_label_info("//developtools/ace_js2bundle:ace_loader", 11988c88e8eSopenharmony_ci "target_out_dir") + "/ace_loader_ark" 12088c88e8eSopenharmony_ci 12188c88e8eSopenharmony_ciohos_copy("weex_loader_ark_hap") { 12288c88e8eSopenharmony_ci deps = [ 12388c88e8eSopenharmony_ci ":build_weex_loader_library", 12488c88e8eSopenharmony_ci ":weex_loader", 12588c88e8eSopenharmony_ci ":weex_scripter_ark_hap", 12688c88e8eSopenharmony_ci ":weex_styler_ark_hap", 12788c88e8eSopenharmony_ci "//developtools/ace_js2bundle:ace_loader_ark_hap", 12888c88e8eSopenharmony_ci ] 12988c88e8eSopenharmony_ci sources = weex_loader_files_set 13088c88e8eSopenharmony_ci outputs = [ ace_loader_ark_dir + "/lib/{{source_file_part}}" ] 13188c88e8eSopenharmony_ci} 13288c88e8eSopenharmony_ci 13388c88e8eSopenharmony_ciohos_copy("weex_scripter_ark_hap") { 13488c88e8eSopenharmony_ci deps = [ 13588c88e8eSopenharmony_ci ":build_weex_loader_library", 13688c88e8eSopenharmony_ci ":weex_loader", 13788c88e8eSopenharmony_ci "//developtools/ace_js2bundle:ace_loader_ark_hap", 13888c88e8eSopenharmony_ci ] 13988c88e8eSopenharmony_ci sources = [ weex_loader_lib_dir + "/scripter" ] 14088c88e8eSopenharmony_ci outputs = [ ace_loader_ark_dir + "/lib/scripter" ] 14188c88e8eSopenharmony_ci} 14288c88e8eSopenharmony_ci 14388c88e8eSopenharmony_ciohos_copy("weex_styler_ark_hap") { 14488c88e8eSopenharmony_ci deps = [ 14588c88e8eSopenharmony_ci ":build_weex_loader_library", 14688c88e8eSopenharmony_ci ":weex_loader", 14788c88e8eSopenharmony_ci "//developtools/ace_js2bundle:ace_loader_ark_hap", 14888c88e8eSopenharmony_ci ] 14988c88e8eSopenharmony_ci sources = [ weex_loader_lib_dir + "/styler" ] 15088c88e8eSopenharmony_ci outputs = [ ace_loader_ark_dir + "/lib/styler" ] 15188c88e8eSopenharmony_ci} 152