Skip to content
This repository has been archived by the owner on Jan 31, 2024. It is now read-only.

Commit

Permalink
simplify bin scripts and get them working
Browse files Browse the repository at this point in the history
  • Loading branch information
spalger committed Feb 14, 2016
1 parent 06c603d commit 1455f09
Show file tree
Hide file tree
Showing 15 changed files with 65 additions and 70 deletions.
15 changes: 4 additions & 11 deletions bin/plugin-helper-build.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,8 @@
#!/usr/bin/env node

var pkg = require('../package.json');
var program = require('commander');
var help = require('../help');
var task = require('../tasks/build');
require('../lib/command')('build', function (program) {

program
.version(pkg.version)
.description('Build a distributable archive')
.on('--help', help('build'))
.parse(process.argv);
program
.description('Build a distributable archive');


task();
});
16 changes: 4 additions & 12 deletions bin/plugin-helper-start.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
#!/usr/bin/env node

var program = require('commander');
require('../lib/command')('start', function (program) {

var pkg = require('../package.json');
var help = require('../help');
var task = require('../tasks/start');
program
.description('Start kibana and have it include this plugin');

program
.version(pkg.version)
.description('Start kibana and have it include this plugin')
.on('--help', help('start'))
.parse(process.argv);


task();
});
15 changes: 4 additions & 11 deletions bin/plugin-helper-test:browser.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,8 @@
#!/usr/bin/env node

var pkg = require('../package.json');
var program = require('commander');
var help = require('../help');
var task = require('../tasks/test:browser');
require('../lib/command')('test:browser', function (program) {

program
.version(pkg.version)
.description('Run the browser tests in a real web browser')
.on('--help', help('test:browser'))
.parse(process.argv);
program
.description('Run the browser tests in a real web browser');


task(program);
});
15 changes: 4 additions & 11 deletions bin/plugin-helper-test:server.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,8 @@
#!/usr/bin/env node

var program = require('commander');
require('../lib/command')('test:server', function (program) {

var pkg = require('../package.json');
var help = require('../help');
var task = require('../tasks/test:server');
program
.description('Run the server tests using mocha');

program
.version(pkg.version)
.description('Run the server tests using mocha')
.on('--help', help('test:server'))
.parse(process.argv);

task();
});
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
19 changes: 19 additions & 0 deletions lib/command.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/usr/bin/env node

module.exports = function (name, mod) {
var pkg = require('../package.json');
var program = require('commander');
var docs = require('../docs');
var idPlugin = require('./id_plugin');
var task = require('../tasks/' + name);

program
.version(pkg.version)
.on('--help', docs(name));

mod(program);

program.parse(process.argv);

task(idPlugin());
};
15 changes: 15 additions & 0 deletions lib/id_plugin.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
var resolve = require('path').resolve;

module.exports = function () {
var root = process.cwd();
var pkg = require(resolve(root, 'package.json'));

return {
root: root,
kibanaRoot: resolve(root, '../kibana'),
id: pkg.name,
pkg: pkg,
version: pkg.version,
config: (pkg.config && pkg.config.kibanaPluginHelpers) || {}
};
};
11 changes: 5 additions & 6 deletions tasks/build.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
module.exports = function () {
module.exports = function (plugin) {

var vfs = require('vinyl-fs');
var zip = require('gulp-zip');
var rename = require('gulp-rename');
var join = require('path').join;

var pkg = require('../package.json');
var deps = Object.keys(pkg.dependencies || {});
var buildId = `${pkg.name}-${pkg.version}`;
var deps = Object.keys(plugin.pkg.dependencies || {});
var buildId = `${plugin.id}-${plugin.version}`;

var files = [
'package.json',
Expand All @@ -17,11 +16,11 @@ module.exports = function () {
];

vfs
.src(files, { base: join(__dirname, '..') })
.src(files, { base: plugin.root })
.pipe(rename(function nestFileInDir(path) {
path.dirname = join(buildId, path.dirname);
}))
.pipe(zip(`${buildId}.zip`))
.pipe(vfs.dest('build'));
.pipe(vfs.dest(join(plugin.root, 'build')));

};
7 changes: 3 additions & 4 deletions tasks/start.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
module.exports = function () {
module.exports = function (plugin) {
var resolve = require('path').resolve;
var execFileSync = require('child_process').execFileSync;

var pluginDir = resolve(__dirname, '../');
var kibanaDir = resolve(pluginDir, '../kibana');
var kibanaDir = resolve(plugin.root, '../kibana');

var cmd = 'bin/kibana';
var args = ['--dev', '--plugin-path', pluginDir];
var args = ['--dev', '--plugin-path', plugin.root];
execFileSync(cmd, args, {
cwd: kibanaDir,
stdio: 'inherit'
Expand Down
14 changes: 4 additions & 10 deletions tasks/test:browser.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
module.exports = function () {

var resolve = require('path').resolve;
module.exports = function (plugin) {
var execFileSync = require('child_process').execFileSync;

var pkg = require('../package.json');
var pluginDir = resolve(__dirname, '../');
var kibanaDir = resolve(pluginDir, '../kibana');

var kbnServerArgs = [
'--kbnServer.testsBundle.pluginId', pkg.name,
'--kbnServer.plugin-path', pluginDir
'--kbnServer.testsBundle.pluginId', plugin.id,
'--kbnServer.plugin-path', plugin.root
];

var cmd = 'npm';
var args = ['run', 'test:dev', '--'].concat(kbnServerArgs);
execFileSync(cmd, args, {
cwd: kibanaDir,
cwd: plugin.kibanaRoot,
stdio: 'inherit'
});

Expand Down
8 changes: 3 additions & 5 deletions tasks/test:server.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
module.exports = function () {
module.exports = function (plugin) {
var resolve = require('path').resolve;
var execFileSync = require('child_process').execFileSync;

var pluginDir = resolve(__dirname, '..');
var kibanaDir = resolve(pluginDir, '../kibana');
var mochaSetupJs = resolve(kibanaDir, 'test/mocha_setup.js');
var mochaSetupJs = resolve(plugin.kibanaRoot, 'test/mocha_setup.js');

var cmd = 'mocha';
var args = ['--require', mochaSetupJs, 'server/**/__tests__/**/*.js'];
execFileSync(cmd, args, {
cwd: pluginDir,
cwd: plugin.root,
stdio: 'inherit'
});
};

0 comments on commit 1455f09

Please sign in to comment.