Martin DeMello wrote:

>>What exactly do you mean - plugins?
> 
> See http://ant.apache.org/manual/index.html - it allows a lot of common
> tasks to be written declaratively. For instance we could have an
> installer package generated by saying
> 
> make-installer (
>   :src => src_dir,
>   :lib => lib_dir,
>   :doc => doc_dir,
>   :installer => 'install.rb'
> )

Here's an Rakefile example that creates a set of related tasks (named 
:package, :repackage, :clobber_package, etc).  The task will create both 
a zip file and a gzipped tar file.

   Rake::PackageTask.new("myprogram", "0.0.1") do |p|
     p.package_files.include("lib/**/*.rb", "doc/**/*", "Rakefile")
     p.package_files.exclude(/\bCVS\b)
     p.need_zip = true
     p.need_tar = true
   end

See http://rake.rubyforge.org/ and check out classes named 
Rake::XxxxTask for task library classes.

-- 
-- Jim Weirich       jweirich / one.net      http://onestepback.org
-----------------------------------------------------------------
"Beware of bugs in the above code; I have only proved it correct,
not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)