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

Reply via email to