# Copyright (c) 2021 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/ace/ace.gni") import("//foundation/arkui/ace_engine/ace_config.gni") ace_loader_lib_dir = get_label_info(":build_ace_loader_library", "target_out_dir") + "/lib" action("build_ace_loader_library") { script = "build_ace_loader_library.py" depfile = "$target_gen_dir/$target_name.d" outputs = [ ace_loader_lib_dir ] _ace_loader_dir = "ace-loader" _module_source_js = _ace_loader_dir + "/module-source.js" if (is_standard_system) { _ace_config_dir = "ace-loader" } else { _ace_config_dir = "//prebuilts/ace-toolkit/ace-loader/linux-x64" } _babel_js = _ace_config_dir + "/node_modules/@babel/cli/bin/babel.js" _babel_config_js = _ace_config_dir + "/babel.config.js" _uglify_source_js = _ace_config_dir + "/uglify-source.js" inputs = [ _babel_config_js, _babel_js, _module_source_js, _uglify_source_js, ] nodejs_path = "//prebuilts/build-tools/common/nodejs/current/bin/node" args = [ "--depfile", rebase_path(depfile, root_build_dir), "--node", rebase_path(nodejs_path, root_build_dir), "--babel-js", rebase_path(_babel_js, root_build_dir), "--ace-loader-src-dir", rebase_path(_ace_loader_dir + "/src", root_build_dir), "--babel-config-js", rebase_path(_babel_config_js, root_build_dir), "--module-source-js", rebase_path(_module_source_js, root_build_dir), "--uglify-source-js", rebase_path(_uglify_source_js, root_build_dir), "--output-dir", rebase_path(ace_loader_lib_dir, root_build_dir), ] } ace_loader_sources = [ "ace-loader/.npmignore", "ace-loader/babel.config.js", "ace-loader/index.js", "ace-loader/main.product.js", "ace-loader/node_modules", "ace-loader/npm-install.js", "ace-loader/package-lock.json", "ace-loader/package.json", "ace-loader/sample", "ace-loader/webpack.lite.config.js", "ace-loader/webpack.rich.config.js", ] ohos_copy("ace_loader") { sources = ace_loader_sources outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ] module_source_dir = target_out_dir + "/$target_name/" module_install_name = "" } ohos_copy("ace_loader_library") { deps = [ ":build_ace_loader_library" ] sources = [ ace_loader_lib_dir ] outputs = [ target_out_dir + "/$target_name" ] module_source_dir = target_out_dir + "/$target_name" module_install_name = "" } # copy previewer ohos_copy("previewer_copy") { if (host_os == "mac") { sources = [ "//prebuilts/previewer/darwin/previewer" ] } else { if ("${current_os}_${current_cpu}" == "mingw_x86_64") { sources = [ "//prebuilts/previewer/windows/previewer" ] } else { sources = [ "//prebuilts/previewer/linux/previewer" ] } } outputs = [ target_out_dir + "/{{source_file_part}}" ] module_source_dir = target_out_dir + "/previewer/" module_install_name = "" } ace_loader_ark_dir = get_label_info(":ace_loader", "target_out_dir") + "/ace_loader_ark" ohos_copy("ace_loader_ark") { sources = ace_loader_sources outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ] license_file = "//third_party/parse5/LICENSE" } ohos_copy("ace_loader_ark_hap") { deps = [ ":ace_loader", ":ace_loader_ark", ":build_ace_loader_library", "//developtools/ace_ets2bundle:ets_loader_ark_hap", ] sources = [ ace_loader_lib_dir ] outputs = [ ace_loader_ark_dir + "/lib" ] }