Hi,

I am looking at upgrading buildrs dependency on rubygems to a later version
and being more explicit about the version. i.e. Something like

spec.add_dependency 'rubygems-update',      '>= 1.8.6'

However as I was going through this I noticed we are using a whole whackload
of deprecated features that is planned to be remove from rubygems in the
next few months, in particular "Gem:SourceIndex". We mostly use the plugin
to ensure the build has necessary dependencies before it rus (i.e. if you
have added it to build.yaml) and to install gems as part of :gem packaging.
As both of these features were broken up until a few releases ago I would
guess they are barely used. In some environments some of these features
continue to be broken (in particular installing of gems).

The ruby world seems to be going in a few different directions to manage
dependencies (i.e. rvm, bundler, ...) but most of them involve the runtime
managing them.

So I propose that we remove all the usage of these features and just
consider the rubygems library as a read-only interface. We could change the
startup scanning of build.yaml and rather than trying to install missing
dependencies just print an error on the console and exit. For the :install
phase of gem package I think it would be best to let people manage it in a
way that makes sense in their environment. We could add documentation to
fill this gap.

Thoughts?

-- 
Cheers,

Peter Donald

Reply via email to