headius/racc — pull request #1 by chad-lancour (2014-03-12 20:23:25+00:00)
Title: Attempt proper gem builds on mri and jruby.

Attempt proper gem builds on mri and jruby.

Hey @headius -
Thank You for all your amazing work on JRuby.

RE: https://github.com/tenderlove/racc/pull/41#issuecomment-36539374

I went with @zenspider recommendation (thanks!) and poked around in nokogiri's Rakefile, etc. They do not include any of the compiled jar files in the manifest.txt, just the source java. They use Rake::JavaExtensionTask as well. Plus the add_file_to_gem approach. Looking at nokogiri's build_all script - they are not doing anything else special for ruby vs jruby.

# install the hoe-gemspec gem... ignoring the racc.gemspec in .gitignore, but nice to have to generate a local gemspec for local gem build
jgem install hoe-gemspec
# then
rake clean clobber
rake compile
rake gem

This should build cleanly on mri and jruby (though will choke on jruby/win because of the classpath join using :'s.)

Is this what you were looking for?

Best Regards,
Chad

****************************************************************************
Squashed commit of the following:
commit 3c9881add0d9b2d46d14f1db47c6f808e3f33b62
Author: tbdev
Date: Mon Mar 3 14:40:15 2014 -0800

Attempt proper gem builds on mri and jruby.

rake clean clobber
rake compile
rake gem

* .gitignore
excluding lib/racc/cparse-jruby.jar, racc.gemspec(in general, not present), racc.gemspec

* Manifest.txt
replaced lib/racc/cparse.jar with ext/racc/com/headius/racc/Cparse.java

* Rakefile
mimic nokogiri's rakefile process via add_file_to_gem
removed requirement for maven build via Rake::JavaExtensionTask
cleaner jar name
refactored for java? jruby?
hoe to HOE
added Hoe.plugin :gemspec to allow one-off rake gem:spec

* src/main/java/com/headius/racc/Cparse.java -> ext/racc/com/headius/racc/Cparse.java
moved src/main/java/com/headius to ext/rac/com/headius to accomodate Rake::JavaExtensionTask

* lib/racc/parser.rb
match up require to jar file

* pom.xml
no longer nessecary