
Echoe

A Rubygems packaging tool that provides Rake tasks for documentation, extension compiling, testing, and deployment.

== License

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.

== Features

* simple configuration
* comprehensive gem deployment
* cross-packaging
* signed gem support
* automatic changeset parsing
* documentation upload to any host

= Usage

== Installation

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.

== Project configuration

Organize your gem according to the usual structure:

  lib/
  README
  LICENSE
  CHANGELOG
  Rakefile

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'
  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.

= Extras

== All Rake tasks

The following tasks are made available to your gem.

Packaging:

* <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.

Testing:

* <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.

Upload:

* <tt>publish_docs</tt> -  Publish documentation to the web.
* <tt>release</tt> -  Package and upload the latest release to rubygems.org.

== Reporting problems

The support forum is here[http://github.com/fauna/echoe/issues].

Patches and contributions are very welcome. Please note that contributors are required to assign copyright for their additions to Cloudburst, LLC.
