Merge branch 'master' into vislib/refactor

This commit is contained in:
Spencer Alger 2014-09-12 14:31:04 -07:00
commit 9488d1d7e4
10 changed files with 105 additions and 71 deletions

View file

@ -1,15 +1,20 @@
language: node_js
node_js:
- '0.10'
- '0.10'
install:
- npm install -g grunt-cli bower
- npm install
- bower install
- npm install -g grunt-cli bower
- npm install
- bower install
script:
- npm test
- npm test
notifications:
email:
- rashid.khan@elasticsearch.com
- rashid.khan@elasticsearch.com
hipchat:
rooms:
secure: lcRkWO1DIrU778TuklKrLG9caBeTtc/zeyM36zJo1Ms4skTALNWk/+xayrebbAABS0AekRG5FlAHoRhx+Z57GcUJGe1y3SRTh5qTVRQmSODTv7lMyeu+md8B5yNY4+5hINrwzWO4NJr/PIrMAlnHIGIADerZRsZWSbf7xvqUcl0=
secure: a2FERvICecrUAR62vP4vrUCTG3haRzf6kSzDDzGu6SICEXWLRrK0xeNQDpdwDAfzFmaIJ6txpkmInvEFeNPYNngTgEDyfhqdIa/lW0Ermdg+1hL0dK6QJiVmT1V6LDB2mgtaTTmfontxJqq7P2tmr0zz8ny4Eqq3lUnwPxYFNNo=
template:
- '%{repository}/%{branch} #%{build_number} by %{author}: %{message} (<a href="%{build_url}">open</a>)'
format: html
on_success: change
on_failure: always

View file

@ -37,7 +37,7 @@
"tar": "^1.0.1"
},
"scripts": {
"test": "grunt test",
"test": "grunt test --use-jruby",
"server": "grunt server",
"precommit": "grunt jshint todos"
},

View file

@ -26,7 +26,31 @@ Coming Soon...
### Development Evn Setup
Coming Soon...
#### JRuby
You'll need to have Java installed
Then, just run `grunt dev --use-jruby`
#### Ruby
Do the following to install and use ruby
- Install `rbenv`
- Use `brew update; brew install rbenv ruby-build` on Mac
- See [rbenv docs](https://github.com/sstephenson/rbenv#installation) otherwise
- Run `rbenv init` and add `eval "$(rbenv init -)"` to your .bashrc/.bash_profile
- Install ruby 1.9.3-p547 - `rbenv install 1.9.3-p547`
- See [rbenv docs](https://github.com/sstephenson/rbenv#installing-ruby-versions) for help
- Run `ruby -v` and make sure you are using *1.9.3-p547*
- If not, run `rbenv global 1.9.3-p547` and check again
- `gem install bundler`
- `cd src/server`
- `bundle`
- `cd ../..`
- `grunt dev`
In the future, the last line will be all you need
### Build Process

View file

@ -40,6 +40,10 @@ module Kibana
use JSONLogger, settings.logger
end
configure :quiet do
set :logger, false
end
configure :development do
use ColorLogger, settings.logger
end

View file

@ -6,15 +6,15 @@ module.exports = function (grunt) {
var config = {
mri_server: {
options: {
wait: false
// quiet: true
wait: false,
ready: /kibana server started/i
},
cmd: cmd
},
jruby_server: {
options: {
wait: false
// quiet: true
wait: false,
ready: /kibana server started/i
},
cmd: jruby,
args: [

View file

@ -1,16 +1,4 @@
module.exports = function (grunt) {
var kibana_server_tasks = [];
if (grunt.option('use-mri')) {
kibana_server_tasks = [
'stop:mri_server',
'run:mri_server'
];
} else {
kibana_server_tasks = [
'stop:jruby_server',
'run:jruby_server'
];
}
var config = {
test: {
files: [
@ -38,16 +26,6 @@ module.exports = function (grunt) {
'<%= testUtilsDir %>/istanbul_reporter/report.clientside.jade'
],
tasks: ['jade:clientside']
},
kibana_server: {
files: [
'src/server/**/*.rb',
'src/server/**/*.yml'
],
tasks: kibana_server_tasks,
options: {
spawn: false
}
}
};
@ -56,5 +34,22 @@ module.exports = function (grunt) {
delete config.test;
}
var ruby_server = grunt.config.get('ruby_server');
if (ruby_server) {
config.kibana_server = {
files: [
'src/server/**/*.rb',
'src/server/**/*.yml'
],
tasks: [
'stop:' + ruby_server,
'run:' + ruby_server
],
options: {
spawn: false
}
};
}
return config;
};

View file

@ -1,21 +1,9 @@
module.exports = function (grunt) {
var useJRuby = grunt.option('use-jruby');
var tasks = [
grunt.registerTask('dev', [
'less',
'jade'
];
if (useJRuby) {
tasks = tasks.concat([
'download_jruby',
'install_gems',
'run:jruby_server',
'wait_for_jruby'
]);
} else {
tasks = tasks.concat(['run:mri_server']);
}
grunt.registerTask('dev', tasks.concat([
'jade',
'ruby_server',
'maybe_start_server',
'watch'
]));
]);
};

28
tasks/ruby_server.js Normal file
View file

@ -0,0 +1,28 @@
var request = require('request');
module.exports = function (grunt) {
grunt.registerTask('ruby_server', function () {
var done = this.async();
request.get('http://localhost:5601/config', function (err, resp, body) {
if (err) {
var tasks = ['run:mri_server'];
grunt.config.set('ruby_server', 'mri_server');
if (grunt.option('use-jruby')) {
tasks = [
'download_jruby',
'install_gems',
'run:jruby_server',
'wait_for_jruby'
];
grunt.config.set('ruby_server', 'jruby_server');
}
grunt.task.run(tasks);
} else {
grunt.log.error('Another ruby server is running on localhost:5601.');
}
done();
});
});
};

View file

@ -1,34 +1,24 @@
var _ = require('lodash');
module.exports = function (grunt) {
/* jshint scripturl:true */
var rubyTasks;
if (grunt.option('use-mri')) {
rubyTasks = [
'run:mri_server',
];
} else {
rubyTasks = [
'download_jruby',
'install_gems',
'run:jruby_server',
'wait_for_jruby'
];
}
grunt.registerTask('test', rubyTasks.concat([
grunt.registerTask('test', [
'ruby_server',
'maybe_start_server',
'jade',
'mocha:unit',
'jshint'
]));
]);
grunt.registerTask('coverage', rubyTasks.concat([
grunt.registerTask('coverage', [
'blanket',
'ruby_server',
'maybe_start_server',
'mocha:coverage'
]));
]);
grunt.registerTask('test:watch', rubyTasks.concat([
grunt.registerTask('test:watch', [
'ruby_server',
'maybe_start_server',
'watch:test'
]));
]);
};

View file

@ -24,7 +24,7 @@ module.exports = function DevServer(opts) {
displayRoot: SRC,
filter: function (filename) {
return filename.match(/.*\/src\/.*\.js$/)
&& !filename.match(/.*\/src\/bower_components\/.*\.js$/)
&& !filename.match(/.*\/src\/kibana\/bower_components\/.*\.js$/)
&& !filename.match(/.*\/src\/kibana\/utils\/(event_emitter|next_tick|rison)\.js$/);
}
}));