Plugin documentation

Goals available for this plugin:

Goal Description
appfuse:hbmtemplate Generic exporter that can be controlled by a user provided template or class.
appfuse:copy-templates This mojo is used to copy FreeMarker templates from AMP into an AppFuse project.
appfuse:refactor-packages Refactors appfuse.org from imports, files, mappings, etc.
appfuse:gen-core Generates Java classes and tests for DAOs and Managers from set of annotated POJOs.
appfuse:gen-web Generates Java classes and tests for DAOs and Managers from set of annotated POJOs.
appfuse:remove This mojo is used to "remove" installed artifacts installed by AMP.
appfuse:full-source This mojo is used to "install" source artifacts from Subversion into an AppFuse project. If you get an OutOfMemoryError when running this plugin, you should be able to fix it by setting your MAVEN_OPTS environment variable to "-Xms128M -Xmx256M".
appfuse:gen-model Generates Java classes from existing database tables. If you want to customize the reverse engineering strategy, you can modify the default hibernate.reveng.xml and put it in src/test/resources. You can also override the location by specifying the "revengfile" property in the <configuration>. For example:
<configuration>
  <componentProperties>
    <revengfile>path/to/hibernate.reveng.xml</revengfile>
  </componentProperties>
  <genericCore>${amp.genericCore}</genericCore>
  <fullSource>${amp.fullSource}</fullSource>
</configuration>

Oracle Users: If you create a custom hibernate.reveng.xml, make sure to capitalize the table names in <schema-selection match-schema="MY_SCHEMA_NAME"/>. You'll also need to add the following line to your jdbc.properties file:

hibernatetool.metadatadialect=org.hibernate.cfg.reveng.dialect.OracleMetaDataDialect
appfuse:install This mojo is used to "install" generated artifacts (Java files, XML files) into an AppFuse project.
appfuse:gen Generates Java classes from set of annotated POJOs. Use -DdisableInstallation to prevent installation. If using this goal in a "core" module or project, only DAOs and Managers will be created. For "web" modules, the same principle applies.

System Requirements

The following specifies the minimum requirements to run this Maven plugin:

Maven 2.0
JDK 1.5
Memory No minimum requirement.
Disk Space No minimum requirement.

Usage

You could run 'mvn -up' to get the latest version of this plugin, or specify the version in your project's plugin configuration:

<project>
  ...
  <build>
    <!-- To define the plugin version in your parent POM -->
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.codehaus.mojo<groupId>
          <artifactId>appfuse-maven-plugin<artifactId>
          <version>2.1-SNAPSHOT<version>
        </plugin>
        ...
      </plugins>
    </pluginManagement>
    <!-- To use the plugin goals in your POM or parent POM -->
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo<groupId>
        <artifactId>appfuse-maven-plugin<artifactId>
        <version>2.1-SNAPSHOT<version>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>
For more information, see "Guide to Configuring Plug-ins"