Skip to content
A Rubygems packaging tool that provides Rake tasks for documentation, extension compiling, testing, and deployment
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Echoe is a simple tool for working with Rubygems. It generates Rake tasks for documentation, extension compiling, testing, packaging, and deployment.

== License

Copyright 2007, 2008 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.

The public certificate for the gem is here[]. 

If you use this software, please {make a donation}[], or {recommend Evan}[] at Working with Rails.

== Features

* simple configuration
* comprehensive gem deployment
* cross-packaging
* 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:


You can add the <tt>bin/</tt> or <tt>ext/</tt> folders if you have executables or extensions, respectively.

Your <tt>CHANGELOG</tt> 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 <tt>Rakefile</tt> needs the following minimal contents:

  require 'echoe''gem_name')
More advanced configuration is described in the Echoe class.

== Deploying your gem

First, run <tt>rubyforge setup</tt> and <tt>rubyforge config</tt> 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.


* <tt>manifest</tt> -  Build a manifest list. Shows added and removed files.
* <tt>docs</tt> -  Build the documentation.
* <tt>package</tt> -  Build all the packages.


* <tt>test</tt> -  Run the test suite.
* <tt>coverage</tt> -  Generate a coverage report.
* <tt>compile</tt> - Compile C extensions, if available.
* <tt>clean</tt> - Clean up generated documentation, packaging, and build files.
* <tt>install</tt> -  Install the gem locally.
* <tt>uninstall</tt> -  Uninstall the gem.


* <tt>publish_docs</tt> -  Publish documentation to the web.
* <tt>release</tt> -  Package and upload the latest release to Rubyforge.
* <tt>announce</tt> - Generate a release announcement, edit it, and post it to Rubyforge.


* <tt>clean</tt> -  Delete all the generated documentation and packages.
* <tt>redocs</tt> -  Force a rebuild of the Rdoc files.
* <tt>repackage</tt> -  Force a rebuild of the package files.

== Reporting problems

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.

== Further resources

Something went wrong with that request. Please try again.