README in reap-03.01 vs README in reap-4.0

- old
+ new

@@ -2,75 +2,76 @@ User Friendly Project Assitant for Ruby == What's This? -Reap is a user friendly project assistant for Ruby developers -built on top of Rake. By organizing your project in a semi-formal -manner (the same as setup.rb), Reap makes it easy to do the +Reap is a user friendly project assistant for Ruby developers. +By organizing your project in a conventional manner, +as promoted by setup.rb, Reap makes it easy to do the following tasks: * Generate RDocs. * Run unit tests. +* Extract tests for scripts. * Create Ruby Gem packages. * Create standard .tgz, tbz (bzip2) and/or .zip packages. * Publish documents to Rubyforge or other web sites. * Announce a release to Ruby-talk or other mailing list. * Prepare files for distribution (i.e. chmod, tag, etc.). * Upload packages (coming soon!). If you have special needs that Reap doesn't accomodate, -new task are farily easy to create. And we are always +new task are farily easy to create. And I am always happy to hear suggestions. == Installation === Gem Install Install the ruby gem as you would any other: <tt>gem install reap</tt> -Reap requires Nano Methods. +Reap requires Ruby Facets. === Manual Install To install manually follow the usual setup.eb steps: 1. Download the compressed package. 2. Unpack it. 3. Change into the unpacked directory. -4. run <tt>./setup.rb</tt> +4. run <tt>sudo ruby setup.rb</tt> You should be good to go. == Usage === Using a Reap Task Reap makes it pretty easy to use it's built-in tasks. -Not only will it grab common data from a ProjectInfo -YAML file if available, but it defines convenience methods -to make writing Rakefiles easier. For instance, to create -a "package" target all you generally need in your Rakefile is: +Largely this is because it grabs common data from a ProjectInfo +(or Reapfile) as available. Some Reap tasks are +automatic b/c there are reasonable defaults, others +_require_ entries in the ProjectInfo file. - require 'reap/tasks' +For instance, to create a "package" target you generally do not need +an entry in the ProjectInfo file. Reap will package up everything +in the typical directories and makes compressed versions in the +common formats. It will then place those in either ../leaf/ +(for those or you using trunk/ branches/ layouts) or pkg/ otherwise. +The same holds for other tasks. Reap will do it's best to extrapolate +the needed information from the ProjectInfo file. - include ReapTask +Of course no matter the level of content, you will of course need to +create this file in you projects main directory. A template is provided +and a command line tool to copy it to your current directory. Simply type: - package_task :package - -The reaon this can be so simple, is b/c Reap extrapolates the -information it needs from a comon ProjectInfo file. You will -of course need to create this file in you projects main directory. -A template is provided and a command line tool to copy it to your -current directory. Simply type: - > reap template Then edit the ProjectInfo file. The fields are fairly self -explanitiory. Apart from Reap such a file is nice to have on +explanitiory. Apart from Reap such a file is nice to have just on it's own merits too. === Building a Reap Task Building a Reap task differs from building a Rake task @@ -81,36 +82,36 @@ the tasks attribute and take that into account (usually that means using ++||=++) Here's an, oh so simple, example: - class MyOhSoSimpleTask < Reap::Task + class OhSoSimple < Reap::Task - # This creates the convenience method - register 'my_oh_so_simple' + task_desc 'This is a custom reap task' - default_desc 'this is a custom reap task' - attr_accessor :message def init @message ||= master['default'] || 'None Found!' + @another ||= section['another'] || 'Again!' end # run the target task def run - puts @message + puts @message + "\n" + @another end end The corresponding settings in the ProjectInfo file (master) will then be: default: Default text, if any. + ohsosimple: + another: Your other message here. -And to use it in your Rake file: +And to use it - ReapTask::my_oh_so_simple_task :mytarget + > reap ohsosimple == Status Reap is currently Usable Beta. Most of the tasks work very well. Refinements are still common though,