某渠道打包不能包含其他渠道SDK文件,所以每次打包前要将其他渠道SDK文件屏蔽比较麻烦,种种原因吧需要一个半自动的工具来完成 *** 作。
缺点:随着渠道的增加需要及时添加新增的SDK文件 也算是一劳半永逸吧
更新中...............
需要引入的模块var path = require("path"); var fs = require("fs"); var delectArr = [ 'XX渠道文件', 'XX渠道文件' ];A文件复制到B:
var route = "./Files/";//A的地址 var copyRoute = "";//B的地址 var copyConfig = function () { //先读取到需要屏蔽的SDK文件 fs.readdir(route, function (err, files) { (function iterator(i) { if (i == files.length) return; fs.stat(path.join(route, files[i]), function (err, data) { if (data.isFile() && delectArr.indexOf(files[i]) != -1) { copyFile(files[i]); } else if (data.isFile() && delectArr.indexOf(files[i]) == -1) { console.log("33[46;31mERROR SATR"); console.log("33[46;31mERROR 33[40;31m 未添加的SDK文件请检查", files[i]); console.log("33[46;31mERROR OVER", "33[0m"); } iterator(i + 1); }); })(0); }); //复制需要屏蔽的SDK文件 var copyFile = function (list1) { // console.log("将", list1, "文件复制到", copyRoute + "目录下"); fs.copyFile(route + list1, copyRoute + list1, function (err) { if (err) console.log('something wrong was happened: ', err) else console.log('文件' + list1 + '复制成功'); }) } }打包就不说了 将打包文件移动到C
var moveRoute = "";//打包文件目录 var moveCopyRoute = "";//C目录 var fileName = "";//打包文件名称 var moveConfig = function () { //读取build好的屏蔽文件 fs.readdir(moveRoute, function (err, files) { (function iterator(i) { if (i == files.length) { console.log("33[46;31mERROR SATR"); console.log("33[46;31mERROR 33[40;31m libs目录下没有找到目标文件"); console.log("33[46;31mERROR 33[40;31m 读取build好的屏蔽文件可能出现错误请检查"); console.log("33[46;31mERROR OVER", "33[0m"); return; } fs.stat(path.join(moveRoute, files[i]), function (err, data) { if (data.isFile() && files[i] == fileName) { copyFile(files[i]); return; } iterator(i + 1); }); })(0); }); //复制build好的屏蔽文件 var copyFile = function (list1) { // console.log("将", list1, "文件复制到", copyRoute + "目录下"); fs.copyFile(moveRoute + list1, moveCopyRoute + list1, function (err) { if (err) console.log('移动到华为的文件发生错误请检查: ', err) else { console.log('文件' + list1 + '复制成功'); delcetConfig(); } }) } }删除B
var delcetRoute = "";//B的目录 var delcetConfig = function () { fs.readdir(delcetRoute, function (err, files) { (function iterator(i) { if (i == files.length) { if (!delectArr || delectArr.length > 0) { console.log("33[46;31mDEL ERROR33[40;31m 有剩余未删除文件", delectArr, "33[0m"); } return; } fs.stat(path.join(delcetRoute, files[i]), function (err, data) { if (data.isFile() && delectArr.indexOf(files[i]) != -1) { delectFile(files[i]); } iterator(i + 1); }); })(0); }); var delectFile = function (list1) { fs.unlink(delcetRoute + list1, function (error) { if (error) { console.log("33[46;31mERROR33[40;31m 删除文件出错目录", error.path, "33[0m"); } else { console.log('33[40;32m删除文件', list1, "成功", "33[0m"); let index = delectArr.indexOf(list1); if (index != -1) delectArr.splice(index, 1); } }) } }更新SVN还原A
这是创建的.cmd文件
• /closeonend:0 不自动关闭对话框 • /closeonend:1 如果没发生错误则自动关闭对话框 • /closeonend:2 如果没发生错误和冲突则自动关闭对话框 • /closeonend:3 如果没有错误、冲突和合并,会自动关闭 @echo off rem SVN的bin目录 set svn_home=C:Program FilesTortoiseSVNbin rem SVN需要update文件的本地项目目录 set testPath1= rem SVN自动更新 *** 作命令 call "%svn_home%"TortoiseProc.exe /command:update /path:"%testPath1%" /closeonend:0 exit
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)