On May 25, 2011, at 23:21 , Charles Oliver Nutter wrote: > I haven't been following RubyGems dev lately, but I promised a while > back to open a discussion about making it possible for third-party > projects to extend RubyGems in a standard way. Specifically, I'm > thinking of JRuby's support for installing Java libraries from Maven > using RubyGems... > > gem install mvn:org.clojure:clojure > > Currently we have a few patches to our installed copy of RG 1.5.1. The > changes aren't extensive, but they're invasive where they exist. I > believe they patch two aspects: spec retrieval (to formulate a > synthetic spec from Maven data) and remote fetching (to build a gem > from the Maven artifact on-the-fly). The bulk of the Maven-specific > logic exists in separate code not part of the RG codebase, but we do > have to hook a few things. > > So, I have a few questions to kick this off: > > * Is there a standard, frozen, public RG API that can be used to > programmatically install gems, query specs, etc? > * Are there standard hooks other than the "defaults" files to make it > possible to extend RubyGems with additional packaging systems, > transport mechanisms, etc? > > We can probably start from here and see where it takes us. Thank you!
So, to add some history (from (faulty) memory): + You and I have talked about this and you pointed me to your patches. + Some of those patches we can address outright. Some, not so easily. + For the easy ones, I already refactored remote_fetcher so that it'll dispatch based on the URL protocol: `send("fetch_#{uri.scheme}", ...)` so you can add fetch_mvn (which is probably just an alias to fetch_http?). + The more difficult ones didn't have obvious refactorings we could do iirc... but I don't remember what they were at this point. In this specific case, is there a reason why the platform default hook isn't an appropriate place to put your extensions? (like, you're hoping to offload this elsewhere or something) _______________________________________________ Rubygems-developers mailing list http://rubyforge.org/projects/rubygems Rubygems-developers@rubyforge.org http://rubyforge.org/mailman/listinfo/rubygems-developers