-- added new and improved documentation

-- moved to maven.alfresco.com
-- tested -Pinitialize profile for the repo to clean alf_data and DB
-- moved jetty run to -Prun profile for the repo
-- preparing juicy maintenance release

git-svn-id: http://maven-alfresco-archetypes.googlecode.com/svn/trunk@250 04253f4f-3451-0410-a141-5562f1e59037
This commit is contained in:
mindthegab
2009-12-03 18:26:27 +00:00
parent f861c56ea5
commit 4da863cd0a
19 changed files with 527 additions and 278 deletions

View File

@@ -35,25 +35,30 @@
<description>Test AMP project</description>
<repositories>
<repository>
<id>ss-public-mirror</id>
<url>http://repository.sourcesense.com/nexus/content/groups/public</url>
<id>alfresco-public-snapshots</id>
<url>http://maven.alfresco.com/nexus/content/groups/public-snapshots</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</snapshots>
</repository>
<repository>
<id>ss-public-snapshots-mirror</id>
<url>http://repository.sourcesense.com/nexus/content/groups/public-snapshots</url>
</repository>
<id>alfresco-public</id>
<url>http://maven.alfresco.com/nexus/content/groups/public</url>
s </repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>ss-public-mirror</id>
<url>http://repository.sourcesense.com/nexus/content/groups/public</url>
<id>alfresco-public</id>
<url>http://maven.alfresco.com/nexus/content/groups/public</url>
</pluginRepository>
<pluginRepository>
<id>ss-public-snapshots-mirror</id>
<id>alfresco-public-snapshots</id>
<url>http://repository.sourcesense.com/nexus/content/groups/public-snapshots</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
<properties>
@@ -162,6 +167,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.0-beta-2</version>
<executions>
<execution>
<phase>validate</phase>

View File

@@ -20,10 +20,10 @@
<beans>
<!-- A simple class that is initialized by Spring -->
<bean id="${groupId}.${artifactId}.exampleBean" class="com.sourcesense.demoamp.Demo" init-method="init" />
<bean id="${groupId}.${artifactId}.exampleBean" class="org.alfresco.demoamp.Demo" init-method="init" />
<!-- A simple module component that will be executed once -->
<bean id="${groupId}.${artifactId}.exampleComponent" class="com.sourcesense.demoamp.DemoComponent" parent="module.baseComponent" >
<bean id="${groupId}.${artifactId}.exampleComponent" class="org.alfresco.demoamp.DemoComponent" parent="module.baseComponent" >
<property name="moduleId" value="${pom.groupId}.${pom.artifactId}" /> <!-- See module.properties -->
<property name="name" value="exampleComponent" />
<property name="description" value="A demonstration component" />

View File

@@ -38,4 +38,4 @@
#
#-----------------------------------------------------------------------
log4j.logger.com.sourcesense.demoamp.DemoComponent=${module.log.level}
log4j.logger.org.alfresco.demoamp.DemoComponent=${module.log.level}

View File

@@ -22,7 +22,7 @@
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
package com.sourcesense.demoamp;
package org.alfresco.demoamp;
/**
* This class does nothing except dump some output to <i>system.out</i>.

View File

@@ -14,7 +14,7 @@
See the License for the specific language governing permissions and
limitations under the License.
*/
package com.sourcesense.demoamp;
package org.alfresco.demoamp;
import java.util.logging.Logger;

View File

