On Jan 18, 2012, at 2:49 PM, Charles Oliver Nutter wrote:
> b) make it easier to hook the spec retrieval + gem fetch process
> 
> I prefer the latter, since it allows us to build the gems any way we
> want, so long as we feed RubyGems a valid spec and provide it smarts
> to get a .gem file in hand.

in master I've unified Gem::Package::TarInput, Gem::Package::TarOutput, 
Gem::Format and Gem::Builder into Gem::Package which handles all the work of 
reading and writing .gem files.  There's also Gem::Package::Old for the 
YAML-ish gems.

While there's no hook to replace Gem::Package with an alternate implementation, 
the required API is:

#spec= to provide a Gem::Specification for building
#build to build a .gem file for the spec

#spec to retrieve a Gem::Specification from a .gem file
#extract_files(dir) to extract the data.tar.gz

Additionally, #verify is called from #spec for Gem::Package and ensures the gem 
is correctly formatted and complete.
_______________________________________________
RubyGems-Developers mailing list
http://rubyforge.org/projects/rubygems
RubyGems-Developers@rubyforge.org
http://rubyforge.org/mailman/listinfo/rubygems-developers

Reply via email to