From 86b2b04c4c91154e1d9d3164eac89698f6e300a7 Mon Sep 17 00:00:00 2001 From: Court Ewing Date: Fri, 22 Jul 2016 15:34:36 -0400 Subject: [PATCH] Backport PR #7495 --------- **Commit 1:** Consistent build archives We do not release zip archives for any operating system except windows, and we do not release tar.gz archives for windows. For consistency and clarity sake, we'll explicitly list the architecture (x86) of the windows build as well. * Original sha: 2f2742e11b0a9ab4cae4dc2db796b58aa6fca22f * Authored by Court Ewing on 2016-06-17T13:20:44Z **Commit 2:** internal: Cleanup code in _build:archives task This just a code cleanup - there are no functional changes to this task. * Original sha: c00e49dd062bc89796c241a56151d65e3f97b18b * Authored by Court Ewing on 2016-06-17T13:39:14Z --- README.md | 2 +- tasks/build/archives.js | 40 +++++++++++++------------------ tasks/build/downloadNodeBuilds.js | 2 +- tasks/config/platforms.js | 4 ++-- 4 files changed, 20 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 22697649aeaa9..4a3fcc3f5f95a 100644 --- a/README.md +++ b/README.md @@ -46,4 +46,4 @@ For the daring, snapshot builds are available. These builds are created after ea | OSX | [tar](http://download.elastic.co/kibana/kibana-snapshot/kibana-4.6.0-SNAPSHOT-darwin-x64.tar.gz) | | Linux x64 | [tar](http://download.elastic.co/kibana/kibana-snapshot/kibana-4.6.0-SNAPSHOT-linux-x64.tar.gz) [deb](https://download.elastic.co/kibana/kibana-snapshot/kibana-4.6.0-SNAPSHOT-amd64.deb) [rpm](https://download.elastic.co/kibana/kibana-snapshot/kibana-4.6.0-SNAPSHOT-x86_64.rpm) | | Linux x86 | [tar](http://download.elastic.co/kibana/kibana-snapshot/kibana-4.6.0-SNAPSHOT-linux-x86.tar.gz) [deb](https://download.elastic.co/kibana/kibana-snapshot/kibana-4.6.0-SNAPSHOT-i386.deb) [rpm](https://download.elastic.co/kibana/kibana-snapshot/kibana-4.6.0-SNAPSHOT-i686.rpm) | -| Windows | [zip](http://download.elastic.co/kibana/kibana-snapshot/kibana-4.6.0-SNAPSHOT-windows.zip) | +| Windows | [zip](http://download.elastic.co/kibana/kibana-snapshot/kibana-4.6.0-SNAPSHOT-windows-x86.zip) | diff --git a/tasks/build/archives.js b/tasks/build/archives.js index 538a18a721fc5..9d6ff8163317f 100644 --- a/tasks/build/archives.js +++ b/tasks/build/archives.js @@ -1,38 +1,30 @@ -module.exports = function createPackages(grunt) { - let { config } = grunt; - let { resolve } = require('path'); - let { execFile } = require('child_process'); - let { all, fromNode } = require('bluebird'); +import { execFile } from 'child_process'; +import { all, fromNode } from 'bluebird'; - const targetDir = config.get('target'); - let buildPath = resolve(config.get('root'), 'build'); - let exec = async (cmd, args) => { - grunt.log.writeln(` > ${cmd} ${args.join(' ')}`); - await fromNode(cb => execFile(cmd, args, { cwd: buildPath }, cb)); - }; +export default (grunt) => { + const { config, log } = grunt; + const cwd = config.get('buildDir'); + const targetDir = config.get('target'); - let archives = async (platform) => { - // kibana.tar.gz - await exec('tar', ['-zchf', platform.tarPath, platform.buildName]); + async function exec(cmd, args) { + log.writeln(` > ${cmd} ${args.join(' ')}`); + await fromNode(cb => execFile(cmd, args, { cwd }, cb)); + }; - // kibana.zip - if (/windows/.test(platform.name)) { - await exec('zip', ['-rq', '-ll', platform.zipPath, platform.buildName]); + async function archives({ name, buildName, zipPath, tarPath }) { + if (/windows/.test(name)) { + await exec('zip', ['-rq', '-ll', zipPath, buildName]); } else { - await exec('zip', ['-rq', platform.zipPath, platform.buildName]); + await exec('tar', ['-zchf', tarPath, buildName]); } }; grunt.registerTask('_build:archives', function () { + grunt.file.mkdir(targetDir); all( - grunt.config.get('platforms') - .map(async platform => { - - grunt.file.mkdir(targetDir); - await archives(platform); - }) + config.get('platforms').map(async platform => await archives(platform)) ) .nodeify(this.async()); diff --git a/tasks/build/downloadNodeBuilds.js b/tasks/build/downloadNodeBuilds.js index f3938549aa4e1..cb74b55cec446 100644 --- a/tasks/build/downloadNodeBuilds.js +++ b/tasks/build/downloadNodeBuilds.js @@ -40,7 +40,7 @@ module.exports = function (grunt) { platform.downloadPromise = (async function () { grunt.file.mkdir(downloadDir); - if (platform.name === 'windows') { + if (platform.win) { await fromNode(cb => { resp .pipe(createWriteStream(resolve(downloadDir, 'node.exe'))) diff --git a/tasks/config/platforms.js b/tasks/config/platforms.js index aff25a263b026..ea80654215f51 100644 --- a/tasks/config/platforms.js +++ b/tasks/config/platforms.js @@ -10,9 +10,9 @@ module.exports = function (grunt) { 'darwin-x64', 'linux-x64', 'linux-x86', - 'windows' + 'windows-x86' ].map(function (name) { - let win = name === 'windows'; + let win = name === 'windows-x86'; let nodeUrl = win ? `${baseUri}/win-x86/node.exe` : `${baseUri}/node-v${nodeVersion}-${name}.tar.gz`; let nodeDir = resolve(rootPath, `.node_binaries/${nodeVersion}/${name}`);