jack of ruby
RJack
Java component gems for JRuby

Summary

RJack provides broadly used open source java components as gems for use with JRuby. Each gem may be used simply and solely to deliver java dependencies to a consuming ruby/java application. However, most of these gems also provide either setup facades or adapters for direct use from ruby code. RJack helps bring the advantages of RubyGems to existing Java applications, and lowers barriers for these applications to take advantage of better ruby facilities in such areas as file system and command line interaction, Ruby or DSLs as better "configuration", etc.

In general, rjack gems closely track upstream java project releases. Gem versions are based on the java project version plus an additional gem release number.

See also relevant usage examples and news in the void * blog.

Gems

TarPit provides the glue for an unholy union of build tools. TarPit includes general automation for any rubygems project. For java platform projects it offers in-Rake process execution of Maven, via the rjack-maven gem.

Logging: Gems for SLF4J and Logback provide a complete toolkit for unifying and controlling logging in a heterogeneous application containing ruby and java components. The slf4j gem may simply be used to satisfy common java logging dependencies, but also offers a ruby core Logger compatible adapter. The logback gem provides a facade for programmatic logback configuration in ruby.

Commons: Gems for various components from the Commons project.

Guava utilities.

HTTP Clients: Gem packaging of the HttpComponents 4.x and (Jakarta) Commons HttpClient 3.x. These gems are named with the major version numbers to allow them to coexist in the same process and allow incremental upgrade to 4.x.

Also includes the Async Http Client.

Networking: Netty also includes it own HTTP client.

HTTP Server: Gem packaging of the Jetty Web Server. The jetty gem includes the HTTP client and a ServerFactory for Server setup in ruby. The jetty-jsp companion gem adds JSP support if needed.

Gem packaging and initialization facade for the JetS3t client to Amazon Simple Storage Service (S3) and CloudFront.

Gem packaging of the JDOM XML processor.

Gem packaging of the ROME RSS/Atom feed parser and generator.

Neko HTML Parser.

Xerces2 Java XML Parser.

Jackson JSON Processor.

ICU4J Unicode components.

Messaging: Protocol Buffers and (JMS/AMQP) Qpid transport.

Full Text Search: Lucene and the Solr service.

ZooKeeper: reliable distributed coordination.

Postgres JDBC driver.