What an AMP is?

Alfresco Module packages are software modules to be added on top of the Alfresco ECM platform.   As opposed to Alfresco Extensions (which can be generated with maven-alfresco-extension-archetype ) which are meant to mainly produce a single customized build of Alfresco, an AMP is a small ZIP file primary product of the build lifecyle defined by the

        <packaging>amp</packaging>

POM property. Use this build to create and modules which then can be used as dependencies by a maven-alfresco-extension generated project (e.g. enterprise Alfresco WAR customization).

One command quickstart

        $ MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m" mvn  clean integration-test -P webapp 

will runns the jetty embedded with overlayed the currently developed AMP

FEATURES:

AMP archetype + plugin features:

  • AMP customized build : mvn clean package
  • Alfresco webapp integrationt test via war creation and embedded run mvn clean integration-test -P webapp
  • Install/deployment of Alfresco compatible AMPs on a m2 repo mvn install / deploy [ params ]
  • using the maven-amp-plugin WAR can depend on AMP artifacts and have them overlayed within the maven lifecycle, avoiding the boring MMT run.
  • AMP dependencies management: mvn clean package can take care of overlay AMP deps
  • Error safe single sourcing of POM properties groupId and artifactId used to copy config in the proper package and to ensure consistency

Specific dependencies and different Alfresco versions can be specified in 'webapp' profile dependecies. Alfresco test webapp is overlayed (apart with all AMP and WAR dependencies specified) also with a sensible default 'alfresco/extension' folder to have a clean safe reproduceable and portable default alfresco run. Find these test configuaration files in 'src/test/resources' and environment dependent properties in src/test/properties/env/application.properties