AMP Lifecycle Mapping

This plugin provides support for packagingamp/packaging type of projects.
Lifecycle of an Alfresco modules is mapped in the file:

https://maven-alfresco-archetypes.googlecode.com/svn/tags/maven-amp-plugin-3.0.2/src/main/resources/META-INF/plexus/components.xml

This build produces an Alfresco compatible AMP as main build product. It supports (being derived from maven-war-plugin) overlay of modules and transitive AMP dependency packing.

An AMP depending on one ore more AMP will package those AMP in the final product of the build: overlays can be configured same as in http://maven.apache.org/plugins/maven-war-plugin/overlays.html . A plain zip UnArchiver is used for this overlay.

AMP -> WAR Unarchiver

The default UnArchiver (role-hint="amp") used by the default maven infrastructure for .amp files is a custom UnArchiver which behaves as the MMT, unarchiving AMPs in the proper places as dictated by Alfresco AMP convention . This little component allows any plugin to manage .amp dependencies in case the maven-amp-plugin is declared with extensionstrue/extensions in the current POM, basically supporting AMPs in Maven with no need for custom external tools like MMT.

See https://maven-alfresco-archetypes.googlecode.com/svn/tags/maven-amp-plugin-3.0.2/src/main/resources/META-INF/plexus/components.xml

AMP Artifact Handler

Instructs maven which type of Archive is the AMP, providing info about its inclusion in the classpath or the fact that already contains its dependencies.