Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The new way to build is using 'rake' and not 'make'. For some some attempt at compatibility, any 'make' invocation will invoke rake. `make foo` will invoke `rake foo`. This is for elastic#1640 Major changes: * rake is used instead of make. This allows us to more easily improve, debug, and test the build tooling. * The build process can be bootstrapped from any Ruby that has Rake available. Bootstrapping rake is automatic will download JRuby and re-execute itself under JRuby. * rpm and deb packages no longer list any java as dependencies. This is the result of user discomfort and discussions which concluded that there is no good way to "depend" on Java via rpm or deb. Internal changes: * Vendoring paths are project-based. Each vendor directory is now specific as vendor/<project>/... For example, JRuby is dumped into vendor/jruby/... Other changes: * We don't use jruby-complete anymore. We now use bin/jruby as the entry point. This improves the startup time of Logstash on my laptop by approximately 1.5 seconds (~25% speedup of startup time). Testing `bin/logstash version` speed; 5 runs each: * Before patch: 7.27 7.55 7.26 7.42 7.47 * After patch: 5.54 5.97 5.67 5.58 5.54 Smaller changes: - removed 'env' subcommand - Remove 'deps' subcommand. Replaced by 'rake vendor:all' - Add gem_home method for this platform's GEM_HOME - .travis.yml removed because we haven't used Travis in a long time. - bin/logstash exits nonzero with a useful message if JRuby can't be found. Notes: Invoke bundler via system() call instead of Bundler::CLI. After some discussion in #bundler on freenode (very helpful!) on how to do what we need to do with bundler, I was encouraged to not use the bundler api from ruby, so system() it is. Patch slightly modified to fit the new model of packaging (ruby instead of shell invocation), but original author is obazoud in elastic#1008. Richard Pijnenburg helped with some of the code and was lovely in helping test it. Fixes elastic#1640
- Loading branch information