Moving Node Binaries and Fixing the Shell Scripts

This commit is contained in:
Chris Cowan 2015-01-16 12:47:43 -07:00
parent 33559850c1
commit bd9a86ff14
5 changed files with 32 additions and 24 deletions

1
.gitignore vendored
View file

@ -1,5 +1,6 @@
.aws-config.json
.DS_Store
.node_binaries
node_modules
bower_components
**/*.css

View file

@ -8,10 +8,11 @@ for %%I in ("%SCRIPT_DIR%..") do set DIR=%%~dpfI
set NODE=%DIR%\node\node.exe
set SERVER=%DIR%\src\bin\kibana.js
set NODE_ENV="production"
set CONFIG_PATH=%DIR%\config\kibana.yml
TITLE Kibana Server @@version
%NODE% %SERVER% --config %DIR%\config\kibana.yml
%NODE% %SERVER% %*
:finally

View file

@ -17,5 +17,5 @@ DIR=$(dirname "${SCRIPT}")/..
NODE=${DIR}/node/bin/node
SERVER=${DIR}/src/bin/kibana.js
NODE_ENV="production" exec "${NODE}" ${SERVER} --config ${DIR}/config/kibana.yml
CONFIG_PATH="${DIR}/config/kibana.yml" NODE_ENV="production" exec "${NODE}" ${SERVER} ${@}

View file

@ -100,7 +100,7 @@ module.exports = function (grunt) {
});
config.versioned_dist.files.push({
expand: true,
cwd: '<%= build %>/node_binaries/' + platform,
cwd: '<%= root %>/.node_binaries/' + platform,
src: '**',
dest: '<%= build %>/dist/kibana-' + version + '-' + platform + '/node'
});

View file

@ -13,7 +13,7 @@ module.exports = function (grunt) {
grunt.registerTask('download_node_binaries', 'Download the node.js binaries', function () {
var done = this.async();
var platforms = _.without(grunt.config.get('platforms'), 'windows');
var buildPath = grunt.config.get('build');
var rootPath = grunt.config.get('root');
var version = grunt.config.get('nodeVersion');
var handle404 = function (response) {
@ -23,30 +23,36 @@ module.exports = function (grunt) {
};
var downloadWindows = function (cb) {
var dest = join(buildPath, 'node_binaries', 'windows');
var url = urlPattern({ version: version, file: 'node.exe'});
mkdirp(dest, function (err) {
if (err) return cb(err);
var out = fs.createWriteStream(join(dest, 'node.exe'));
out.on('close', cb).on('error', cb);
var req = request.get(url);
req.on('response', handle404);
req.pipe(out);
var dest = join(rootPath, '.node_binaries', 'windows');
fs.stat(dest, function (err) {
if (!err) return cb(); // skip downloading if we already have them
var url = urlPattern({ version: version, file: 'node.exe'});
mkdirp(dest, function (err) {
if (err) return cb(err);
var out = fs.createWriteStream(join(dest, 'node.exe'));
out.on('close', cb).on('error', cb);
var req = request.get(url);
req.on('response', handle404);
req.pipe(out);
});
});
};
var download = function (platform, cb) {
var dest = join(buildPath, 'node_binaries', platform);
var file = filesPatern({ version: version, platform: platform });
var url = urlPattern({ version: version, file: file });
mkdirp(dest, function (err) {
if (err) return cb(err);
var unzip = zlib.createGunzip();
var out = tar.Extract({ path: dest, strip: 1 });
out.on('close', cb).on('error', cb);
var req = request.get(url);
req.on('response', handle404);
req.pipe(unzip).pipe(out);
var dest = join(rootPath, '.node_binaries', platform);
fs.stat(dest, function (err) {
if (!err) return cb(); // skip downloading if we already have them
var file = filesPatern({ version: version, platform: platform });
var url = urlPattern({ version: version, file: file });
mkdirp(dest, function (err) {
if (err) return cb(err);
var unzip = zlib.createGunzip();
var out = tar.Extract({ path: dest, strip: 1 });
out.on('close', cb).on('error', cb);
var req = request.get(url);
req.on('response', handle404);
req.pipe(unzip).pipe(out);
});
});
};