[Nitro] Reap's future

TRANS transfire at gmail.com
Thu Apr 27 23:01:39 EDT 2006


I will certainly be incorprating the suggestions provided in the last
thread into Reap, like the project directory flag and the
multi-ProjectInfo ability for instance. Thanks for those!

Right now I want to cover the potential future of Reap you all have
helped me envision. I have been giving it a lot of thought and I've
decided Reap proper must stay focues on it's meta-project roots rather
than become another custom task system, nonethless, it needs to
integrate with such capabilities in some fashion, so I've come to see
two potential directions for this. Both essentially end up in similar
places, but take vastly different routes for getting there --and both
are relative to Rake.

First, and certainly the easiest of the two is to integrate Reap as
essentially an extension to Rake. Basically one would have the
ProjectInfo file with Reap's task meta-data AND a Rakefile. In the
Rakefile one would simply do:

  require 'reap'

and all the Reap tasks as specified in the ProjectInfo file would be
added to Rake tasks. This works well, EXCEPT for the pre-project
tasks: template and scaffold. Since in that case no Rakefile could
exist. Those would be a problem (although below I consider a possible
solution.)

The alternative is to do essentially the same thing, but instead of
integrating with Rake, build a independent task system essentially
compatible with Rake's, except I would make the task system more
fundamental, such that it could actually be used as a general
programming component. -- I like this idea, and would like to pursue
it, but it is certainly a good bit more work and "catching" up to the
capabilites of Rake would take a while.

Finally, I was thinking about Gen. Reap has the scaffold task which
does a limited version of what Gen is intended to do. Then it occured
to me that in a way most everything that Reap does can be thought of
as a "Generator" --generate packages, announcement, test, rdoc, etc.
Maybe there's room for Reap to merge with Gen?

T.




More information about the Nitro-general mailing list