[Rubygems-developers] [call for participation] - gem dependencies maven-like project specs
thewoolleyman at gmail.com
Fri Feb 9 06:49:17 EST 2007
On 2/8/07, Chad Woolley <thewoolleyman at gmail.com> wrote:
> On 2/8/07, Eric Hodel <drbrain at segment7.net> wrote:
> > So you can run the installer to install it through the API, then re-
> > run the file.
> Unfortunately, the devil is in the details, especially with
> cross-platform, binary gems. And cross-platform, binary gems that
> depend on other cross-platform, binary gems. And the current state of
> affairs where the only way to interact with this is via stdout, stderr
> and stdin (or the internal RubyGem wrappers for these, which make it
> marginally easier, but not much).
OK, I have to apologize. After reviewing the RubyGems code again, I
finally realized the way in which user_interaction.rb was intended to
be extended. This is well designed, and makes the job much easier.
Before, I was being dumb and trying to override and intercept
individual StreamUI methods at the class level. Now I'm going to
subclass StreamUI, and provide hooks for stdin queues, and listeners
for stdout and stderr.
However, there are still some parts of the API which makes automating
all RubyGems interaction somewhat error-prone and labor-intensive.
For example, if there are any binary gems in a list, I have to
manually grep a textual list for verions and platforms
(remote_installer.find_gem_to_install). Doing this recursively (for
example, mongrel and fastthread) is one of the last problems I'm
tackling before I can release. The whole platform issue needs to be
resolved soon too (is it 'i386-mswin32' or 'mswin32'?)
More information about the Rubygems-developers