/* * Copyright (c) 2023 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. */ const fs = require('fs'); const path = require('path'); const exists = function(src, dst, callback) { if (src.match(/\/test$/)) { return; } fs.exists(dst, function(exists) { if (exists) { callback(src, dst); } else { fs.mkdir(dst, function() { callback(src, dst); }); } }); }; stat = fs.stat; const copy = function(src, dst) { fs.readdir(src, function(err, paths) { if (err) { throw err; } paths.forEach(function(_path) { const _src = src + '/' + _path; const _dst = dst + '/' + _path; let readable; let writable; stat(_src, function(err, st) { if (err) { throw err; } if (st.isFile()) { const pathInfo = path.parse(_src); if (pathInfo.name === 'gulpfile' || pathInfo.ext !== '.js') { return; } readable = fs.createReadStream(_src); writable = fs.createWriteStream(_dst); readable.pipe(writable); } else if (st.isDirectory()) { exists(_src, _dst, copy); } }); }); }); }; function copyResource(src, dist) { exists(path.resolve(__dirname, src), dist, copy); } const TARGET_POSITION = 2; copyResource(path.resolve(__dirname, './deps/weex-scripter'), process.argv[TARGET_POSITION] + '/scripter'); copyResource(path.resolve(__dirname, './deps/weex-styler'), process.argv[TARGET_POSITION] + '/styler');