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,