A Rubygems packaging tool that provides Rake tasks for documentation, extension compiling, testing, and deployment.
Copyright 2007-2011 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file. Portions copyright 2006 Ryan Davis/Zen Spider Software and used with permission. See the included MIT-LICENSE file.
comprehensive gem deployment
signed gem support
automatic changeset parsing
documentation upload to any host
Install the gem:
sudo gem install echoe
If you haven't already, make sure rubygems.org is configured locally and your password is correctly set.
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
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.
All Rake tasks
The following tasks are made available to your gem.
manifest - Build a manifest list. Shows added and removed files.
docs - Build the documentation.
package - Build all the packages.
test - Run the test suite.
coverage - Generate a coverage report.
compile - Compile C extensions, if available.
clean - Clean up generated documentation, packaging, and build files.
install - Install the gem locally.
uninstall - Uninstall the gem.
publish_docs - Publish documentation to the web.
release - Package and upload the latest release to rubygems.org.
The support forum is here.
Patches and contributions are very welcome. Please note that contributors are required to assign copyright for their additions to Cloudburst, LLC.