kibana/tasks/build/archives.js
Court Ewing c00e49dd06 internal: Cleanup code in _build:archives task
This just a code cleanup - there are no functional changes to this task.
2016-07-05 21:20:48 -04:00

32 lines
837 B
JavaScript

import { execFile } from 'child_process';
import { all, fromNode } from 'bluebird';
export default (grunt) => {
const { config, log } = grunt;
const cwd = config.get('buildDir');
const targetDir = config.get('target');
async function exec(cmd, args) {
log.writeln(` > ${cmd} ${args.join(' ')}`);
await fromNode(cb => execFile(cmd, args, { cwd }, cb));
};
async function archives({ name, buildName, zipPath, tarPath }) {
if (/windows/.test(name)) {
await exec('zip', ['-rq', '-ll', zipPath, buildName]);
} else {
await exec('tar', ['-zchf', tarPath, buildName]);
}
};
grunt.registerTask('_build:archives', function () {
grunt.file.mkdir(targetDir);
all(
config.get('platforms').map(async platform => await archives(platform))
)
.nodeify(this.async());
});
};