[jruby-user] [ANN] jruby-maven-plugins, jbundler, jar-depenencies, ruby-maven, etc

christian <[email protected]>
Newsgroups gmane.comp.lang.jruby.user
Message-ID <CAMV7UWH4gDsi3DGSQWgYr1jdypfYHSuNh9dJ3=kWRN9HqF-0Yw@mail.gmail.com>
jruby-maven-plugins version 1.0.4
---------------------------------

after a long time it reached 1.0.0 and got some more bug fixes already.

with those plugin you can run jruby with gem-artifacts, run tests (junit,
minitest, rspec, cucumber) using those gems or pack them as embeded gems
into jar or war files

gem artifacts are offered by http://rubygems-proxy.torquebox.org/

some info can be found on jruby-wiki

* JRuby scripting container packed as jar with embeded gems:
https://github.com/jruby/jruby/wiki/Jruby-Scripting-container-using-Gems-with-a-Maven-Project

* JRuby scripting container inside a servlet packed as war:
https://github.com/jruby/jruby/wiki/JRuby-Scripting-container-in-Servlet-using-Gems-packed-with-Maven

* minitest, rspec, cucumber test for you ruby script:
https://github.com/jruby/jruby/wiki/Running-Minitest-or-Rspec-over-serveral-JRuby-versions-with-Ruby-Maven

all those pages use a Ruby-DSL for Maven

Ruby-Maven 3.1.1.0.8
------------------------------

basically a regular maven-3.1.1 installation with an extra thin wrapper
which "translates" a ruby file into a pom.xml

it comes with some "extras" feature to use a Gemfile, Jarfile or
gemspec-file as part of the POM. as well it leverages the
jruby-maven-plugins.

it also allows to execute code during a declared phase, i.e. like inlined
maven plugins written in ruby.


Rubygems-Servlets
---------------------------

if you need Gem-Artifacts from your local rubygems repository you can use
https://github.com/torquebox/rubygems-servlets
to proxy gem repository and deliver gem-artifacts.

for a more advanced solution use sonatype.org/nexus with nexus-ruby-plugin
from:
https://github.com/sonatype/nexus-ruby-support

rubygems-servlets uses the same core as this nexus-plugin.

JBundler 0.6.1
-------------------

manage your jars for your ruby project with jbundler

* it uses ruby-maven now to lock down the version for the jars
* allows exclusions on jars (maven feature)
* uses jar-dependencies to "track and load" jars

the 0.6.x might break some existing project. in such a case please use
$ jbundle lock_down
instead of install and **open an issue**:
https://github.com/mkristian/jbundler


Jar-Dependencies 0.0.5
--------------------------------

* during runtime it tracks the version of loaded jars - if require_jar(...)
is used to load it
* it can "vendor" the jars declared as "jar dependency" inside the gemspec
file before packing them
* it can "vendor" the jars when you install the gem

see on how you can manage your jars with jbundler (and jar-dependencies):
https://github.com/jruby/jruby/wiki/Using-a-different-Bouncy-Castle-version-via-JBundler

Clueing Things Together
---------------------------------

putting the Gemfile, Jarfile and some common maven-plugins, the
jruby-maven-plugins together. with the help of ruby-maven you can easily
pack

* a rack application ready to deploy on servlet-container:
https://github.com/jruby/jruby/wiki/Rack-Application-with-Ruby-Maven

* or deploy it on heroku
https://github.com/jruby/jruby/wiki/Rack-Application-with-JBundler-on-Heroku

LAST
--------

enjoy and please open issues if you have problems !
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.