Initial import of http://easyant.org/svn/easyant@650 with trunks and not the branches

git-svn-id: https://svn.apache.org/repos/asf/incubator/easyant/skeletons/trunk@1071697 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/std-ant-plugin/module.ivy b/std-ant-plugin/module.ivy
new file mode 100644
index 0000000..e8d6abe
--- /dev/null
+++ b/std-ant-plugin/module.ivy
@@ -0,0 +1,25 @@
+<!--
+	Copyright 2008-2010 the EasyAnt project
+	
+	See the NOTICE file distributed with this work for additional information 
+	regarding copyright ownership.
+	
+	Licensed 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.  
+-->
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+	<info organisation="org.apache.easyant.skeletons" module="std-ant-plugin" 
+			status="integration" revision="0.1">
+		<description>Skeleton for creating ant based plugin for easyant</description>
+		<ea:build  module="build-std-skeleton" revision="0.1"/>
+	</info>
+</ivy-module>
diff --git a/std-ant-plugin/src/main/resources/module.ivy.tpl b/std-ant-plugin/src/main/resources/module.ivy.tpl
new file mode 100644
index 0000000..22b3088
--- /dev/null
+++ b/std-ant-plugin/src/main/resources/module.ivy.tpl
@@ -0,0 +1,32 @@
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+	<info organisation="@project.organisation@" module="@project.module@" 
+			status="integration" revision="@project.revision@">
+		<!--
+			This easyant section is equivalent to having a module.ant like this:
+			
+			<project name="@project.organisation@;@project.module@"
+				xmlns:ea="antlib:org.apache.easyant">
+				
+				<ea:import organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
+			</project>				
+		  -->
+		<!-- note that in a module.ivy the organisation attribute is not mandatory
+			if not specified easyant will use the default organisation for build type / plugin -->
+		<ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
+	</info>
+	<configurations>
+		<conf name="default" visibility="public" description="runtime dependencies artifact can be used with this conf"/>
+		<conf name="test" visibility="private" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases."/>
+		<conf name="provided" visibility="public" description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive."/>
+	</configurations>
+	<publications>
+                <artifact name="@project.module@" type="ant"/>
+        </publications>
+
+	<dependencies>
+		<!-- your project dependencies goes here -->
+		<!--
+			<dependency org="junit" name="junit" rev="4.4" conf="test->default" />
+		-->
+	</dependencies>
+</ivy-module>
diff --git a/std-ant-plugin/src/main/resources/skeleton.postinstall.ant.tpl b/std-ant-plugin/src/main/resources/skeleton.postinstall.ant.tpl
new file mode 100644
index 0000000..e78787a
--- /dev/null
+++ b/std-ant-plugin/src/main/resources/skeleton.postinstall.ant.tpl
@@ -0,0 +1,12 @@
+<project name="org.apache.easyant.plugins#skeleton-postinstall" default="doit">
+
+	<target name="doit">
+		<!-- rename the plugin skeleton -->
+		<move file="${basedir}/src/main/resources/temp-plugin.ant" 
+			tofile="${basedir}/src/main/resources/@project.module@.ant"/>
+		<!-- rename the plugin testcase skeleton --> 	
+		<move file="${basedir}/src/test/antunit/temp-plugin-test.xml" 
+			tofile="${basedir}/src/test/antunit/@project.module@-test.xml"/>
+	</target>
+
+</project>
diff --git a/std-ant-plugin/src/main/resources/src/main/resources/temp-plugin.ant.tpl b/std-ant-plugin/src/main/resources/src/main/resources/temp-plugin.ant.tpl
new file mode 100644
index 0000000..3abffcf
--- /dev/null
+++ b/std-ant-plugin/src/main/resources/src/main/resources/temp-plugin.ant.tpl
@@ -0,0 +1,18 @@
+<project name="@project.organisation@;@project.module@" 
+		xmlns:ivy="antlib:org.apache.ivy.ant" 
+     	xmlns:ea="antlib:org.apache.easyant">
+     	
+	<!--
+		Force compliance with easyant-core to 0.7 or higher
+		<ea:core-version requiredrevision="[0.7,+]" />
+	-->
+	
+	<!-- Sample init target -->
+	<target name=":init" phase="validate">
+		<!-- you should  remove this echo message -->
+		<echo level="debug">This is the init target of @project.module@</echo>
+	</target>
+	
+	<!-- define a generic default target for this plugin -->
+	<target name="doit" depends="validate"/>
+</project>
diff --git a/std-ant-plugin/src/main/resources/src/test/antunit/temp-plugin-test.xml.tpl b/std-ant-plugin/src/main/resources/src/test/antunit/temp-plugin-test.xml.tpl
new file mode 100644
index 0000000..14fac8e
--- /dev/null
+++ b/std-ant-plugin/src/main/resources/src/test/antunit/temp-plugin-test.xml.tpl
@@ -0,0 +1,55 @@
+<!--
+	Copyright 2008-2009 the EasyAnt project
+	
+	See the NOTICE file distributed with this work for additional information 
+	regarding copyright ownership.
+	
+	Licensed 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 name="@project.organisation@;@project.module@-test" xmlns:au="antlib:org.apache.ant.antunit">
+	
+	<!-- Mocking required phase --> 
+	<phase name="validate"/>
+		
+	<!-- Import your plugin -->	
+	<import file="../../main/resources/@project.module@.ant"/>
+	
+	<!-- Defines a setUp / tearDown (before each test) that cleans the environnement --> 
+	<target name="clean" description="remove stale build artifacts before / after each test">
+		<delete dir="${basedir}" includeemptydirs="true">
+			<include name="**/target/**"/>
+			<include name="**/lib/**"/>
+		</delete>
+	</target>
+	
+	<target name="setUp" depends="clean"/>
+	<target name="tearDown" depends="clean"/>
+	
+	<!-- init test case --> 		
+	<target name="testInit">
+		<antcall target=":init"/>
+		<au:assertLogContains level="debug" text="This is the init target of @project.module@"/>
+	</target>
+	
+	<!--
+		A sample ant unit test case, 
+		see the antunit official documentation for more informations
+		
+		<target name="testSample" description="a sample of ant unit test case">
+			<au:assertTrue>
+				<matches string="abc" pattern="abc"/>
+			</au:assertTrue>
+		</target>
+	-->
+
+</project>
\ No newline at end of file
diff --git a/std-java-application/module.ivy b/std-java-application/module.ivy
new file mode 100644
index 0000000..8350afd
--- /dev/null
+++ b/std-java-application/module.ivy
@@ -0,0 +1,25 @@
+<!--
+	Copyright 2008-2010 the EasyAnt project
+	
+	See the NOTICE file distributed with this work for additional information 
+	regarding copyright ownership.
+	
+	Licensed 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.  
+-->
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+	<info organisation="org.apache.easyant.skeletons" module="std-java-application" 
+			status="integration" revision="0.1">
+		<description>Skeleton for creating standard java application</description>
+		<ea:build  module="build-std-skeleton" revision="0.1"/>
+	</info>
+</ivy-module>
diff --git a/std-java-application/src/main/resources/module.ivy.tpl b/std-java-application/src/main/resources/module.ivy.tpl
new file mode 100644
index 0000000..b393da0
--- /dev/null
+++ b/std-java-application/src/main/resources/module.ivy.tpl
@@ -0,0 +1,28 @@
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+	<info organisation="@project.organisation@" module="@project.module@" 
+			status="integration" revision="@project.revision@">
+		<!--
+			This easyant section is equivalent to having a module.ant like this:
+			
+			<project name="@project.organisation@;@project.module@"
+				xmlns:ea="antlib:org.apache.easyant">
+				
+				<ea:import organisation="org.apache.easyant.buildtypes" module="build-std-java" revision="0.2"/>
+			</project>				
+		  -->
+		<!-- note that in a module.ivy the organisation attribute is not mandatory
+			if not specified easyant will use the default organisation for build type / plugin -->
+		<ea:build organisation="org.apache.easyant.buildtypes" module="build-std-java" revision="0.2"/>
+	</info>
+	<configurations>
+		<conf name="default" visibility="public" description="runtime dependencies artifact can be used with this conf"/>
+		<conf name="test" visibility="private" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases."/>
+		<conf name="provided" visibility="public" description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive."/>
+	</configurations>
+	<dependencies>
+		<!-- your project dependencies goes here -->
+		<!--
+			<dependency org="junit" name="junit" rev="4.4" conf="test->default" />
+		-->
+	</dependencies>
+</ivy-module>
diff --git a/std-java-webapplication/module.ivy b/std-java-webapplication/module.ivy
new file mode 100644
index 0000000..0af2327
--- /dev/null
+++ b/std-java-webapplication/module.ivy
@@ -0,0 +1,25 @@
+<!--
+	Copyright 2008-2010 the EasyAnt project
+	
+	See the NOTICE file distributed with this work for additional information 
+	regarding copyright ownership.
+	
+	Licensed 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.  
+-->
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+	<info organisation="org.apache.easyant.skeletons" module="std-java-webapplication" 
+			status="integration" revision="0.1">
+		<description>Skeleton for creating standard java web application</description>
+		<ea:build  module="build-std-skeleton" revision="0.1"/>
+	</info>
+</ivy-module>
diff --git a/std-java-webapplication/src/main/resources/module.ivy.tpl b/std-java-webapplication/src/main/resources/module.ivy.tpl
new file mode 100644
index 0000000..8bb2086
--- /dev/null
+++ b/std-java-webapplication/src/main/resources/module.ivy.tpl
@@ -0,0 +1,28 @@
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+	<info organisation="@project.organisation@" module="@project.module@" 
+			status="integration" revision="@project.revision@">
+		<!--
+			This easyant section is equivalent to having a module.ant like this:
+			
+			<project name="@project.organisation@;@project.module@"
+				xmlns:ea="antlib:org.apache.easyant">
+				
+				<ea:import organisation="org.apache.easyant.buildtypes" module="build-webapp-java" revision="0.1"/>
+			</project>				
+		  -->
+		<!-- note that in a module.ivy the organisation attribute is not mandatory
+			if not specified easyant will use the default organisation for build type / plugin -->
+		<ea:build organisation="org.apache.easyant.buildtypes" module="build-webapp-java" revision="0.1"/>
+	</info>
+	<configurations>
+		<conf name="default" visibility="public" description="runtime dependencies artifact can be used with this conf"/>
+		<conf name="test" visibility="private" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases."/>
+		<conf name="provided" visibility="public" description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive."/>
+	</configurations>
+	<dependencies>
+		<!-- your project dependencies goes here -->
+		<!--
+			<dependency org="junit" name="junit" rev="4.4" conf="test->default" />
+		-->
+	</dependencies>
+</ivy-module>
diff --git a/std-skeleton/module.ivy b/std-skeleton/module.ivy
new file mode 100644
index 0000000..b578053
--- /dev/null
+++ b/std-skeleton/module.ivy
@@ -0,0 +1,25 @@
+<!--
+	Copyright 2008-2010 the EasyAnt project
+	
+	See the NOTICE file distributed with this work for additional information 
+	regarding copyright ownership.
+	
+	Licensed 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.  
+-->
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+	<info organisation="org.apache.easyant.skeletons" module="std-skeleton" 
+			status="integration" revision="0.1">
+		<description>Emtpy skeleton structure</description>
+		<ea:build  module="build-std-skeleton" revision="0.1"/>
+	</info>
+</ivy-module>
diff --git a/std-skeleton/src/main/resources/module.ivy.tpl b/std-skeleton/src/main/resources/module.ivy.tpl
new file mode 100644
index 0000000..70356dd
--- /dev/null
+++ b/std-skeleton/src/main/resources/module.ivy.tpl
@@ -0,0 +1,9 @@
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+	<info organisation="@project.organisation@" module="@project.module@" 
+			status="integration" revision="@project.revision@">
+		<!--
+		<description>YOUR SKELETON DESCRIPTION GOES HERE</description>
+		-->
+		<ea:build module="build-std-skeleton" revision="0.1"/>
+	</info>
+</ivy-module>
diff --git a/std-skeleton/src/main/resources/skeleton.postinstall.ant.tpl b/std-skeleton/src/main/resources/skeleton.postinstall.ant.tpl
new file mode 100644
index 0000000..6a2c18a
--- /dev/null
+++ b/std-skeleton/src/main/resources/skeleton.postinstall.ant.tpl
@@ -0,0 +1,12 @@
+<project name="org.apache.easyant.plugins#skeleton-postinstall" default="doit">
+
+	<target name="doit">
+		<!-- rename the plugin skeleton -->
+		<move file="${basedir}/src/main/resources/module.ivy" 
+			tofile="${basedir}/src/main/resources/module.ivy.tpl"/>
+		<!-- rename the plugin testcase skeleton --> 	
+		<move file="${basedir}/src/test/antunit/temp-plugin-test.xml" 
+			tofile="${basedir}/src/test/antunit/@project.module@-test.xml"/>
+	</target>
+
+</project>
diff --git a/std-skeleton/src/main/resources/src/main/resources/module.ivy b/std-skeleton/src/main/resources/src/main/resources/module.ivy
new file mode 100644
index 0000000..70356dd
--- /dev/null
+++ b/std-skeleton/src/main/resources/src/main/resources/module.ivy
@@ -0,0 +1,9 @@
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+	<info organisation="@project.organisation@" module="@project.module@" 
+			status="integration" revision="@project.revision@">
+		<!--
+		<description>YOUR SKELETON DESCRIPTION GOES HERE</description>
+		-->
+		<ea:build module="build-std-skeleton" revision="0.1"/>
+	</info>
+</ivy-module>
diff --git a/std-skeleton/src/main/resources/src/test/antunit/temp-plugin-test.xml.tpl b/std-skeleton/src/main/resources/src/test/antunit/temp-plugin-test.xml.tpl
new file mode 100644
index 0000000..a1a2193
--- /dev/null
+++ b/std-skeleton/src/main/resources/src/test/antunit/temp-plugin-test.xml.tpl
@@ -0,0 +1,43 @@
+<!--
+	Copyright 2008-2009 the EasyAnt project
+	
+	See the NOTICE file distributed with this work for additional information 
+	regarding copyright ownership.
+	
+	Licensed 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 name="@project.organisation@;@project.module@-test" xmlns:au="antlib:org.apache.ant.antunit">
+	
+	<!-- Defines a setUp / tearDown (before each test) that cleans the environnement --> 
+	<target name="clean" description="remove stale build artifacts before / after each test">
+		<delete dir="${basedir}" includeemptydirs="true">
+			<include name="**/target/**"/>
+			<include name="**/lib/**"/>
+		</delete>
+	</target>
+	
+	<target name="setUp" depends="clean"/>
+	<target name="tearDown" depends="clean"/>
+	
+	<!--
+		A sample ant unit test case, 
+		see the antunit official documentation for more informations
+		
+		<target name="testSample" description="a sample of ant unit test case">
+			<au:assertTrue>
+				<matches string="abc" pattern="abc"/>
+			</au:assertTrue>
+		</target>
+	-->
+
+</project>