diff --git a/maven-alfresco-amp-archetype/.classpath b/maven-alfresco-amp-archetype/.classpath
new file mode 100644
index 00000000..40fab7b3
--- /dev/null
+++ b/maven-alfresco-amp-archetype/.classpath
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/maven-alfresco-amp-archetype/.project b/maven-alfresco-amp-archetype/.project
new file mode 100644
index 00000000..794f4a9d
--- /dev/null
+++ b/maven-alfresco-amp-archetype/.project
@@ -0,0 +1,9 @@
+
+ demoamp
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
\ No newline at end of file
diff --git a/maven-alfresco-amp-archetype/pom.xml b/maven-alfresco-amp-archetype/pom.xml
new file mode 100644
index 00000000..c369ecc8
--- /dev/null
+++ b/maven-alfresco-amp-archetype/pom.xml
@@ -0,0 +1,42 @@
+
+
+
+ 4.0.0
+ com.sourcesense.alfresco
+ maven-alfresco-amp-archetype
+ maven-archetype
+ demoamp
+ 1.0
+
+
+
+ org.apache.maven.archetype
+ archetype-packaging
+ 2.0-alpha-3
+
+
+
+
+ maven-archetype-plugin
+ 2.0-alpha-3
+ true
+
+
+
+
\ No newline at end of file
diff --git a/maven-alfresco-amp-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml b/maven-alfresco-amp-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
new file mode 100644
index 00000000..0862c527
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -0,0 +1,70 @@
+
+
+
+
+ src/main/java
+
+ **/*.java
+
+
+
+ src/main/webapp
+
+ **/*.txt
+ **/*.jsp
+
+
+
+ src/main/resources
+
+ **/*.xml
+ **/*.properties
+
+
+
+ src/main/webapp
+
+ **/*.js
+ **/*.gif
+ **/*.css
+
+
+
+ src/test/properties
+
+ **/*.properties
+
+
+
+ src/test/resources
+
+ **/*.xml
+ **/*.properties
+
+
+
+
+
+ module.properties
+ README.txt
+ TODO.txt
+
+
+
+
\ No newline at end of file
diff --git a/maven-alfresco-amp-archetype/src/main/resources/META-INF/maven/archetype.xml b/maven-alfresco-amp-archetype/src/main/resources/META-INF/maven/archetype.xml
new file mode 100644
index 00000000..53c0ccfd
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/META-INF/maven/archetype.xml
@@ -0,0 +1,44 @@
+
+
+
+ maven-alfresco-amp-archetype
+
+ src/main/java/Demo.java
+ src/main/java/DemoComponent.java
+
+
+ src/main/resources/alfresco/module/org.alfresco.module.demoamp/context/service-context.xml
+ src/main/resources/alfresco/module/org.alfresco.module.demoamp/log4j.properties
+ src/main/resources/alfresco/module/org.alfresco.module.demoamp/module-context.xml
+ src/main/webapp/css/demoamp.css
+ src/main/webapp/images/sourcesense.gif
+ src/main/webapp/jsp/demoamp.jsp
+ src/main/webapp/licenses/README-licenses.txt
+ src/main/webapp/scripts/demoamp.js
+ module.properties
+ README.txt
+ TODO.txt
+
+
+ src/test/properties/local/application.properties
+ src/test/resources/alfresco/extension/custom-repository-context.xml
+ src/test/resources/alfresco/extension/file-servers-custom.xml
+ src/test/resources/log4j.properties
+
+
\ No newline at end of file
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/README.txt b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/README.txt
new file mode 100644
index 00000000..94a7efb0
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/README.txt
@@ -0,0 +1,129 @@
+======================================================================
+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.
+======================================================================
+
+
+---------------------------------------
+Archetype Release: Archetype - maven-amp-archetype
+Author: g.columbro@sourcesense.com
+http://forge.alfresco.com/m2alfresco
+
+Contacts:
+- alfresco-dev@lists.sourcesense.com (developer)
+- alfresco@sourcesense.com (commercial)
+
+See Also:
+http://wiki.alfresco.com/wiki/Module_Management_Tool
+-----------------------------------------------------
+
+
+
+M2 Instructions for Alfresco AMP:
+--------------------------------
+
+The project can be built using Maven2.
+
+
+Alfresco maven2 AMP build
+-------------------------
+
+
+One command quickstart:
+$ MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m" mvn clean integration-test -P webapp
+
+Runs the jetty embedded with overlayed the currently developed AMP
+
+
+FEATURES:
+---------
+
+- AMP customized build : mvn clean package
+- AMP dependencies management: 'mvn clean package' can take care of overlay deps
+- Alfresco webapp integration via war creation mvn clean package -P webapp
+- jetty embedded build for fast testing, 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 (http://forge.alfresco.com/maven4alfresco) WAR can depend on AMP artifacts and have them overlayed within the maven
+lifecycle, avoiding the boring MMT run.
+
+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//application.properties
+
+
+SOON TO COME:
+------------
+
+- Shared configuration (site + release + plugin config) with maven-alfresco-extension-archetype via super POM
+
+
+PROJECT LAYOUT
+--------------
+
+src --------------------------------------------------------> (source folder)
+ |
+ |__ main ___ __ resources --------------------------> mapped in the classpath (alfresco module config goes here, as well as other classpath resources)
+ | | | NB: best practice groupId.artifactId=moduleId is used by the archetype and by the AMP unpacker
+ | | |__ ex: alfresco/module/com.sourcesense.${artifactId} ---> Example Alfresco module config
+ | |
+ | |
+ | |__ java -------------------------------> customization java classes
+ | |
+ | |__ webapp -----------------------------> AMP overlay folder - this folder is overlayed (so may overwrite other dependent AMPs)
+
+ |
+ |__ test __ __ resources
+ |
+ | | |__ alfresco/extension ---> alfresco overriding Spring contexts
+ | |__ properties -------------------------> environment aware application properties files
+ | | |
+ | | |__ local -------------> default application.properties
+ | |
+
+target - Project build dir
+
+
+FAQ:
+----
+--- Eclipse configuration
+-Run ' mvn eclipse:eclipse '
+-hit "Refresh" on your Eclipse project
+
+--- Db access problems:
+Remember to setup appropriate permissions for selected db / build profile.
+You can either edit accordingly and then run: mysql -u root < tools/mysql/db_setup.sql
+
+or if you use POM property 'alfresco.db.name' you have sql files already filtered (after process-resources phase) in
+
+mysql -u root -p < target/classes/tools/[db_setup,db_remove].sql
+
+--- Out of memory errors:
+Run your build with :
+MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m" mvn ... ...
+
+--- Content integrity errors on restore running with jetty embedded
+Did you remove also alf_data_jetty apart from the alf_jetty db ?
+
+--- Release Problems with LC_ALL
+If underlying svn complains about LC_ALL variable please consider running your release prepending:
+LC_ALL="C" (macosx environments, see http://svn.haxx.se/users/archive-2006-07/0320.shtml)
+
+-- Deploy a generally available AMP into a maven repo for dependency usage
+
+mvn deploy:deploy-file -DrepositoryId=repo
+-Dfile=/Users/youruser/projectz/alfresco/alfresco-recordsmanagement-2.1.0.amp
+-DgroupId=org.alfresco.community -DartifactId=recordsmanagement -Dversion=2.1.0
+-Dpackaging=amp -Durl=scp://...
\ No newline at end of file
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/TODO.txt b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/TODO.txt
new file mode 100644
index 00000000..95f711aa
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/TODO.txt
@@ -0,0 +1,42 @@
+======================================================================
+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.
+======================================================================
+
+Known Issues:
+-------------
+
+
+
+MAJOR:
+- maven-amp-plugin filtering broken
+
+
+MINOR:
+- cannot use maven SNAPSHOT versioning as it's copied over in the module.properties
+file and not accepted by alfresco as valid module version number
+
+
+TRIVIAL:
+- Slighly different deployment for AMP and test WAR. In the test jetty
+war java classes are *not* packed in the war as in the AMP specification,
+but this *must* not have functional impacts on the application
+
+IMPROVEMENTS:
+- maven-amp-plugin is *heavily* redundant. must be simplified to package an
+amp and process overlays
+- maven-amp-plugin could read maven dependencies and turn them into
+module dependencies in module.properties
+- maven-sql-plugin to autocreate jetty db
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/module.properties b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/module.properties
new file mode 100644
index 00000000..79b5d81e
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/module.properties
@@ -0,0 +1,47 @@
+# 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.
+
+
+
+# SDK Sample module
+
+# ==== Beginning of Alfresco required/optional properties ====== #
+
+module.id=${pom.groupId}.${pom.artifactId}
+#module.aliases=myModule-123, my-module
+module.title=${pom.name}
+module.description=${pom.description}
+module.version=${pom.version}
+
+# The following optional properties can be used to prevent the module from being added
+# to inappropriate versions of the WAR file.
+# module.repo.version.min=2.0
+# module.repo.version.max=2.1
+
+# FIXME: This dependencies should come out of mvn dependencies on amp
+
+# The following describe dependencies on other modules
+# Depends on net.sf.myproject.module.SupportModuleA version ${version} or later
+# module.depends.net.sf.myproject.module.SupportModuleA=${version}-*
+# Depends on net.sf.myproject.module.SupportModuleA version ${version} to 2.0
+# module.depends.net.sf.myproject.module.SupportModuleB=${version}-2.0
+# Depends on net.sf.myproject.module.SupportModuleC - any version
+# module.depends.net.sf.myproject.module.SupportModuleB=*
+
+
+# ==== End of Alfresco required/optional properties ======= #
+
+
+# ==== Beginning of module required properties/optional ====== #
\ No newline at end of file
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/pom.xml b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/pom.xml
new file mode 100644
index 00000000..bc2d4198
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/pom.xml
@@ -0,0 +1,308 @@
+
+
+
+ 4.0.0
+ com.sourcesense.alfresco
+ demoamp
+ amp
+ Maven Alfresco AMP Packaging Sample
+
+ 1.0
+ Test AMP project
+
+
+ local
+
+ ${artifactId}-webapp
+
+ ./alf_data_jetty
+ alf_jetty
+ error
+ ${project.build.directory}/
+
+
+ debug
+
+
+
+
+ alfresco.community
+ alfresco-repository
+ 2.1.0
+ provided
+
+
+ org.springframework
+ spring
+ 2.0
+ provided
+
+
+
+
+
+ mysql
+ mysql-connector-java
+ 5.0.3
+
+
+
+
+
+
+ maven-compiler-plugin
+
+ 1.5
+ 1.5
+
+
+
+ org.alfresco.maven.plugin
+ maven-amp-plugin
+ 1.0.0
+ true
+
+
+ false
+
+
+
+ org.alfresco.community
+ recordsmanagement
+ 2.1.0
+ amp
+
+
+
+
+
+
+
+
+
+
+ true
+ src/main/resources
+
+ **README-*
+
+
+
+
+
+
+
+ webapp
+
+ src/test/properties/${env}/application.properties
+ jetty:run-exploded
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ unpack-amps
+ process-resources
+
+ unpack-dependencies
+
+
+ amp
+ ${build.directory}/${webapp.name}
+ META*
+
+
+
+
+
+
+ org.alfresco.maven.plugin
+ maven-amp-plugin
+ 1.0.0
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+
+
+
+ it
+ package
+
+ exploded
+
+
+
+
+ false
+
+ ${build.directory}/${webapp.name}
+
+ false
+
+ licenses/**
+
+
+
+ ${build.testOutputDirectory}
+ WEB-INF/classes
+ true
+
+ **
+
+
+
+
+ src/main/webapp
+ WEB-INF/licenses
+
+ licenses/*.*
+
+ false
+
+
+
+
+
+
+ org.alfresco.maven.plugin
+ maven-amp-plugin
+ 1.0.0
+
+
+
+
+ org.mortbay.jetty
+ maven-jetty-plugin
+
+
+
+ it
+ integration-test
+
+ run-exploded
+
+
+ /${webapp.name}
+ ${pom.build.directory}/${webapp.name}
+ 10
+
+
+ 8080
+ 60000
+
+
+
+
+
+
+
+
+
+
+ true
+ src/test/resources
+
+
+
+ true
+ src/test/properties/${env}
+ alfresco/extension
+
+
+
+ true
+ .
+
+ module.properties
+
+ alfresco/module/${groupId}.${artifactId}
+
+
+
+
+
+
+
+ alfresco.community
+ alfresco
+ 2.1.0
+ war
+
+
+
+
+
+
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/java/com/sourcesense/demoamp/Demo.java b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/java/com/sourcesense/demoamp/Demo.java
new file mode 100644
index 00000000..8a29824c
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/java/com/sourcesense/demoamp/Demo.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
+package com.sourcesense.demoamp;
+
+/**
+ * This class does nothing except dump some output to system.out.
+ *
+ * @author Derek Hulley
+ */
+public class Demo
+{
+ public void init()
+ {
+ System.out.println("SDK Demo AMP class has been loaded");
+ }
+}
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/java/com/sourcesense/demoamp/DemoComponent.java b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/java/com/sourcesense/demoamp/DemoComponent.java
new file mode 100644
index 00000000..f6ef5bf5
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/java/com/sourcesense/demoamp/DemoComponent.java
@@ -0,0 +1,41 @@
+/*
+ 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.
+ */
+package com.sourcesense.demoamp;
+
+import java.util.logging.Logger;
+
+import org.alfresco.repo.module.AbstractModuleComponent;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * A basic component that will be started for this module.
+ *
+ * @author Derek Hulley
+ */
+public class DemoComponent extends AbstractModuleComponent
+{
+ Log log = LogFactory.getLog(DemoComponent.class);
+
+ @Override
+ protected void executeInternal() throws Throwable
+ {
+ System.out.println("DemoComponent has been executed");
+ log.debug("Test debug logging is working");
+ log.info("This should not be outputted by default");
+ }
+}
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/org.alfresco.module.demoamp/context/service-context.xml b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/org.alfresco.module.demoamp/context/service-context.xml
new file mode 100644
index 00000000..1dd4b07e
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/org.alfresco.module.demoamp/context/service-context.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/org.alfresco.module.demoamp/log4j.properties b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/org.alfresco.module.demoamp/log4j.properties
new file mode 100644
index 00000000..960dd90b
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/org.alfresco.module.demoamp/log4j.properties
@@ -0,0 +1,41 @@
+# 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.
+ #-----------------------------------------------------------------------
+ # ${artifactId} module log4j.properties
+ #
+ # NOTE
+ # ----
+ # Log4j uses the following logging levels:
+ # debug,info,warn,error,fatal
+ #
+ # To set the logging level of {fullClassName} to {loglevel},
+ # add a line to this file of the following form:
+ #
+ # log4j.logger.{fullClassName}={loglevel}
+ #
+ # For example, to make 'com.example.MyExample' produce 'debug'
+ # logs, add a line like this:
+ #
+ # log4j.logger.com.example.MyExample=debug
+ #
+ #
+ # WARNING
+ # -------
+ # Log properties in this log4j.properties file override/augment
+ # those in the webapp's main log4j.properties.
+ #
+ #-----------------------------------------------------------------------
+
+ log4j.logger.com.sourcesense.demoamp.DemoComponent=${module.log.level}
\ No newline at end of file
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/org.alfresco.module.demoamp/module-context.xml b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/org.alfresco.module.demoamp/module-context.xml
new file mode 100644
index 00000000..b2c5cee7
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/org.alfresco.module.demoamp/module-context.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/webapp/css/demoamp.css b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/webapp/css/demoamp.css
new file mode 100644
index 00000000..c24bc1bd
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/webapp/css/demoamp.css
@@ -0,0 +1,16 @@
+/*
+ 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.
+ */
\ No newline at end of file
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/webapp/images/sourcesense.gif b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/webapp/images/sourcesense.gif
new file mode 100644
index 00000000..0b80b9d2
Binary files /dev/null and b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/webapp/images/sourcesense.gif differ
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/webapp/jsp/demoamp.jsp b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/webapp/jsp/demoamp.jsp
new file mode 100644
index 00000000..f442d2ef
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/webapp/jsp/demoamp.jsp
@@ -0,0 +1,16 @@
+
\ No newline at end of file
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/webapp/licenses/README-licenses.txt b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/webapp/licenses/README-licenses.txt
new file mode 100644
index 00000000..2a848d02
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/webapp/licenses/README-licenses.txt
@@ -0,0 +1,2 @@
+This folder (root in the AMP) gets mapped automagically in WEB-INF/licenses
+in the war build
\ No newline at end of file
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/webapp/scripts/demoamp.js b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/webapp/scripts/demoamp.js
new file mode 100644
index 00000000..c24bc1bd
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/main/webapp/scripts/demoamp.js
@@ -0,0 +1,16 @@
+/*
+ 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.
+ */
\ No newline at end of file
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/test/properties/local/application.properties b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/test/properties/local/application.properties
new file mode 100644
index 00000000..dc0a167d
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/test/properties/local/application.properties
@@ -0,0 +1,139 @@
+# 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.
+
+# RUN TIME PROPERTIES
+# -------------------
+
+# Sample custom content and index data location
+# This will create alf_data Relative to appserver run folder
+# In this default file we take the property from the POM (for compatbility with local jetty and jboss deployments) but it can also be edited here.
+dir.root=${alfresco.data.location}
+# Allowed values are: NONE, AUTO, FULL
+index.recovery.mode=FULL
+
+# Fail or not when there are node integrity checker errors
+integrity.failOnError=true
+
+# database connection properties
+# MySQL connection (This is default and requires mysql-connector-java-5.0.3-bin.jar, which ships with the Alfresco server)
+
+db.driver=org.gjt.mm.mysql.Driver
+db.url=jdbc:mysql://localhost/${alfresco.db.name}
+db.username=alfresco
+db.password=alfresco
+db.pool.initial=10
+db.pool.max=100
+
+# MySQL dialect
+hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
+
+
+
+
+# Change the following values only if you know what you're doing.
+# Default should suffice in most cases when running jetty embedded
+# for amp testing
+
+
+
+
+
+# Property to control whether schema updates are performed automatically.
+# Updates must be enabled during upgrades as, apart from the static upgrade scripts,
+# there are also auto-generated update scripts that will need to be executed. After
+# upgrading to a new version, this can be disabled.
+#db.schema.update=true
+
+
+# File servers related properties
+# For local builds we disable CIFS and FTP. Edit the following property to reenable them
+smb.server.enabled=false
+smb.server.name=CFS_SHARE_LOCAL
+smb.server.domain=mycompany.com
+smb.server.bindto=127.0.0.1
+smb.tcpip.port=1445
+netbios.session.port=1139
+netbios.name.port=1137
+netbios.datagram.port=1138
+ftp.server.enabled=false
+ftp.port=1121
+ftp.authenticator=alfresco
+
+# This properties file is used to configure LDAP authentication
+# NB: The following LDAP related properties are read only in case -Denteprise mvn build property is specified
+# Wheter to allow silent deletion of users in the Alfresco UI (note: users will be then resynced in the next synchronization)
+ldap.authentication.allowDeleteUser=true
+# LDAP JNDI provider
+ldap.authentication.provider=com.sun.jndi.ldap.LdapCtxFactory
+# Url and protocol for LDAP server to carry authentication against
+ldap.authentication.url=ldap://ldap.mycompany.com:636
+# can be (simple, ssl)
+ldap.authentication.protcol=ssl
+# Credentials with full access to the directoty used
+ldap.authentication.adminUser=ou=Admin,ou=Services,o=Company
+ldap.authentication.adminPassword=secret
+# Wheter to allow unauthenticated guest a read only login
+ldap.authentication.guestLogin.allowed=false
+# Wheter users can be created on the fly upon successful external (e.g. LDAP) authentication. Useful to avoid user synchronization in case just uid and pwd are needed for a user
+server.transaction.allow-writes=true
+# Wheter user names are case sensitive
+user.name.caseSensitive=true
+# Wheter the synchronization process has to process duplicated users (e.g. synced users and users coming from the sync)
+personService.processDuplicates=true
+# Which action to take when processin duplicates. One of: LEAVE, SPLIT, DELETE
+personService.duplicateMode=DELETE
+# Which of the users (in case of SPLIT duplicates policy) should be considered valid
+personService.lastIsBest=true
+# Wheter auto created users should be considered when processing duplicates
+personService.includeAutoCreated=true
+# The query to find the people to import
+ldap.synchronisation.personQuery=(objectclass=inetOrgPerson)
+# The search base of the query to find people to import
+ldap.synchronisation.personSearchBase=ou=Identities,ou=mycompany,o=com
+# The attribute name on people objects found in LDAP to use as the uid in Alfresco
+ldap.synchronisation.userIdAttributeName=cn
+# The attribute on person objects in LDAP to map to the first name property in Alfresco
+ldap.synchronisation.userFirstNameAttributeName=givenName
+# The attribute on person objects in LDAP to map to the last name property in Alfresco
+ldap.synchronisation.userLastNameAttributeName=sn
+# The attribute on person objects in LDAP to map to the email property in Alfresco
+ldap.synchronisation.userEmailAttributeName=cn
+# The attribute on person objects in LDAP to map to the organizational id property in Alfresco
+ldap.synchronisation.userOrganizationalIdAttributeName=maildomain
+# The default home folder provider to use for people created via LDAP import
+ldap.synchronisation.defaultHomeFolderProvider=companyHomeFolderProvider
+# The query to find group objects
+ldap.synchronisation.groupQuery=(objectclass=AlfrescoGroup)
+# The search base to use to find group objects
+ldap.synchronisation.groupSearchBase=ou=AlfrescoGroups,ou=mycompany,o=com
+# The attribute on LDAP group objects to map to the gid property in Alfrecso
+ldap.synchronisation.groupIdAttributeName=cn
+# The group type in LDAP
+ldap.synchronisation.groupType=AlfrescoGroup
+# The person type in LDAP
+ldap.synchronisation.personType=inetOrgPerson
+# The attribute in LDAP on group objects that defines the DN for its members
+ldap.synchronisation.groupMemberAttributeName=member
+# The cron expression defining when people imports should take place (e.g. every evening at 22:00 hours)
+ldap.synchronisation.import.person.cron=0 0 22 * * ?
+# The cron expression defining when group imports should take place (e.g. every evening at 21:45 hours)
+ldap.synchronisation.import.group.cron=0 45 21 * * ?
+# Should all groups be cleared out at import time?
+# - this is safe as groups are not used in Alfresco for other things (unlike person objects which you should never clear out during an import)
+# - setting this to true means old group definitions will be tidied up.
+ldap.synchronisation.import.group.clearAllChildren=false
+
+
+
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/test/resources/alfresco/extension/custom-repository-context.xml b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/test/resources/alfresco/extension/custom-repository-context.xml
new file mode 100644
index 00000000..4d356100
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/test/resources/alfresco/extension/custom-repository-context.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+ classpath:alfresco/repository.properties
+ classpath:alfresco/version.properties
+ classpath:alfresco/domain/transaction.properties
+
+
+ classpath:alfresco/extension/application.properties
+
+
+
+
+
+
+
+ classpath:alfresco/domain/hibernate-cfg.properties
+
+
+
+
+
\ No newline at end of file
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/test/resources/alfresco/extension/file-servers-custom.xml b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/test/resources/alfresco/extension/file-servers-custom.xml
new file mode 100644
index 00000000..11742c72
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/test/resources/alfresco/extension/file-servers-custom.xml
@@ -0,0 +1,152 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Alfresco CIFS Server
+
+
+ 255.255.255.0
+
+
+
+
+
+ ${smb.server.bindto}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${ftp.port}
+
+
+
+
+
+
+
+
+
+
+
+ workspace://SpacesStore
+ /app:company_home
+
+
+
+ __Alfresco.url
+ http://${localname}/
+
+
+
+
+
+
+
+
+
+ alfresco/desktop/Alfresco.exe
+ http://${localname}/
+
+
+ org.alfresco.filesys.smb.server.repo.desk.CheckInOutDesktopAction
+ CheckInOut
+ __CheckInOut.exe
+
+
+ org.alfresco.filesys.smb.server.repo.desk.JavaScriptDesktopAction
+ JavaScriptURL
+ __ShowDetails.exe
+
+ anyFiles
+ copyToTarget
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/test/resources/log4j.properties b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/test/resources/log4j.properties
new file mode 100644
index 00000000..8d919e9b
--- /dev/null
+++ b/maven-alfresco-amp-archetype/src/main/resources/archetype-resources/src/test/resources/log4j.properties
@@ -0,0 +1,147 @@
+# 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.
+
+
+# Customized alfresco log location
+# Set root logger level to error
+log4j.rootLogger=${webapp.log.level}, Console, File
+
+###### Console appender definition #######
+
+# All outputs currently set to be a ConsoleAppender.
+log4j.appender.Console=org.apache.log4j.ConsoleAppender
+log4j.appender.Console.layout=org.apache.log4j.PatternLayout
+log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c{3}] %m%n
+#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
+
+###### File appender definition #######
+log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.File.File=${webapp.log.dir}alfresco.log
+log4j.appender.File.Append=true
+log4j.appender.File.DatePattern='.'yyyy-MM-dd
+log4j.appender.File.layout=org.apache.log4j.PatternLayout
+log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
+
+###### Hibernate specific appender definition #######
+#log4j.appender.file=org.apache.log4j.FileAppender
+#log4j.appender.file.File=hibernate.log
+#log4j.appender.file.layout=org.apache.log4j.PatternLayout
+#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
+
+###### Log level overrides #######
+
+log4j.logger.org.alfresco.repo.model.filefolder=info
+
+# Hibernate
+log4j.logger.org.hibernate=error
+log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal
+log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal
+#log4j.logger.org.hibernate.cache.EhCacheProvider=warn
+log4j.logger.org.hibernate.type=warn
+# log4j.logger.org.hibernate.persister.collection=DEBUG
+
+# Spring
+log4j.logger.org.springframework=warn
+
+# Axis/WSS4J
+log4j.logger.org.apache.axis=info
+log4j.logger.org.apache.ws=info
+
+# MyFaces
+log4j.logger.org.apache.myfaces.util.DebugUtils=info
+log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
+log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
+log4j.logger.org.apache.myfaces.taglib=error
+
+# log prepared statement cache activity ###
+log4j.logger.org.hibernate.ps.PreparedStatementCache=info
+
+# Alfresco
+log4j.logger.org.alfresco=error
+log4j.logger.org.alfresco.repo.avm=info
+log4j.logger.org.alfresco.config=info
+log4j.logger.org.alfresco.sample=info
+log4j.logger.org.alfresco.web=info
+log4j.logger.org.alfresco.web.scripts=warn
+#log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug
+#log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug
+#log4j.logger.org.alfresco.web.bean.clipboard=debug
+log4j.logger.org.alfresco.repo.webservice=info
+log4j.logger.org.alfresco.service.descriptor.DescriptorService=info
+#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
+#log4j.logger.org.alfresco.web.ui.common.Utils=info
+log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info
+log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info
+log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info
+log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info
+log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info
+log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=warn
+log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn
+#log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug
+#log4j.logger.org.alfresco.repo.cache.EhCacheTracerJob=debug
+#log4j.logger.org.alfresco.repo.search.Indexer=debug
+#log4j.logger.org.alfresco.repo.workflow=info
+#log4j.logger.org.alfresco.repo.jscript=DEBUG
+log4j.logger.org.alfresco.repo.jscript.AlfrescoRhinoScriptDebugger=off
+
+# CIFS server debugging
+#log4j.logger.org.alfresco.smb.protocol=debug
+#log4j.logger.org.alfresco.smb.protocol.auth=debug
+#log4j.logger.org.alfresco.acegi=debug
+
+# FTP server debugging
+#log4j.logger.org.alfresco.ftp.protocol=debug
+#log4j.logger.org.alfresco.ftp.server=debug
+
+# WebDAV debugging
+#log4j.logger.org.alfresco.webdav.protocol=debug
+
+# NTLM servlet filters
+#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
+#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
+
+# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
+log4j.logger.org.alfresco.repo.node.integrity=ERROR
+
+# New indexer debugging
+#log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG
+
+# Audit debugging
+# log4j.logger.org.alfresco.repo.audit=DEBUG
+# log4j.logger.org.alfresco.repo.audit.model=DEBUG
+
+# Turn off Spring remoting warnings that should really be info or debug.
+log4j.logger.org.springframework.remoting.support=error
+
+# Templating debugging
+# log4j.logger.org.alfresco.web.forms=debug
+# log4j.logger.org.chiba.xml.xforms=debug
+
+# Property sheet and modelling debugging
+# change to error to hide the warnings about missing properties and associations
+log4j.logger.alfresco.missingProperties=warn
+log4j.logger.org.alfresco.web.ui.repo.component.property.UIChildAssociation=warn
+log4j.logger.org.alfresco.web.ui.repo.component.property.UIAssociation=warn
+#log4j.logger.org.alfresco.web.ui.repo.component.property=debug
+#log4j.logger.org.alfresco.repo.dictionary.DictionaryDAO=info
+
+
+# Virtualization Server Registry
+#log4j.logger.org.alfresco.mbeans.VirtServerRegistry=debug
+
+# Link Validation debugging
+#log4j.logger.org.alfresco.linkvalidation.LinkValidationServiceImpl=debug
+#log4j.logger.org.alfresco.linkvalidation.LinkValidationStoreCallbackHandler=debug
+
diff --git a/maven-alfresco-amp-archetype/target/mvn-eclipse-cache.properties b/maven-alfresco-amp-archetype/target/mvn-eclipse-cache.properties
new file mode 100644
index 00000000..9090d088
--- /dev/null
+++ b/maven-alfresco-amp-archetype/target/mvn-eclipse-cache.properties
@@ -0,0 +1,2 @@
+#Temporary index for unavailable sources and javadocs
+#Fri Jul 04 02:25:03 CEST 2008