jruby / jruby-maven-plugins

maven plugin to handle rubygems in a maven way. including support for rspec, rails, cucumber, rake, etc
MIT License
112 stars 46 forks source link

Documentation.... #40

Closed marcinant closed 11 years ago

marcinant commented 11 years ago

Present documentation is so laconic that it is absolutely not clear for beginners how to use these plugins.

There is no info how to setup maven and configure environment to use stable releases and snapshots as well.

Are there any plans to improve situation?

For example - last release version 0.29.3 that is available on torquebox is broken.

It doesn't want to work with compass. Cannot find Sass dependencies after rubygems outage.

I thought that maybe 0.29.4-SNAPSHOT fixes this issue, but I don't know where this version is available?

https://oss.sonatype.org/content/repositories/snapshots says that there is 0.28.7-jruby-SNAPSHOT.

How to get last available SNAPSHOT? Am I supposed to clone git and build this for myself?

Maybe I'm just stupid but I don't get it and documentation doesn't help at all.

marcinant commented 11 years ago

I installed 0.29.4-SNAPSHOT on my local Apache Archiva.

Unfortunately there is still problem with compass.

[ERROR] ... No versions available for rubygems:chunky_png:gem:[1.2,1.99999] within specified range -> [Help 1]

Could someone help with that?

mkristian commented 11 years ago

yes, the docu sucks . .

usually i deploy bug fixes - there is no need for SNAPSHOTS

you mentioned your compass problem on the issue with torquebox proxy and I added a testcase to make sure your thing works on our side; https://github.com/torquebox/jruby-maven-plugins/tree/master/gem-proxy/src/it/load-compass-gem

finally - your problem has nothing to do with any of jruby-maven-plugins since maven itself is not able to resolve your gems. see https://gist.github.com/mkristian/4728936 for a minimal pom with compass dependency and how it works on my machine.

so something is corrupted in your local repo (since with a fresh repo it works - at least for). did you try using the -U flag which tells maven to download the maven-metadata.xml afresh ?

$ mvn dependency:tree -U

or just delete $HOME/.m2/repository/rubygems/chunky_png

or paste you output from

$mvn dependency:tree -X

since this might contain some clues why it s not working for you

marcinant commented 11 years ago

Thank you!

I disabled my local Apache Archiva and your example worked!

I've been trying mvn clean package -U or mvn clean install -U and thought that it should be enough.

I had to reinstall clean Archiva and configure as additional repository (not main mirror). Now this chunky_png dependency problem gone away. But.....

It's more crazy than I thought. I just took this example https://gist.github.com/mkristian/1671207

And... it worked. In copy/paste mode.

As I can see from repo - current gem-maven-plugin has development version 0.29.4-SNAPSHOT So, I changed from 0.28.6 and replaced it with "release" 0.29.3 and changed compass version to 0.12.2

Guess what. It failed!

It's crazy!

I replaced execArgs line with:

${project.build.directory}/rubygems/bin/compass version

(I just want to output version to see if it's working).

Success on 0.28.6

[INFO] --- gem-maven-plugin:0.28.6:exec (default) @ example --- [INFO] Successfully installed compass-0.12.2 [INFO] 1 gem installed [INFO] Compass 0.12.2 (Alnilam)

Then failed on 0.29.1

[INFO] --- gem-maven-plugin:0.29.1:exec (default) @ example --- [INFO] Successfully installed compass-0.12.2 [INFO] Successfully installed sass-3.2.5 [INFO] Successfully installed chunky_png-1.2.7 [INFO] Successfully installed fssm-0.2.10 [INFO] Successfully installed jruby-openssl-0.7.6.1 [INFO] Successfully installed bouncy-castle-java-1.5.0146.1 [INFO] Depending on your version of ruby, you may need to install ruby rdoc/ri data: [INFO] [INFO] <= 1.8.6 : unsupported [INFO] = 1.8.7 : gem install rdoc-data; rdoc-data --install [INFO] = 1.9.1 : gem install rdoc-data; rdoc-data --install [INFO] >= 1.9.2 : nothing to do! Yay! [INFO] Successfully installed rdoc-3.12.1 [INFO] Building native extensions. This could take a while... [WARNING] ERROR: Error installing /home/marcin/.m2/repository/rubygems/json/1.7.6/json-1.7.6.gem: [INFO] 7 gems installed [WARNING] ERROR: Failed to build gem native extension. [WARNING] [WARNING] java -jar /home/marcin/.m2/repository/org/jruby/jruby-complete/1.6.7.2/jruby-complete-1.6.7.2.jar extconf.rb [WARNING] WARNING: JRuby does not support native extensions or the `mkmf' library very well. [WARNING] Check http://kenai.com/projects/jruby/pages/Home for alternatives. [WARNING] mkmf.rb can't find header files for ruby at file:/home/marcin/.m2/repository/org/jruby/jruby-complete/1.6.7.2/jruby-complete-1.6.7.2.jar!/META-INF/ jruby.home/lib/native/include/ruby/ruby.h
[WARNING] [WARNING] [WARNING] Gem files will remain installed in /media/Media/Projekty/wp/themes/tester3/target/rubygems/gems/json-1.7.6 for inspection. [WARNING] Results logged to /media/Media/Projekty/wp/themes/tester3/target/rubygems/gems/json-1.7.6/ext/json/ext/generator/gem_make.out [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE

And finally - failed silently on 0.29.3 [INFO] --- gem-maven-plugin:0.29.3:exec (default) @ example --- [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 6.973s [INFO] Finished at: Thu Feb 07 22:04:14 CET 2013 [INFO] Final Memory: 9M/181M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal de.saumya.mojo:gem-maven-plugin:0.29.3:exec (default) on project example: Execution default of goal de.saumya.mojo:gem-maven-p lugin:0.29.3:exec failed. NullPointerException -> [Help 1]

What's wrong with this plugin? Is this because of my local ruby version?

ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]

mkristian commented 11 years ago

sorry that you run into all that trouble but I do appreciate letting us know about these problems - let's see:

the last error (NPE) is indeed a bug in the latest jruby-maven-plugins version - try to push a fix today, just deployed a snapshot ( https://oss.sonatype.org/content/repositories/snapshots/).

workaround is to use -Djruby.version=1.6.8 or defined a property

1.7.2 inside the properties section of the pom.xml the JSON gem is a problem on torquebox-proxy since they reference the ruby and not the java version of the gem - which is bad. that is a problem on its own. but I realized that the json comes into play when the plugin tries to add openssl support to jruby. and that is a bug sine rdoc and json are not needed for openssl (these test deps of jruby-openssl) so you basically ran into at least three bugs :) using jruby-1.7.2 will not include the openssl gems so you will not see that json bug and if you declare the jruby.version via the command line or via the pom.xml or the latest snapshot then it will work as well. regards Christian
mkristian commented 11 years ago

throwing all these old ideas overboard helps. let's see if the new start it more helpful ;)