kibana/tasks/create_packages.js
2014-10-03 10:16:29 -07:00

32 lines
1,010 B
JavaScript

var child_process = require('child_process');
var Promise = require('bluebird');
var exec = Promise.promisify(child_process.exec);
var join = require('path').join;
var mkdirp = Promise.promisifyAll(require('mkdirp'));
module.exports = function (grunt) {
grunt.registerTask('create_packages', function () {
var done = this.async();
var target = grunt.config.get('target');
var packageName = grunt.config.get('pkg.name');
var version = grunt.config.get('pkg.version');
var archiveName = join(target, packageName + '-' + version);
var distPath = join(grunt.config.get('build'), 'dist');
var tgzCmd = 'tar -zcvf ' + archiveName + '.tar.gz kibana-' + version;
var zipCmd = 'zip -r ' + archiveName + '.zip kibana-' + version;
var options = { cwd: distPath };
mkdirp.mkdirpAsync(target)
.then(function (arg) {
return exec(tgzCmd, options);
})
.then(function (arg) {
return exec(zipCmd, options);
})
.finally(done);
});
};