UNPKG

dragonbones-runtime

Version:

the tools to build dragonbones file for diffrent framework

67 lines (53 loc) 2.28 kB
/// <reference path="../lib/types.d.ts" /> import * as file from '../lib/FileUtil'; import * as EgretProject from '../project'; const config = EgretProject.data; class CopyFilesCommand implements egret.Command { outputPath: string; ignorePathList: any[] execute(): number { this.copyFilesToNative(egret.args.projectDir, this.outputPath, this.ignorePathList); return 0; } private copyFilesToNative(projectPath, outputPath, ignorePathList) { var startTime = Date.now(); //1、清除文件夹 file.remove(outputPath); //js file.copy(file.joinPath(projectPath, "bin-debug"), file.joinPath(outputPath, "bin-debug")); //resource this.copyResources(projectPath, outputPath, ignorePathList); globals.log2(7, (Date.now() - startTime) / 1000); } copyResources(projectPath, outputPath, ignorePathList) { var resources = config.getResources(); for (var key in resources) { if (file.exists(file.joinPath(projectPath, resources[key]))) { this.copyFilesWithIgnore(file.joinPath(projectPath, resources[key]), file.joinPath(outputPath, resources[key]), ignorePathList); } } } private copyFilesWithIgnore(sourceRootPath: string, desRootPath: string, ignorePathList: any[]) { ignorePathList = ignorePathList.map(function (item) { var reg = new RegExp(item); return reg; }); var copyFilePathList = file.getDirectoryAllListing(file.joinPath(sourceRootPath)); var isIgnore = false; copyFilePathList.forEach(function (copyFilePath) { isIgnore = false; for (var key in ignorePathList) {//检测忽略列表 var ignorePath = ignorePathList[key]; if (copyFilePath.match(ignorePath)) { isIgnore = true; break; } } if (!isIgnore) {//不在忽略列表的路径,拷贝过去 var copyFileRePath = file.relative(sourceRootPath, copyFilePath); file.copy(file.joinPath(copyFilePath), file.joinPath(desRootPath, copyFileRePath)); } }); } } export = CopyFilesCommand;