mirror of https://github.com/BTCPrivate/copay.git
71 lines
2.3 KiB
JavaScript
71 lines
2.3 KiB
JavaScript
|
/*
|
||
|
** copay-shell - linux builder
|
||
|
*/
|
||
|
|
||
|
var os = require('os');
|
||
|
var downloadAtom = require('./download-atom-shell');
|
||
|
var async = require('async');
|
||
|
var fs = require('fs');
|
||
|
var path = require('path');
|
||
|
var color = require('cli-color');
|
||
|
var exec = require('child_process').exec;
|
||
|
|
||
|
var shell_target = path.normalize(__dirname + '/../build/linux/Copay')
|
||
|
var app_target = path.normalize(__dirname + '/../build/linux/Copay/resources/app')
|
||
|
|
||
|
async.series(
|
||
|
[
|
||
|
function getBinary(done) {
|
||
|
downloadAtom(done);
|
||
|
},
|
||
|
function copyBuildFiles(done) {
|
||
|
console.log(color.blue('{copay}'), 'copying app files');
|
||
|
var ignore = ['.git','assets','build','scripts'].map(function(dir) {
|
||
|
return '--exclude ' + dir
|
||
|
}).join(' ');
|
||
|
var appDir = path.normalize(__dirname + '/../');
|
||
|
|
||
|
exec('rsync -av --progress ' + appDir + ' ' + app_target + ' ' + ignore, {
|
||
|
maxBuffer: Infinity // LOL
|
||
|
}, function(err, stdout, stderr) {
|
||
|
done(err || stderr);
|
||
|
});
|
||
|
},
|
||
|
function removeDefaultApp(done) {
|
||
|
console.log(color.blue('{copay}'), 'removing default application');
|
||
|
rmdir(path.normalize(__dirname + '/../build/linux/Copay/resources/default_app'));
|
||
|
done();
|
||
|
},
|
||
|
function renameExecutable(done) {
|
||
|
console.log(color.blue('{copay}'), 'renaming executable');
|
||
|
fs.rename(shell_target + '/atom', shell_target + '/Copay', done);
|
||
|
},
|
||
|
function zipBuild(done) {
|
||
|
console.log(color.blue('{copay}'), 'zipping distributable package');
|
||
|
exec('zip -r ' + path.normalize(shell_target, '/../Copay-' + process.platform) + ' ' + shell_target, {
|
||
|
maxBuffer: Infinity // LOL x 2
|
||
|
},function(err, stdout, stderr) {
|
||
|
done(err || stderr);
|
||
|
});
|
||
|
}
|
||
|
],
|
||
|
function(err, results) {
|
||
|
if (err) return console.log(color.blue('{copay}'), color.red(err));
|
||
|
console.log(color.blue('{copay}'), color.green('success!'));
|
||
|
}
|
||
|
);
|
||
|
|
||
|
function rmdir(dir) {
|
||
|
if (fs.existsSync(dir)) {
|
||
|
var list = fs.readdirSync(dir);
|
||
|
for(var i = 0; i < list.length; i++) {
|
||
|
var filename = path.join(dir, list[i]);
|
||
|
var stat = fs.statSync(filename);
|
||
|
if (filename == '.' || filename == '..') null;
|
||
|
else if (stat.isDirectory()) rmdir(filename);
|
||
|
else fs.unlinkSync(filename);
|
||
|
}
|
||
|
fs.rmdirSync(dir);
|
||
|
}
|
||
|
};
|