 ------
 Introduction
 ------
 Jason van Zyl
 ------
 27 November 2006
 ------

Maven 2 SuperDuper Plugin

  This plugin is used to transform your development life. Don't bother with self-help
  books on how to get over your build-time blues. Just use this plugin and
  everything will miraculously change.

* Goals Overview

  * {{{superduper-transform.html}superduper:transform}} performs the miraculous build transformation.

  []

* Usage

  Instructions on how to use the SuperDuper Plugin can be found {{{usage.html}here}}.

* Examples

  To provide you with better understanding of some usages of the SuperDuper Plugin,
  you can take a look at the following examples:

  * {{{examples/sample-example.html}Sample Example}}
