Echoe is a simple tool for working with Rubygems. It generates Rake tasks for documentation, extension compiling, testing, packaging, and deployment.
== License
Copyright 2007 Cloudburst, LLC. See the included LICENSE file. Portions copyright 2006 Ryan Davis/Zen Spider Software and used with permission. See the included MIT-LICENSE file.
The public certificate for this gem is at http://rubyforge.org/frs/download.php/25331/evan_weaver-original-public_cert.pem.
== Features
* simple configuration
* comprehensive gem deployment
* signed gem support
* automatic changeset parsing
* documentation upload to any host
= Usage
== Installation
sudo gem install echoe
== Project configuration
Organize your gem according to the usual structure:
lib/
README
LICENSE
CHANGELOG
Rakefile
You can add the bin/ or ext/ folders if you have executables or extensions, respectively.
Your CHANGELOG should be formatted as follows (including newlines):
v2.1. newest change
v2. older change
v1.9. oldest change
This way Echoe can parse the latest version and changeset message automatically.
Your Rakefile needs the following minimal contents:
require 'echoe'
Echoe.new('gem_name')
More advanced configuration is described in the Echoe class.
== Deploying your gem
First, run rubyforge setup and rubyforge config if you haven't already. Make sure your Rubyforge password is correctly set.
Now, to deploy the gem and documentation:
rake manifest
rake release
rake publish_docs
Once you've built your manifest, you only need to rebuild it if you add or remove files from the package structure.
= Extras
== All Rake tasks
The following tasks are made available to your gem.
Packaging:
* manifest - Build a manifest list.
* docs - Build the documentation.
* package - Build all the packages.
Testing:
* test - Run the test suite.
* compile - Compile C extensions, if available.
* clean - Clean up generated documentation, packaging, and build files.
* install - Install the gem locally.
* uninstall - Uninstall the gem.
Upload:
* publish_docs - Publish documentation to the web.
* release - Package and upload the latest release to Rubyforge.
* announce - Generate a release announcement, edit it, and post it to Rubyforge.
Cleaning:
* clean - Delete all the generated documentation and packages.
* redocs - Force a rebuild of the Rdoc files.
* repackage - Force a rebuild of the package files.
== Reporting problems
* http://rubyforge.org/forum/forum.php?forum_id=13986
Patches and contributions are very welcome. Please note that contributors are required to assign copyright for their additions to Cloudburst, LLC.
== Further resources
* http://blog.evanweaver.com/articles/2007/01/10/if-you-dont-want-to-hoe-echoe