-
Notifications
You must be signed in to change notification settings - Fork 19
Gem Artifact
any tool managing maven artifacts can use the Gem-Artifacts from http://rubygems-proxy.torquebox.org/releases/rubygems/jruby-openssl/0.9.5/jruby-openssl-0.9.5.pom. there you see the declared jar dependencies from the gemspec as regular jar dependency inside pom. gem dependencies will also be part of the pom - see http://rubygems-proxy.torquebox.org/releases/rubygems/maven-tools/1.0.3/maven-tools-1.0.3.pom.
these Gem-Artifacts allow to build a dependency tree with both jars and gems. the mapping from gemspec to pom works quite well. some rare edge cases exist where maven is not able to resolve a version range. also gems with dependencies to prerelease gems can cause problems but usually work.
most dependencies in gemspecs are given with version ranges via semantic ranges (like ~> 0.1
) or other version ranges. all those will translate to version ranges in maven (see https://github.com/torquebox/maven-tools/wiki/Versions). but maven needs the pom for every single version inside a given version range. this results in huge download of poms of gem-artifacts and for a typical rails application this can take some time !!!