@@ -1,29 +1,45 @@
-----
Maven Alfresco Extension Archetype
-----
Sourcesense
Alfresco
-----
Welcome to the Maven Alfresco AMP Archetype home
You've reached the Sourcesense ({{ ${site_pom_url} }}) Maven Alfresco AMP archetype home page (version: ${site_pom_version})
You've reached the ({{ ${site_pom_url} }}) Maven Alfresco AMP archetype home page (version: ${site_pom_version})
Description
${site_pom_description}
You can use this Archetype to build and add AMPs to Alfresco WAR packages in conjunction with the maven-alfresco-extension-archetype.
Using Maven you will benefit of a more structured and scalable way of using AMPs without the Module Management Tool (MMT).
Quick Start (maven2)
For a quick start you can a maven alfresco AMP project created by just running <<(maven 2.0.6+ required)>>:
For a quick start you can a maven alfresco AMP project created by just running <<(maven 2.1+ required)>>:
--------------------------------------------
mvn archetype:generate -DarchetypeCatalog=http://repository.sourcesense.com/nexus/content/repositories/alfresco.public.releases/archetype-catalog.xml
mvn archetype:generate -DarchetypeCatalog=http://maven.alfresco.com/nexus/content/repositories/releases/archetype-catalog.xml
--------------------------------------------
and then choose the option 'maven-alfresco-amp-archetype'
and then choose the option 'maven-alfresco-amp-archetype'
Usage
You can package and install your AMP module in the local Maven repo by just running
--------------------------------------------
mvn install
--------------------------------------------
You can then use the AMP by depending on it using the Maven Alfresco Extension Archetype, without any external tool (e.g. MMT).
See {{http://maven.alfresco.com/nexus/content/repositories/alfresco-docs/maven-alfresco-lifecycle/maven-alfresco-archetypes/maven-alfresco-extension-archetype/profiles.html}}

View File

@@ -8,11 +8,11 @@
<logo name="Maven" href="http://maven.apache.org" img="http://maven.apache.org/images/logos/maven-feather.png"/>
<logo name="Alfresco - Open source ECM" img="http://alfresco.com/assets/images/icons/powered_by_alfresco.gif" href="http://www.sourcesense.com" />
</poweredBy>
<publishDate position="navigation-bottom" format="MM-dd-yy"/>
<publishDate position="navigation-bottom" format="MM-dd-yy" />
<bannerLeft>
<name>Maven alfresco AMP archetype - v. ${project.version}</name>
<name>Maven alfresco Extension archetype - v. ${project.version}</name>
<href>${site_site_url}</href>
<src>images/logo_noclaim.png</src>
<src>images/Alfresco-logo-transparent.gif</src>
</bannerLeft>
<body>
<links>

View File

@@ -4,6 +4,17 @@
<author email="g.columbro@sourcesense.com">Gabriele Columbro</author>
</properties>
<body>
<release version="3.0.0-beta-1" date="2009-12-03" description="Consolidated release to maven.alfresco.com">
<action dev="g.columbro" type="add">
Added -Pinitialize profile to clean alf_data and drop/create DB within the build
</action>
<action dev="g.columbro" type="add">
Updated all docs to Maven Alfresco repository
</action>
<action dev="g.columbro" type="enhancement">
Incapsulated jetty run in the -Prun profile, which runs by default jetty during the integration-test phase
</action>
</release>
<release version="1.9.0" date="2009-11-07" description="Public release alfresco 3.2r based">
<action dev="g.columbro" type="add">
Updated to Alfresco 3.2r artifacts

View File

@@ -1,22 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version
2.0 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 Unless required by
applicable law or agreed to in writing, software distributed under the
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for
the specific language governing permissions and limitations under the
License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
@@ -27,40 +24,40 @@
<url></url>
<description>Alfresco extension</description>
<!--
|
| Prerequisite:
| - Mysql local instance running and db alf_jetty created with permissions for alfresco/alfresco user.
|
| How it works:
| By default the project is overlayed to the alfresco war which depends upon and deployed as a WAR (local development and testing purposes)
| Available properties:
|
| -Denv - toggles src/main/properties/<env>/application.properties files (default: local)
| -DrestoreVersion=<restoreVersion> - toggles profile "restore" in order to include tools/export/<restoreVersion>/restore/*.acp files in
| alfresco/extension/restore (default: no restore)
| -Dcustomization.name=<customizationName> - name of the jar artifact containing classes and resources for this extension
| -Dwebapp.name=<extensionName> - name of the WAR artifact to be built (default: ${artifactId}-{version}.jar )
| -Denterprise - Includes LDAP configuration as defined in application.properties
-->
| | Prerequisite: | - Mysql local instance running and db alf_jetty
created with permissions for alfresco/alfresco user. | | How it works:
| By default the project is overlayed to the alfresco war which
depends upon and deployed as a WAR (local development and testing
purposes) | Available properties: | | -Denv - toggles
src/main/properties/<env>/application.properties files (default:
local) | -DrestoreVersion=<restoreVersion> - toggles profile "restore"
in order to include tools/export/<restoreVersion>/restore/*.acp files
in | alfresco/extension/restore (default: no restore) |
-Dcustomization.name=<customizationName> - name of the jar artifact
containing classes and resources for this extension |
-Dwebapp.name=<extensionName> - name of the WAR artifact to be built
(default: ${artifactId}-{version}.jar ) | -Denterprise - Includes LDAP
configuration as defined in application.properties
-->
<!-- Default properties -->
<properties>
<!-- src/main/properties/<env>/application.properties is loaded -->
<env>local</env>
<webapp.name>alfresco</webapp.name>
<!--
|
| By default the src/main/properties/local/application.properties uses the property "alfresco.data.location" to specify where
| alf_data gets created.
| For local jetty:run deployment default creation dir is under project root folder (as location is specified relatively to run
| dir). Please add alf_data_jetty in svn/cvs ignores in order not to commit that. You can also specified a different (out of the
| sproject) folder
| by editing the following properties.
| DB is also configurable here. Of course keep in sync these two values otherwise you'll get integrity errors.
|
| Empty log dir creates file alfresco.log in appserver default dir. You can also specify a meaningful log directory for the server
| (add a trailing slash, e.g. '/var/log/alfresco/' )
|
| Jetty embedded run logs by default in target/alfresco.log
<!--
| | By default the src/main/properties/local/application.properties
uses the property "alfresco.data.location" to specify where |
alf_data gets created. | For local jetty:run deployment default
creation dir is under project root folder (as location is specified
relatively to run | dir). Please add alf_data_jetty in svn/cvs
ignores in order not to commit that. You can also specified a
different (out of the | sproject) folder | by editing the following
properties. | DB is also configurable here. Of course keep in sync
these two values otherwise you'll get integrity errors. | | Empty log
dir creates file alfresco.log in appserver default dir. You can also
specify a meaningful log directory for the server | (add a trailing
slash, e.g. '/var/log/alfresco/' ) | | Jetty embedded run logs by
default in target/alfresco.log
-->
<alfresco.data.location>./alf_data_jetty</alfresco.data.location>
<alfresco.db.name>alf_jetty</alfresco.db.name>
@@ -70,17 +67,23 @@
<!-- Used for 2.1.0 -->
<desktop.action.package>org.alfresco.filesys.repo.desk</desktop.action.package>
<!-- Used for 2.9.0+ -->
<!--desktop.action.package>org.alfresco.filesys.repo.desk</desktop.action.package-->
<log.dir></log.dir>
<!-- Uncomment this property together with the <scm> section downwards
<svn.url>
https://mycompany.com/repos/my-test-project
</svn.url>
<!--
desktop.action.package>org.alfresco.filesys.repo.desk</desktop.action.package
-->
<!-- Uncomment this property together with the maven-release-plugin <plugin><configuration><tagBase/></configuration></plugin> section downwards
<svn.tags.url>${svn.url}/tags</svn.tags.url>
<log.dir></log.dir>
<!--
Uncomment this property together with the <scm> section downwards
<svn.url> https://mycompany.com/repos/my-test-project </svn.url>
-->
<!--
Uncomment this property together with the maven-release-plugin
<plugin><configuration><tagBase/></configuration></plugin> section
downwards <svn.tags.url>${svn.url}/tags</svn.tags.url>
-->
<!--
These redundancies are due to filtering issues of Maven. See here
http://maven.apache.org/plugins/maven-site-plugin/usage.html
-->
<!-- These redundancies are due to filtering issues of Maven. See here http://maven.apache.org/plugins/maven-site-plugin/usage.html -->
<site_pom_description>${pom.description}</site_pom_description>
<site_pom_url>${pom.organization.url}</site_pom_url>
<site_pom_groupId>${pom.groupId}</site_pom_groupId>
@@ -89,45 +92,48 @@
<site_tags_url>${svn.tags.url}</site_tags_url>
<site_site_url>${site.url}</site_site_url>
</properties>
<!--
| Alfresco Community dependencies are generally available in ss-public repo.
| FIXME: Alfresco enterprise dependencies are only available on SS repo ATM. Alfresco *needs* to deliver their artifacts on (at least) partner repos
|-->
<!--
| Alfresco Community dependencies are generally available in ss-public
repo. | FIXME: Alfresco enterprise dependencies are only available on
SS repo ATM. Alfresco *needs* to deliver their artifacts on (at least)
partner repos |
-->
<repositories>
<repository>
<id>ss-public-mirror</id>
<url>http://repository.sourcesense.com/nexus/content/groups/public</url>
<id>alfresco-public</id>
<url>http://maven.alfresco.com/nexus/content/groups/public</url>
</repository>
<repository>
<id>ss-public-snapshots-mirror</id>
<url>http://repository.sourcesense.com/nexus/content/groups/public-snapshots</url>
<id>alfresco-public-snapshots</id>
<url>http://maven.alfresco.com/nexus/content/groups/public-snapshots</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>ss-public-mirror</id>
<url>http://repository.sourcesense.com/nexus/content/groups/public</url>
<id>alfresco-public</id>
<url>http://maven.alfresco.com/nexus/content/groups/public</url>
</pluginRepository>
<pluginRepository>
<id>ss-public-snapshots-mirror</id>
<url>http://repository.sourcesense.com/nexus/content/groups/public-snapshots</url>
<id>alfresco-public-snapshots</id>
<url>http://maven.alfresco.com/nexus/content/groups/public-snapshots</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<!-- Uncomment SCM definitions in order to have mvn release:perform to actually tag the code
<scm>
<developerConnection>scm:svn:${svn.url}</developerConnection>
<url>${svn.url}</url>
</scm>
-->
<!--
Uncomment SCM definitions in order to have mvn release:perform to
actually tag the code <scm>
<developerConnection>scm:svn:${svn.url}</developerConnection>
<url>${svn.url}</url> </scm>
-->
<!-- Alfresco dependencies -->
<dependencies>
<!-- Alfresco Dependencies
| NB: These files are not publicly available. Please vote for Alfresco to release them :)
| Jboss alfresco build (e.g. no log4j.properties and fix for myFaces)
<!--
Alfresco Dependencies | NB: These files are not publicly available.
Please vote for Alfresco to release them :) | Jboss alfresco build
(e.g. no log4j.properties and fix for myFaces)
-->
<dependency>
<groupId>org.alfresco</groupId>
@@ -136,7 +142,10 @@
<type>war</type>
<classifier>community</classifier>
</dependency>
<!-- All provided libs (as contained in the war dependency) but useful for development (e.g. IDE configuration) -->
<!--
All provided libs (as contained in the war dependency) but useful for
development (e.g. IDE configuration)
-->
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-web-client</artifactId>
@@ -166,19 +175,17 @@
<classifier>community</classifier>
</dependency>
<!-- Sample of AMP dependency that will be properly uncompressed in the Alfresco WAR (no more need for AMP):
this can be either an AMP built with maven-amp-plugin and deployed on an accessible
maven repo or a generally available AMP previously deployed to a repo using mvn deploy:deploy-file
<dependency>
<scope>runtime</scope>
<type>amp</type>
<artifactId>recordsmanagement</artifactId>
<!--
Sample of AMP dependency that will be properly uncompressed in the
Alfresco WAR (no more need for AMP): this can be either an AMP built
with maven-amp-plugin and deployed on an accessible maven repo or a
generally available AMP previously deployed to a repo using mvn
deploy:deploy-file <dependency> <scope>runtime</scope>
<type>amp</type> <artifactId>recordsmanagement</artifactId>
<version>${alfresco.version}</version>
<groupId>org.alfresco</groupId>
</dependency>
-->
<groupId>org.alfresco</groupId> </dependency>
-->
<!-- Comment if you're not using mysql -->
<dependency>
<groupId>mysql</groupId>
@@ -196,12 +203,21 @@
<build>
<!-- Customize here your webapp name - default: alfresco.war -->
<finalName>${webapp.name}</finalName>
<!-- Used to access Sourcesense repository for writing. Public version not available, see README.txt -->
<!-- In certain cases we do build time filtering with the single sourcing application.properties -->
<!--
Used to access Sourcesense repository for writing. Public version not
available, see README.txt
-->
<!--
In certain cases we do build time filtering with the single sourcing
application.properties
-->
<filters>
<filter>src/main/properties/${env}/application.properties</filter>
</filters>
<!-- Default profile to build as an Alfresco extension - resources are copied into classpath-->
<!--
Default profile to build as an Alfresco extension - resources are
copied into classpath
-->
<resources>
<!-- By default also no content is restored -->
<resource>
@@ -211,9 +227,10 @@
<exclude>**/ldap-*.xml</exclude>
</excludes>
</resource>
<!--
| Include application properties file in classpath: this allows Spring contexts to have customization properties available at
| classpath:alfresco/extension/application.properties
<!--
| Include application properties file in classpath: this allows
Spring contexts to have customization properties available at |
classpath:alfresco/extension/application.properties
-->
<resource>
<directory>src/main/properties/${env}</directory>
@@ -227,7 +244,10 @@
<directory>src/main/resources</directory>
<includes>
<include>log4j.properties</include>
<!-- In this case we do build time filtering instead of runtime Spring property loading, as this is based on a CoC from Alfresco -->
<!--
In this case we do build time filtering instead of runtime Spring
property loading, as this is based on a CoC from Alfresco
-->
<include>alfresco/extension/file-servers-custom.xml</include>
</includes>
<filtering>true</filtering>
@@ -251,14 +271,16 @@
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- useful for eclipse project configuration. Run "mvn eclipse:eclipse" and hit "F5" on the project -->
<!--
useful for eclipse project configuration. Run "mvn eclipse:eclipse"
and hit "F5" on the project
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<!--
<configuration>
<downloadSources>true</downloadSources>
</configuration>
<!--
<configuration> <downloadSources>true</downloadSources>
</configuration>
-->
</plugin>
<!-- Add documentation locales here -->
@@ -286,8 +308,11 @@
</execution>
</executions>
<dependencies>
<!-- This is required to be re-defined explicitly at plugin level as otherwise the 'amp' extension
unArchiver won't be available to the maven-dependency-plugin -->
<!--
This is required to be re-defined explicitly at plugin level as
otherwise the 'amp' extension unArchiver won't be available to the
maven-dependency-plugin
-->
<dependency>
<groupId>org.alfresco.maven.plugin</groupId>
<artifactId>maven-amp-plugin</artifactId>
@@ -307,32 +332,6 @@
</webResources>
</configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.21</version>
<executions>
<!-- Runs jetty when 'integration-test' phase is called -->
<execution>
<id>it</id>
<phase>integration-test</phase>
<goals>
<goal>run-exploded</goal>
</goals>
<configuration>
<contextPath>/${webapp.name}</contextPath>
<webApp>${pom.build.directory}/${webapp.name}</webApp>
<scanIntervalSeconds>10</scanIntervalSeconds>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8080</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
@@ -345,11 +344,15 @@
<!-- useEditMode>true</useEditMode> -->
<dryRun>true</dryRun>
<preparationGoals>clean package</preparationGoals>
<goals>install deploy cargo:undeploy cargo:deploy site:deploy</goals>
<goals>install deploy cargo:undeploy cargo:deploy
site:deploy</goals>
<!-- <tagBase>${svn.tags.url}</tagBase> -->
</configuration>
</plugin>
<!-- Adds support for books PDF and RTF generation for single sourced documentation -->
<!--
Adds support for books PDF and RTF generation for single sourced
documentation
-->
<plugin>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-maven-plugin</artifactId>
@@ -363,10 +366,10 @@
</execution>
</executions>
<configuration>
<!--
| Target books dir: within the site so it can be linked and deployed
| TODO: Use ${pom.target.dir} or so similar property instead of
| hard wiring 'target'
<!--
| Target books dir: within the site so it can be linked and
deployed | TODO: Use ${pom.target.dir} or so similar property
instead of | hard wiring 'target'
-->
<generatedDocs>target/site/books</generatedDocs>
<books>
@@ -413,11 +416,10 @@
<plugin>
<artifactId>maven-clover-plugin</artifactId>
</plugin>
<!-- Enable this plugin only after setting SCM connection, otherwise mvn site will fail
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>changelog-maven-plugin</artifactId>
</plugin>
<!--
Enable this plugin only after setting SCM connection, otherwise mvn
site will fail <plugin> <groupId>org.codehaus.mojo</groupId>
<artifactId>changelog-maven-plugin</artifactId> </plugin>
-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
@@ -425,30 +427,22 @@
</plugin>
</plugins>
</reporting>
<!--
| Configured to deploy on SS public repository ATM.
| You'd need a valid uid/pwd in our repo
|
<!--
| Configured to deploy on SS public repository ATM. | You'd need a
valid uid/pwd in our repo |
-->
<distributionManagement>
<!--
|
| Enable this repo in case of publicly redistributable artifacts (Sourcesense public repositories via ssh + public key )
|
<repository>
<id>yourcompany</id>
<url>scp://yourcompany/var/maven2</url>
</repository>
<distributionManagement>
<site>
<id>yourcompany-site</id>
<url>scp://yourcompany/var/maven2-sites</url>
</site>
<!--
| | Enable this repo in case of publicly redistributable artifacts
(Sourcesense public repositories via ssh + public key ) |
<repository> <id>yourcompany</id>
<url>scp://yourcompany/var/maven2</url> </repository>
<distributionManagement> <site> <id>yourcompany-site</id>
<url>scp://yourcompany/var/maven2-sites</url> </site>
-->
<!--
|
| Enable this repo in case of non publicly redistributable artifacts (Sourcesense private repositories via webdav)
|
<!--
| | Enable this repo in case of non publicly redistributable
artifacts (Sourcesense private repositories via webdav) |
-->
</distributionManagement>
@@ -456,12 +450,13 @@
| Build Profiles
-->
<profiles>
<!--
| Profile to automatically restore export files committed under
| "tools/export/<restoreVersion>/export_*.[acp,xml]" and the restore-context.xml.
| Gets automatically activated specifiying a value for the property
| restoreVersion which maps to the name of the folder.
| NB: In order this to work you *MUST* export your full repo with "export" package name
<!--
| Profile to automatically restore export files committed under |
"tools/export/<restoreVersion>/export_*.[acp,xml]" and the
restore-context.xml. | Gets automatically activated specifiying a
value for the property | restoreVersion which maps to the name of the
folder. | NB: In order this to work you *MUST* export your full repo
with "export" package name
-->
<profile>
<id>restore</id>
@@ -489,9 +484,9 @@
</resources>
</build>
</profile>
<!--
| Profile to automatically include ldap configuration files
| (not included by default build)
<!--
| Profile to automatically include ldap configuration files | (not
included by default build)
-->
<profile>
<id>ldap</id>
@@ -512,27 +507,30 @@
</resources>
</build>
</profile>
<!-- Profile for deploying (only locally , due to http://jira.codehaus.org/browse/CARGO-416) on jboss.
|
| FIXME: Add <dependencies> override in order to have jboss specific alfresco-*-jboss.war (e.g no log4j.properties and log4j jar)
| being substituted as a depenendency, and avoid log4j classCasts
|
<!--
Profile for deploying (only locally , due to
http://jira.codehaus.org/browse/CARGO-416) on jboss. | | FIXME: Add
<dependencies> override in order to have jboss specific
alfresco-*-jboss.war (e.g no log4j.properties and log4j jar) | being
substituted as a depenendency, and avoid log4j classCasts |
-->
<profile>
<id>jboss</id>
<!--
| By default the src/main/properties/local/application.properties uses the property "alfresco.data.location" to specify where
| alf_data gets created and "alfresco.db.name" for the database name.
| For local jboss deployment default creation dir (alf_data) is under appserver $JBOSS_HOME/bin directory (as location is specified relatively to
| run dir)
|
| Empty log dir creates file alfresco.log in appserver default dir. You can also specify a meaningful log directory for the server
| (add a trailing slash, e.g. '/var/log/alfresco/' )
|
| NB: Remember to grant appropriate permissions on database you specify here by running the script found in tools/mysql/[jetty/tomcat/jboss]
| sql scripts (after editing them), or run those you find in target/classes/tools/[db_remove,db_setup].sql which are already filtered according to
| ' alfresco.db.name ' property.
|
<!--
| By default the src/main/properties/local/application.properties
uses the property "alfresco.data.location" to specify where |
alf_data gets created and "alfresco.db.name" for the database name.
| For local jboss deployment default creation dir (alf_data) is
under appserver $JBOSS_HOME/bin directory (as location is specified
relatively to | run dir) | | Empty log dir creates file alfresco.log
in appserver default dir. You can also specify a meaningful log
directory for the server | (add a trailing slash, e.g.
'/var/log/alfresco/' ) | | NB: Remember to grant appropriate
permissions on database you specify here by running the script found
in tools/mysql/[jetty/tomcat/jboss] | sql scripts (after editing
them), or run those you find in
target/classes/tools/[db_remove,db_setup].sql which are already
filtered according to | ' alfresco.db.name ' property. |
-->
<properties>
<alfresco.data.location>./alf_data</alfresco.data.location>
@@ -605,18 +603,21 @@
-->
<profile>
<id>tomcat</id>
<!--
| By default the src/main/properties/local/application.properties uses the property "alfresco.data.location" to specify where
| alf_data gets created.
| For tomcat deployment default creation dir (alf_data) is under appserver $CATALINA_HOME/bin directory (as location is specified relatively to
| run dir) and db is configurable likewhise.
| Empty log dir creates file alfresco.log in appserver default dir. You can also specify a meaningful log directory for the server
| (add a trailing slash, e.g. '/var/log/alfresco/' )
|
| NB: Remember to grant appropriate permissions on database you specify here by running the script found in tools/mysql/[jetty/tomcat/jboss]
| mysql scripts (properly edited) or those you find in target/tools/[db_remove,db_setup].sql which are already filtered according to
| ' alfresco.db.name ' property
|
<!--
| By default the src/main/properties/local/application.properties
uses the property "alfresco.data.location" to specify where |
alf_data gets created. | For tomcat deployment default creation dir
(alf_data) is under appserver $CATALINA_HOME/bin directory (as
location is specified relatively to | run dir) and db is
configurable likewhise. | Empty log dir creates file alfresco.log in
appserver default dir. You can also specify a meaningful log
directory for the server | (add a trailing slash, e.g.
'/var/log/alfresco/' ) | | NB: Remember to grant appropriate
permissions on database you specify here by running the script found
in tools/mysql/[jetty/tomcat/jboss] | mysql scripts (properly
edited) or those you find in target/tools/[db_remove,db_setup].sql
which are already filtered according to | ' alfresco.db.name '
property |
-->
<properties>
<alfresco.data.location>./alf_data</alfresco.data.location>
@@ -660,5 +661,121 @@
</plugins>
</build>
</profile>
<!-- -Pinitialize : boostraps the db (only to be used the 1st run) -->
<profile>
<id>initialize</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin</artifactId>
<version>1.1</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.3</version>
</dependency>
</dependencies>
<!-- common configuration shared by all executions -->
<configuration>
<driver>org.gjt.mm.mysql.Driver</driver>
<url>jdbc:mysql://localhost/</url>
<username>${alfresco.db.username}</username>
<password>${alfresco.db.password}</password>
</configuration>
<executions>
<execution>
<phase>generate-resources</phase>
<id>drop-db</id>
<goals>
<goal>execute</goal>
</goals>
<!-- Bootstraps the DB -->
<configuration>
<onError>continue</onError>
<sqlCommand>drop database ${alfresco.db.name}</sqlCommand>
</configuration>
</execution>
<execution>
<phase>generate-resources</phase>
<id>create-db</id>
<goals>
<goal>execute</goal>
</goals>
<!-- Bootstraps the DB -->
<configuration>
<sqlCommand>create database ${alfresco.db.name}</sqlCommand>
</configuration>
</execution>
</executions>
</plugin>
<!-- Cleans the alf_data folder and logs-->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<executions>
<execution>
<id>clean-execution</id>
<phase>generate-resources</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<filesets>
<fileset>
<directory>${alfresco.data.location}</directory>
<includes>
<include>**/*</include>
</includes>
</fileset>
<fileset>
<directory>.</directory>
<includes>
<include>**/*.log</include>
<include>*.log</include>
</includes>
</fileset>
</filesets>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>run</id>
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.21</version>
<executions>
<!-- Runs jetty when 'integration-test' phase is called -->
<execution>
<id>it</id>
<phase>integration-test</phase>
<goals>
<goal>run-exploded</goal>
</goals>
<configuration>
<contextPath>/${webapp.name}</contextPath>
<webApp>${pom.build.directory}/${webapp.name}</webApp>
<scanIntervalSeconds>10</scanIntervalSeconds>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8080</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@@ -8,7 +8,7 @@
Welcome to the Maven Alfresco Extension Archetype home
You've reached the Sourcesense ({{ ${site_pom_url} }}) Maven Alfresco Extension archetype home page (version: ${site_pom_version})
You've reached the ({{ ${site_pom_url} }}) Maven Alfresco Extension archetype home page (version: ${site_pom_version})
@@ -18,24 +18,39 @@ Description
Quick Start (maven2)
Quick Start Project Creation
For a quick start you can a maven alfresco extension project created by just running <<(maven 2.0.6+ required)>>:
--------------------------------------------
mvn archetype:generate -DarchetypeCatalog=http://repository.sourcesense.com/nexus/content/repositories/alfresco.public.releases/archetype-catalog.xml
mvn archetype:generate -DarchetypeCatalog=http://maven.alfresco.com/nexus/content/repositories/releases/archetype-catalog.xml
--------------------------------------------
and then choose the option 'maven-alfresco-extension-archetype'
and then choose the option 'maven-alfresco-extension-archetype' and fill your custom project information. You can also do this via Eclipse
using the m2eclipse plugin.
Quick Start (Ant)
For a quick start you can a ant alfresco extension project created by running <<(Default target : package)>> :
Run your project in 3 minutes
The command below allows you to package your customization, run unit tests and eventually run jetty embedded with Alfresco
--------------------------------------------
Download archetype - (On unix like you could : wget http://repository.sourcesense.com/maven2/com/sourcesense/alfresco/maven-alfresco-extension-archetype/1.0.0/maven-alfresco-extension-archetype-1.0.0.jar)
Unzip maven-alfresco-extension-archetype-1.0.0.jar
Rename mv archetype-resources folder into your desired project name - (On unix like you could : mv archetype-resources my-alfresco-customization)
Enter my-alfresco-customization folder
ant
-------------------------------------------
mvn install -Prun
--------------------------------------------
You should be able to point your browser to http://localhost:8080/alfresco and see your nice custom Alfresco running.
You might need to raise the MAVEN_OPTS memory allocated to Maven, see the FAQ section for this {{faq.html}}. \
<<Prerequisite>>:
The only prerequisite is to have a Mysql instance running with proper permissions for the DB user, password and name configured in the POM.
The default configuration can be found in the generated pom.xml file and goes as follows:
--------------------------------------------
<alfresco.data.location>./alf_data_jetty</alfresco.data.location>
<alfresco.db.name>alf_jetty</alfresco.db.name>
<alfresco.db.username>alfresco</alfresco.db.username>
<alfresco.db.password>alfresco</alfresco.db.password>
--------------------------------------------

View File

@@ -0,0 +1,55 @@
What can this build do?
This Maven Alfresco build process allows you to develop, test, run, document and release your Alfresco extension project.
You can also depend on AMP files deployed on a Maven repository (either manually or using the Maven Alfresco AMP archetype),
by adding the following <<< <dependency> >>> snippet to your Extension pom.xml:
--------------------------------------------
<dependency>
<groupId>your.company</groupId>
<artifactId>youramp</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>runtime</scope>
<type>amp</type>
</dependency>
--------------------------------------------
This operation will result in automated AMP unpacking in your Extension WAR file during the normal build process (e.g. mvn package or mvn install).
Available maven profiles:
Follows a list of the accepted profiles for the Extension archetype created project:
* <<-Pinitialize>> \
Drops/creates DB and removes the alf_data POM configured directory
* <<-Prun>> \
Run Alfresco in an embedded Jetty
* <<-Pjboss>> \
Run in a locally running Jboss configured from the POM
* <<-Ptomcat>> \
Runs in a local/remote Tomcat configured from the POM
* <<-Prestore>> (DEPRECATED) \
Bootstrap a full repo from 6 ACP files (pre 3.x, now full export is disabled)
* <<-Penterprise>> (DEPRECATED) \
Pre 3.2 LDAP configuration support using ldap-autentication-context.xml and ldap-synchronization-contex.xml
Configuration:
The project created from the extension archetype is very flexible. It uses a configuration mechanism (pre 3.2) which sigles sources
the all required properties in one single file (called <<<application.properties>>>) which is global to the whole Spring context.
This works also against 3.2, but activities are ongoing to converge to a proper usage of the new <<<alfresco-global.properties>>.
Properties are stored in the <<<src/main/properties/<env>>>> folders and env=local is considered by default. You can switch the environment
you're building for (e.g. for a release) using the <<<-Denv=yourEnv>>> switch in the command line build.
Also a number of properties are also accepted via command line of your build to give more configurability (if you're using the <<<env=local>>>).
Please check the <<<pom.xml>>> and <<<README.txt>>> generated project files for more detailed comments.

View File

@@ -11,13 +11,16 @@ What is an Alfresco extension?
Introduction:
This archetype developed within Sourcesense (http://www.sourcesense.com) aims to provide a standardized approach to development, release and deployment of Alfresco extensions (as opposed to AMP builds). Using standard m2 lifecycle commands (mvn compile package deploy) and generally available plugins (cargo, release, assembly) we are able to cover a very high percentage of Alfresco lifecycle common use cases. \
This archetype was developed by Gabriele Columbro {{http://www.mindthegab.com}}, originally for Sourcesense {{http://www.sourcesense.com}} then for Alfresco Limited {{http://www.alfresco.com}}.
It aims to provide a standardized approach to development, release and deployment of Alfresco extensions (as opposed to AMP builds). Using standard m2 lifecycle commands (mvn compile package deploy) and generally available plugins (cargo, release, assembly) we are able to cover a very high percentage of Alfresco lifecycle common use cases. \
It can be used both with Maven2 and Ant build systems, but it must be clear that *only* the Maven2 approach provides all the automation features we will describe in the next paragraphs. \
In addition to that the m2 approach provides a zero-conf approach while ant requires (as usual) manual gathering and selection of required alfresco libraries and webapp (please refer to README-ant.txt for further info about the Ant build). Last but not the least, m2 build is more likely to be maintained and improved (especially in the likely case Alfresco moves to maven2). \
For more details on the Ant apprach please refer instead to {{{${site_tags_url}/${site_pom_artifactId}-${site_pom_version}<7D>src/main/resources/archetype-resources/readme-ANT.txt} Ant Readme}}.
Features (maven2 only):
For a detail of the Maven profiles to call please refer to the Usage page {{profiles.html}}, follows a high level description of the features:
* <<Easy dependency management and upgrade testing>> \
Webapp WAR dependency on Alfresco community/enterprise wars (or even environment dependent builds, e.g. WAR without log4j for Jboss-4.0.X) can be easily switched and build
@@ -52,7 +55,7 @@ Features (maven2 only):
Database creation/remove scripts are filtered according to the build profile, so you can directly run them for the different environment they were 'built' for.
* <<Easy ide (Eclipse) integration>> \
As difficult as running mvn <<<eclipse:eclipse>>> and hitting "Refresh in your eclipse proje"
Using m2eclipse {{http://m2eclipse.sonatype.org}}
* <<Release process>> \
One command release deploy for this artifact and for the project generated from it. See README-m2.txt for more details.

View File

@@ -7,24 +7,22 @@
<poweredBy>
<logo name="Maven" href="http://maven.apache.org" img="http://maven.apache.org/images/logos/maven-feather.png" />
<logo name="Alfresco - Open source ECM" img="http://alfresco.com/assets/images/icons/powered_by_alfresco.gif"
href="http://www.sourcesense.com" />
href="http://www.alfresco.com" />
</poweredBy>
<publishDate position="navigation-bottom" format="MM-dd-yy" />
<bannerLeft>
<name>Maven alfresco Extension archetype - v. ${project.version}</name>
<href>${site_site_url}</href>
<src>images/logo_noclaim.png</src>
<src>images/Alfresco-logo-transparent.gif</src>
</bannerLeft>
<body>
<links>
<item name="Maven" href="http://maven.apache.org/" />
<item name="Apache" href="http://www.apache.org/" />
</links>
<menu name="M2 Alfresco Extension Archetype">
<item name="Introduction" href="/index.html" />
<item name="README" href="/readme.html" />
<item name="Introduction" href="index.html" />
<item name="README" href="readme.html" />
<item name="Generated Project Layout " href="layout.html"/>
<item name="Usage " href="profiles.html"/>
<item name="How To" href="http://wiki.alfresco.com/wiki/Managing_Alfresco_Lifecyle_with_Maven" />
<item name="FAQ" href="faq.html" />
</menu>
@@ -35,6 +33,12 @@
<item name="Third party how to" href="http://www.cybermagic.co.nz/wiki/display/CM/Building+Alfresco+apps+with+Maven" />
</menu>
<links>
<item name="Maven" href="http://maven.apache.org/" />
<item name="Apache" href="http://www.apache.org/" />
<item name="Alfresco" href="http://www.alfresco.com/" />
</links>
<menu ref="reports" />
</body>
</project>

View File

@@ -15,8 +15,8 @@
<relativePath>../pom.xml</relativePath>
</parent>
<organization>
<name>Sourcesense</name>
<url>http://www.sourcesense.com</url>
<name>Maven Alfresco Community</name>
<url>http://www.alfresco.com</url>
</organization>
<modules>
<module>maven-alfresco-amp-archetype</module>

View File

@@ -6,7 +6,7 @@
</skin>
<poweredBy>
<logo name="Maven" href="http://maven.apache.org" img="http://maven.apache.org/images/logos/maven-feather.png"/>
<logo name="Alfresco - Open source ECM" img="http://alfresco.com/assets/images/icons/powered_by_alfresco.gif" href="http://www.sourcesense.com" />
<logo name="Alfresco - Open source ECM" img="http://alfresco.com/assets/images/icons/powered_by_alfresco.gif" href="http://www.alfresco.com" />
</poweredBy>
<publishDate position="navigation-bottom" format="MM-dd-yy"/>
<bannerLeft>
@@ -25,11 +25,11 @@
</menu>
<menu name="Used by">
<item name="Maven Alfresco AMP Archetype" href="http://repository.sourcesense.com/nexus/content/repositories/alfresco.public.sites/maven-alfresco-lifecycle/maven-alfresco-archetypes/maven-alfresco-amp-archetype/index.html"/>
<item name="Maven Alfresco AMP Archetype" href="http://maven.alfresco.com/nexus/content/repositories/alfresco-docs/maven-alfresco-lifecycle/maven-alfresco-archetypes/maven-alfresco-amp-archetype/index.html"/>
</menu>
<menu name="See also">
<item name="Maven Alfresco Extension Archetype" href="http://repository.sourcesense.com/nexus/content/repositories/alfresco.public.sites/maven-alfresco-lifecycle/maven-alfresco-archetypes/maven-alfresco-extension-archetype/index.html"/>
<item name="Maven Alfresco Extension Archetype" href="http://maven.alfresco.com/nexus/content/repositories/alfresco-docs/maven-alfresco-lifecycle/maven-alfresco-archetypes/maven-alfresco-extension-archetype/index.html"/>
</menu>
<menu ref="reports"/>

42
pom.xml
View File

@@ -5,7 +5,7 @@
<packaging>pom</packaging>
<version>1.0.1-SNAPSHOT</version>
<name>Maven Alfresco Lifecycle support base project</name>
<url>http://repository.sourcesense.com/nexus/content/repositories/alfresco.public.sites/maven-alfresco-lifecycle</url>
<url>http://maven.alfresco.com/nexus/content/repositories/alfresco-docs/maven-alfresco-lifecycle</url>
<description>
This project is meant to gather all commons configurations, plugins and archetypes for the full Maven Alfresco lifecycle support.
It gathers the latest stable versions of the different components that are used to support Alfresco development on Maven in enterprise and
@@ -45,14 +45,15 @@ community contexts.
<developerConnection>scm:svn:https://maven-alfresco-archetypes.googlecode.com/svn/trunk</developerConnection>
<url>https://maven-alfresco-archetypes.googlecode.com/svn/trunk</url>
</scm>
<!-- New Alfresco nexus instance -->
<repositories>
<repository>
<id>ss-public-mirror</id>
<url>http://repository.sourcesense.com/nexus/content/groups/public</url>
<id>alfresco-public</id>
<url>http://maven.alfresco.com/nexus/content/groups/public</url>
</repository>
<repository>
<id>ss-public-snapshots-mirror</id>
<url>http://repository.sourcesense.com/nexus/content/groups/public-snapshots</url>
<id>alfresco-public-snapshots</id>
<url>http://maven.alfresco.com/nexus/content/groups/public-snapshots</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
@@ -61,12 +62,12 @@ community contexts.
</repositories>
<pluginRepositories>
<pluginRepository>
<id>ss-public-mirror</id>
<url>http://repository.sourcesense.com/nexus/content/groups/public</url>
<id>alfresco-public</id>
<url>http://maven.alfresco.com/nexus/content/groups/public</url>
</pluginRepository>
<pluginRepository>
<id>ss-public-snapshots-mirror</id>
<url>http://repository.sourcesense.com/nexus/content/groups/public-snapshots</url>
<id>alfresco-public-snapshots</id>
<url>http://maven.alfresco.com/nexus/content/groups/public-snapshots</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
@@ -98,6 +99,17 @@ community contexts.
<role>Maven Calm Expert</role>
</roles>
</developer>
<developer>
<id>carlo.sciolla</id>
<name>Carlo Sciolla</name>
<email>m.pillitu@sourcesense.com</email>
<organization>Sourcesense</organization>
<organizationUrl>http://www.sourcesense.com</organizationUrl>
<roles>
<role>Infra support</role>
<role>Developer</role>
</roles>
</developer>
</developers>
<mailingLists>
<mailingList>
@@ -213,16 +225,16 @@ community contexts.
</reporting>
<distributionManagement>
<repository>
<id>ss-public</id>
<url>http://repository.sourcesense.com/nexus/content/repositories/alfresco.public.releases</url>
<id>alfresco-releases</id>
<url>http://maven.alfresco.com/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>ss-public-snapshots</id>
<url>http://repository.sourcesense.com/nexus/content/repositories/alfresco.public.snapshots</url>
<id>alfresco-snapshots</id>
<url>http://maven.alfresco.com/nexus/content/repositories/snapshots</url>
</snapshotRepository>
<site>
<id>ss-public-sites</id>
<url>dav:http://repository.sourcesense.com/nexus/content/repositories/alfresco.public.sites/maven-alfresco-lifecycle</url>
<id>alfresco-docs</id>
<url>dav:http://maven.alfresco.com/nexus/content/repositories/alfresco-docs-staging/maven-alfresco-lifecycle</url>
</site>
</distributionManagement>
</project>

View File

@@ -4,6 +4,18 @@
<author email="gabriele.columbro@alfresco.com">Gabriele Columbro</author>
</properties>
<body>
<release version="1.0.1" date="2009-12-03" description="Complete moving of the full infrastructure to Alfresco Community Maven Repository and Share Addon">
<action dev="columbro" type="add">
Moved all the archetypes to work against http://maven.alfresco.com
</action>
<action dev="columbro" type="add">
Updated documentation to point to the new infrastructure
</action>
<action dev="columbro" type="add">
Added support for Alfresco SHARE archetype
</action>
</release>
<release version="1.0.0" date="2009-11-03" description="Complete refactoring of the full support in one multimodule project (maven-alfresco-lifecycle)">
<action dev="columbro" type="add">
Linked all sub modules.

View File

@@ -10,16 +10,16 @@
href="http://www.alfresco.com" />
</poweredBy>
<publishDate position="navigation-bottom" format="MM-dd-yy" />
<bannerLeft>
<name>Maven Alfresco Lifecycle Support - v. ${project.version}</name>
<href>${site_site_url}</href>
<src>images/logo_noclaim.png</src>
</bannerLeft>
<bannerLeft>
<name>Maven alfresco Extension archetype - v. ${project.version}</name>
<href>http://www.alfresco.com</href>
<src>images/Alfresco-logo-transparent.gif</src>
</bannerLeft>
<body>
<links>
<item name="Maven" href="http://maven.apache.org/" />
<item name="Apache" href="http://www.apache.org/" />
<item name="Alfresco" href="http://www.alfresco.org/" />
<item name="Alfresco" href="http://www.alfresco.com/" />
<item name="Project founder" href="http://www.mindthegab.com/" />
</links>
@@ -33,12 +33,10 @@
<item name="FAQ" href="faq.html" />
</menu>
<menu name="See also">
<item name="Maven Alfresco AMP Archetype" href="http://repository.sourcesense.com/nexus/content/repositories/alfresco.public.sites/maven-alfresco-lifecycle/maven-alfresco-archetype/maven-alfresco-amp-archetype/index.html" />
<item name="Maven AMP Plugin" href="http://repository.sourcesense.com/nexus/content/repositories/alfresco.public.sites/maven-alfresco-lifecycle/plugins/maven-amp-plugin/index.html" />
<item name="Third party how to" href="http://www.cybermagic.co.nz/wiki/display/CM/Building+Alfresco+apps+with+Maven" />
<item name="Maven Alfresco AMP Archetype" href="http://maven.alfresco.com/nexus/content/repositories/alfresco-docs/maven-alfresco-lifecycle/maven-alfresco-archetype/maven-alfresco-amp-archetype/index.html" />
<item name="Maven AMP Plugin" href="http://maven.alfresco.com/nexus/content/repositories/alfresco-docs/maven-alfresco-lifecycle/plugins/maven-amp-plugin/index.html" />
</menu>
<menu ref="reports" />