You are viewing a plain text version of this content. The canonical link for it is here.
Posted to easyant-commits@incubator.apache.org by hi...@apache.org on 2011/02/17 17:01:56 UTC

svn commit: r1071697 [39/42] - in /incubator/easyant: buildtypes/ buildtypes/trunk/ buildtypes/trunk/build-osgi-bundle-java/ buildtypes/trunk/build-osgi-bundle-java/src/ buildtypes/trunk/build-osgi-bundle-java/src/main/ buildtypes/trunk/build-osgi-bund...

Added: incubator/easyant/plugins/trunk/package-jar/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/package-jar/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/package-jar/module.ivy (added)
+++ incubator/easyant/plugins/trunk/package-jar/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,32 @@
+<!--
+	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.plugins" module="package-jar" revision="0.1">
+	       <description>This module provides jar packaging feature. </description>
+	       <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
+        </info>
+        <configurations>
+                <conf name="default" description="runtime dependencies artifact can be used with this conf"/>
+                <conf name="test" 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" 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 type="ant"/>
+	</publications>
+</ivy-module>

Propchange: incubator/easyant/plugins/trunk/package-jar/module.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/package-jar/module.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/package-jar/module.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/package-jar/src/main/resources/package-jar.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/package-jar/src/main/resources/package-jar.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/package-jar/src/main/resources/package-jar.ant (added)
+++ incubator/easyant/plugins/trunk/package-jar/src/main/resources/package-jar.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,70 @@
+<!--
+	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.
+-->
+<project name="org.apache.easyant.plugins#package-jar"
+	xmlns:ea="antlib:org.apache.easyant">
+			
+	<ea:core-version requiredrevision="[0.8,+]" />
+	
+	<target name=":init" phase="validate">
+		<ea:parameter phase="validate" />
+		<ea:parameter phase="compile" />
+		<ea:parameter phase="package" />
+		
+		<ea:parameter property="target.artifacts.main.jar.name" required="true"
+		    description="main artifact file name" />
+
+		<ea:parameter property="target.artifacts" required="true" description="destination directory for target artifacts"/>
+		
+		<ea:parameter property="target.main.artifact" required="false" description="the location of the main artifact" 
+			default="${target.artifacts}/${target.artifacts.main.jar.name}"/>
+
+		<ea:parameter property="target.main.classes" required="true" 
+			description="directory where compiled classes that should be packaged are" />
+		
+		<ea:parameter property="manifest.file" required="true"
+			description="the file used to generate manifest" />
+		
+		<ea:parameter property="package.jar.includes.pattern" default="**/*" 
+			description="Pattern describing files included in the output jar" />
+		<ea:parameter property="package.jar.excludes.pattern" default="" 
+			description="Pattern describing files excluded in the output jar" />
+
+		<ea:parameter property="package.metainf.basedir" default="${basedir}" 
+				description="basedir of the metainf fileset"/>
+		<ea:parameter property="package.metainf.includes.pattern" default="NOTICE,LICENSE" 
+				description="Pattern describing files included in the META-INF of the package"/>
+		<ea:parameter property="package.metainf.excludes.pattern" default="" 
+				description="Pattern describing files excluded in the META-INF of the package"/>
+
+		<fileset id="package.metainf.fileset" dir="${package.metainf.basedir}" includes="${package.metainf.includes.pattern}" excludes="${package.metainf.excludes.pattern}"/>
+		
+	</target>	
+	
+	<target name=":jar" depends="validate, compile,prepare-package" description="package project as a JAR"
+			phase="package" unless="skip.jar.package">
+		<mkdir dir="${target.artifacts}" />
+		<jar destfile="${target.main.artifact}" manifest="${manifest.file}" 
+			basedir="${target.main.classes}" includes="${package.jar.includes.pattern}"
+			excludes="${package.jar.excludes.pattern}">
+			<metainf refid="package.metainf.fileset"/>
+		</jar>
+	</target>	
+
+	<target name="doit" depends=":jar" />
+</project>

Propchange: incubator/easyant/plugins/trunk/package-jar/src/main/resources/package-jar.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/package-jar/src/main/resources/package-jar.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/package-jar/src/main/resources/package-jar.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/package-test-jar/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/package-test-jar/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/package-test-jar/module.ivy (added)
+++ incubator/easyant/plugins/trunk/package-test-jar/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,51 @@
+<!--
+	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.plugins" module="package-test-jar" revision="0.1">
+	       <description>
+	       		<p>This module provides jar packaging feature for tests.</p>
+	       		<p>
+	       			You can bind targets of this plugin to package phase by using bindtarget element in your module.ivy file.
+	       			Example : 
+	       			<code type="xml">
+	       				<plugin name="package-test-jar" rev="0.1" as="test-jar"/>
+		       			<bindtarget target="test-jar:jar" tophase="package"/>
+		       		</code>
+		       		Or as a nested element of the plugin
+		       		<code type="xml">
+	       				<plugin name="package-test-jar" rev="0.1" as="test-jar">
+	       					<!-- here, the target prefix is not mandatory as easyant can determine it from plugin element -->
+	       					<bindtarget target=":jar" tophase="package"/>
+	       				</plugin>
+		       		</code>
+		       		
+	       		</p>
+	       		 
+	       </description>
+	       <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
+        </info>
+        <configurations>
+                <conf name="default" description="runtime dependencies artifact can be used with this conf"/>
+                <conf name="test" 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" 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 type="ant"/>
+	</publications>
+</ivy-module>

Propchange: incubator/easyant/plugins/trunk/package-test-jar/module.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/package-test-jar/module.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/package-test-jar/module.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/package-test-jar/src/main/resources/package-test-jar.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/package-test-jar/src/main/resources/package-test-jar.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/package-test-jar/src/main/resources/package-test-jar.ant (added)
+++ incubator/easyant/plugins/trunk/package-test-jar/src/main/resources/package-test-jar.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,78 @@
+<!--
+	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.
+-->
+<project name="org.apache.easyant.plugins#package-test-jar"
+	xmlns:ea="antlib:org.apache.easyant">
+			
+	<ea:core-version requiredrevision="[0.8,+]" />
+	
+	<target name=":init" phase="validate">
+		<ea:parameter phase="validate" />
+		<ea:parameter phase="compile" />
+		<ea:parameter phase="package" />
+		
+		<ea:parameter property="target.artifacts.test.jar.name" required="true"
+		    description="test artifact file name" />
+
+		<ea:parameter property="target.artifacts" required="true" description="destination directory for target artifacts"/>
+		
+		<ea:parameter property="test.jar.file" required="false" description="the location of the test jar file" 
+			default="${target.artifacts}/${target.artifacts.test.jar.name}"/>
+
+		<ea:parameter property="target.test.classes" required="true" 
+			description="directory where compiled classes that should be packaged are" />
+		
+		<ea:parameter property="manifest.file" required="true"
+			description="the file used to generate manifest" />
+
+		<ea:parameter property="test.jar.includes.pattern" default="**/*" 
+			description="Pattern describing files included in the test jar" />
+		<ea:parameter property="test.jar.excludes.pattern" default="" 
+			description="Pattern describing files excluded in the test jar" />
+
+		<ea:parameter property="package.metainf.basedir" default="${basedir}" 
+				description="basedir of the metainf fileset"/>
+		<ea:parameter property="package.metainf.includes.pattern" default="NOTICE,LICENSE" 
+				description="Pattern describing files included in the META-INF of the package"/>
+		<ea:parameter property="package.metainf.excludes.pattern" default="" 
+				description="Pattern describing files excluded in the META-INF of the package"/>
+
+		<fileset id="package.metainf.fileset" dir="${package.metainf.basedir}" includes="${package.metainf.includes.pattern}" excludes="${package.metainf.excludes.pattern}"/>
+
+		<condition property="has.src.test">
+			<or>
+				<available file="${src.test.java}" />
+				<available file="${src.test.resources}" />
+			</or>
+		</condition>
+		
+	</target>	
+	
+	<target name=":jar" depends="validate, test-compile" description="package test classes as a JAR" 
+			phase="package" if="has.src.test" unless="skip.test.package">
+		<mkdir dir="${target.artifacts}" />
+		<jar destfile="${test.jar.file}" manifest="${manifest.file}" 
+			basedir="${target.test.classes}" includes="${test.jar.includes.pattern}"
+			excludes="${test.jar.excludes.pattern}">
+			<metainf refid="package.metainf.fileset"/>
+		</jar>
+		<ea:registerartifact ext="jar" type="test-jar" classifier="test" settingsRef="${project.ivy.instance}"/>
+	</target>
+
+	<target name="doit" depends=":jar" />
+</project>

Propchange: incubator/easyant/plugins/trunk/package-test-jar/src/main/resources/package-test-jar.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/package-test-jar/src/main/resources/package-test-jar.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/package-test-jar/src/main/resources/package-test-jar.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/package-war/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/package-war/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/package-war/module.ivy (added)
+++ incubator/easyant/plugins/trunk/package-war/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,32 @@
+<!--
+	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.plugins" module="package-war" revision="0.1">
+	       <description>This module provides war packaging feature. </description>
+	       <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
+        </info>
+        <configurations>
+                <conf name="default" description="runtime dependencies artifact can be used with this conf"/>
+                <conf name="test" 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" 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 type="ant"/>
+	</publications>
+</ivy-module>

Propchange: incubator/easyant/plugins/trunk/package-war/module.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/package-war/module.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/package-war/module.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/package-war/src/main/resources/package-war.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/package-war/src/main/resources/package-war.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/package-war/src/main/resources/package-war.ant (added)
+++ incubator/easyant/plugins/trunk/package-war/src/main/resources/package-war.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,100 @@
+<!--
+	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.
+-->
+<project name="org.apache.easyant.plugins#package-war"
+	xmlns:ea="antlib:org.apache.easyant">
+	
+	<ea:core-version requiredrevision="[0.8,+]" />
+			
+	<target name=":init" phase="validate">
+		<ea:parameter phase="validate" />
+		<ea:parameter phase="compile" />
+		<ea:parameter phase="package" />
+		
+		<ea:parameter property="target.artifacts.main.war.name" required="true"
+		    description="main artifact file name" />
+		<ea:parameter property="target.artifacts" required="true" description="destination directory for target artifacts"/>
+
+
+		<ea:parameter property="target.main.classes" required="true" 
+			description="directory where compiled classes that should be packaged are" />
+		
+		<ea:parameter property="manifest.file" required="true"
+			description="the file used to generate manifest" />
+		
+		<ea:parameter property="package.war.includes.pattern" default="**/*" 
+			description="Pattern describing files included in the output war" />
+		<ea:parameter property="package.war.excludes.pattern" default="" 
+			description="Pattern describing files excluded in the output war" />
+		
+		<ea:parameter property="package.war.needxmlfile" default="false"
+			description="Flag to indicate whether or not the web.xml file is needed. Iit should be set to false when generating servlet 2.5+ WAR files without a web.xml file."/>
+		
+		<ea:parameter property="src.main.webapp" required="true"
+			description="directory where web resources files are stored (like pages, images, etc...)"/>
+	
+		<ea:parameter property="package.war.webxml.file" required="${package.war.needxmlfile}" 
+			description="The servlet configuration descriptor to use (WEB-INF/web.xml)."/>
+		
+		<ea:parameter property="package.metainf.basedir" default="${basedir}" 
+				description="basedir of the metainf fileset"/>
+		<ea:parameter property="package.metainf.includes.pattern" default="NOTICE,LICENSE" 
+				description="Pattern describing files included in the META-INF of the package"/>
+		<ea:parameter property="package.metainf.excludes.pattern" default="" 
+				description="Pattern describing files excluded in the META-INF of the package"/>
+	
+		<ea:parameter property="target.webinf.lib.dir" default="${target}/war/WEB-INF/lib" 
+				description="temp directory used to store artifacts that will be included in the WEB-INF lib directory"/>
+		<ea:parameter property="target.main.artifact" required="false" description="the location of the main artifact" 
+			default="${target.artifacts}/${target.artifacts.main.war.name}"/>
+
+		<fileset id="package.metainf.fileset" dir="${package.metainf.basedir}" includes="${package.metainf.includes.pattern}" excludes="${package.metainf.excludes.pattern}"/>
+
+		<mkdir dir="${target.artifacts}" />
+		
+	</target>
+	
+	<target name="-prepare-war" depends="validate" phase="prepare-package">
+		<!-- copy cache main classpath to a temp directory and build the corresponding fileset -->
+		<mkdir dir="${target.webinf.lib.dir}"/>
+		<copy todir="${target.webinf.lib.dir}" flatten="true">
+			<path refid="cache.main.classpath"/>
+		</copy>
+		<fileset id="webinf.lib.fileset" dir="${target.webinf.lib.dir}"/>
+	</target>
+	
+	<target name=":war" depends="validate, compile, prepare-package" description="package project as a WAR"
+			phase="package">
+		<ea:parameter phase="package" />
+
+		<war destfile="${target.main.artifact}"
+				manifest="${manifest.file}"
+				needxmlfile="false"
+				includes="${package.war.includes.pattern}"
+				excludes="${package.war.excludes.pattern}">
+			<fileset dir="${src.main.webapp}" includes="**/*" erroronmissingdir="false"/>
+			<lib refid="webinf.lib.fileset" erroronmissingdir="false"/>
+			<classes dir="${target.main.classes}" includes="**/*" erroronmissingdir="false"/> 
+			<metainf refid="package.metainf.fileset"/>
+		</war>
+		<ea:registerartifact type="war" settingsRef="${project.ivy.instance}"/>		
+
+	</target>	
+
+	<target name="doit" depends=":war" />
+</project>

Propchange: incubator/easyant/plugins/trunk/package-war/src/main/resources/package-war.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/package-war/src/main/resources/package-war.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/package-war/src/main/resources/package-war.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/phases-std/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/phases-std/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/phases-std/module.ivy (added)
+++ incubator/easyant/plugins/trunk/phases-std/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,32 @@
+<!--
+	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.plugins" module="phases-std" revision="0.2">
+	       <description>Describes the standard phases of a build. These phase are directly inspired by maven 2 standard phases.</description>
+	       <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
+        </info>
+        <configurations>
+                <conf name="default" description="runtime dependencies artifact can be used with this conf"/>
+                <conf name="test" 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" 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 type="ant"/>
+	</publications>
+</ivy-module>

Propchange: incubator/easyant/plugins/trunk/phases-std/module.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/phases-std/module.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/phases-std/module.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/phases-std/src/main/resources/phases-std.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/phases-std/src/main/resources/phases-std.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/phases-std/src/main/resources/phases-std.ant (added)
+++ incubator/easyant/plugins/trunk/phases-std/src/main/resources/phases-std.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,118 @@
+<!--
+	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.
+-->
+<project name="org.apache.easyant.plugins#phases-std" xmlns:ea="antlib:org.apache.easyant">	
+	
+	<ea:core-version requiredrevision="[0.8,+]" />
+	
+	<phase name="clean"
+			description="delete any artifacts from previous builds"/>
+	
+	<phase name="validate" 
+			description="validate the project is correct and all necessary information is available" />
+	
+	<phase name="provision" depends="validate"
+			description="supply provision required by this project" />
+	
+	<phase name="generate-sources" depends="validate"
+			description="generate any source code for inclusion in compilation" />
+	
+	<phase name="process-sources" depends="generate-sources"
+			description="process the source code, for example to filter any values" />
+	
+	<phase name="generate-resources" depends="validate"
+			description="generate resources for inclusion in the package" />
+	
+	<phase name="process-resources" depends="generate-resources"
+			description="copy and process the resources into the destination directory, ready for packaging" />
+	
+	<phase name="compile" depends="provision, process-sources"
+			description="compile the source code of the project" />
+	
+	<phase name="process-classes" depends="compile"
+			description="post-process the generated files from compilation, for example to do bytecode enhancement on Java classes" />
+	
+	<phase name="test-provision" depends="validate"
+			description="supply provision required to test this project" />
+	
+	<phase name="test-generate-sources" depends="validate"
+			description="generate any test source code for inclusion in compilation" />
+	
+	<phase name="test-process-sources" depends="test-generate-sources"
+			description="process the test source code, for example to filter any values" />
+	
+	<phase name="test-generate-resources" depends="validate"
+			description="create resources for testing" />
+	
+	<phase name="test-process-resources" depends="test-generate-resources"
+			description="copy and process the resources into the test destination directory" />
+	
+	<phase name="test-compile" depends="process-classes, test-provision, test-process-sources"
+			description="compile the test source code into the test destination directory" />
+	
+	<phase name="test" depends="test-compile, process-resources, test-process-resources" 
+			description="run tests using a suitable unit testing framework. These tests should not require the code be packaged or deployed" />
+	
+	<phase name="prepare-package" depends="process-classes, process-resources" 
+			description="perform any operations necessary to prepare a package before the actual packaging. This often results in an unpacked, processed version of the package" />
+	
+	<phase name="package" depends="prepare-package" 
+			description="take the compiled code and package it in its distributable format, such as a JAR." />
+	
+	<phase name="pre-integration-test" depends="package" 
+			description="perform actions required before integration tests are executed. This may involve things such as setting up the required environment" />
+	
+	<phase name="integration-test" depends="pre-integration-test" 
+			description="process and deploy the package if necessary into an environment where integration tests can be run" />
+
+	<phase name="post-integration-test" depends="integration-test" 
+			description="perform actions required after integration tests have been executed. This may including cleaning up the environment" />
+	
+	<phase name="verify" depends="test, post-integration-test" 
+			description="run any checks to verify the package is valid and meets quality criteria" />
+	
+	<phase name="generate-local-version" depends="validate"
+			description="generate a local version number"/>
+	
+	<phase name="generate-shared-version" depends="validate"
+			description="generate a version number for shared publication"/>
+	
+	<phase name="generate-release-version" depends="validate"
+			description="generate a version number for a release"/>
+	
+	<phase name="prepare-publication" depends="provision"
+			description="prepare publication"/>
+	
+	<phase name="publish-local" depends="generate-local-version, prepare-publication, package" 
+			description="publish the package into the local repository, for use as a dependency in other projects locally" />
+
+	<phase name="publish-shared" depends="generate-shared-version, prepare-publication, package" 
+				description="done in an integration environment, copies the final package to the remote repository for sharing with other developers and projects" />
+	
+	<phase name="release" depends="generate-release-version, prepare-publication, verify" 
+			description="done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects" />
+
+	<phase name="report" description="generate report" />
+	
+	<!-- Documentation related phases -->
+	<phase name="process-documentation-resources" 
+			description="copy and process the documentation resources into the destination directory"/>
+	
+	<phase name="documentation" depends="process-documentation-resources" 
+			description="generate documentation" />
+</project>

Propchange: incubator/easyant/plugins/trunk/phases-std/src/main/resources/phases-std.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/phases-std/src/main/resources/phases-std.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/phases-std/src/main/resources/phases-std.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/rat/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/rat/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/rat/module.ivy (added)
+++ incubator/easyant/plugins/trunk/rat/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,19 @@
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+	<info organisation="org.apache.easyant.plugins" module="rat" 
+			status="integration" revision="0.1">
+		<ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
+		<ea:property name="retrieve.dependencies" value="true"/>
+	</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="rat" type="ant"/>
+        </publications>
+
+	<dependencies>
+		<dependency org="org.apache.rat" name="apache-rat-tasks" rev="0.7" conf="default->default" />
+	</dependencies>
+</ivy-module>

Propchange: incubator/easyant/plugins/trunk/rat/module.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/rat/module.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/rat/module.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/rat/src/main/resources/rat.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/rat/src/main/resources/rat.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/rat/src/main/resources/rat.ant (added)
+++ incubator/easyant/plugins/trunk/rat/src/main/resources/rat.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,44 @@
+<project name="org.apache.easyant.plugins;rat" 
+		xmlns:ivy="antlib:org.apache.ivy.ant" 
+     	xmlns:ea="antlib:org.apache.easyant">
+     	
+	<!--
+		<ea:core-version requiredrevision="[0.7,+]" />
+	-->
+	
+	<target name=":init" phase="validate">
+		<typedef resource="org/apache/rat/anttasks/antlib.xml"
+	             uri="antlib:org.apache.rat.anttasks"
+	    	     classpathref="org.apache.easyant.plugins#rat.classpath" />
+		<ea:parameter property="rat.report.dir" description="directory where rat report will be generated" default="${target.report}/rat"/>
+		<ea:parameter property="rat.failOnError" description="specify if rat report should fail build if unknown licenses are found" default="true"/> 
+		<fileset id="rat.fileset" dir="${basedir}">
+			<exclude name=".classpath" />
+			<exclude name=".project" />
+			<exclude name="target/**" />
+			<exclude name="**/*.sha1" />
+			<exclude name="**/*.md5" />
+		</fileset>
+	
+	</target>
+	
+	<target name=":rat" description="generate rat report" depends=":init" phase="report">
+		<mkdir dir="${rat.report.dir}"/>
+		<echo>Generating rat report ...</echo>
+		<property name="rat.report" value="${rat.report.dir}/rat-report.txt"/>
+	
+		<rat:report xmlns:rat="antlib:org.apache.rat.anttasks" reportFile="${rat.report}">
+		    <fileset refid="rat.fileset"/>
+		</rat:report>
+		
+		<fail message="Some files have missing or incorrect license information. Check RAT report in ${rat.report} for more details!">
+		    <condition>
+			<and>
+			    <not><resourcecontains resource="${rat.report}" substring="0 Unknown Licenses" casesensitive="false" /></not>
+			    <equals arg1="${rat.failOnError}" arg2="true"/>
+			</and>
+		    </condition>
+		</fail>
+	</target>
+
+</project>

Propchange: incubator/easyant/plugins/trunk/rat/src/main/resources/rat.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/rat/src/main/resources/rat.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/rat/src/main/resources/rat.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/rat/src/test/antunit/rat-test.xml
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/rat/src/test/antunit/rat-test.xml?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/rat/src/test/antunit/rat-test.xml (added)
+++ incubator/easyant/plugins/trunk/rat/src/test/antunit/rat-test.xml Thu Feb 17 17:01:07 2011
@@ -0,0 +1,48 @@
+<!--
+	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="org.apache.easyant.plugins;rat-test" xmlns:au="antlib:org.apache.ant.antunit" xmlns:ivy="antlib:org.apache.ivy.ant">
+	
+	<!-- Mocking required phase --> 
+	<phase name="validate"/>
+	<phase name="report" depends="validate"/>
+	<path id="org.apache.easyant.plugins#rat.classpath">
+		<fileset dir="../../../lib/main"/>
+	</path>
+	<property name="target.report" value="${basedir}/target/report"/>
+		
+	<!-- Import your plugin -->	
+	<import file="../../main/resources/rat.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"/>
+	
+	<target name="testRat">
+		<antcall target=":rat" />
+		<au:assertLogContains text="Generating rat report ..."/>
+	</target>
+
+</project>

Propchange: incubator/easyant/plugins/trunk/rat/src/test/antunit/rat-test.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/rat/src/test/antunit/rat-test.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/rat/src/test/antunit/rat-test.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/resources-std/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/resources-std/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/resources-std/module.ivy (added)
+++ incubator/easyant/plugins/trunk/resources-std/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,32 @@
+<!--
+	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.plugins" module="resources-std" revision="0.1">
+	       <description>This module provides basic resources management, a la maven.</description>
+	       <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
+        </info>
+        <configurations>
+                <conf name="default" description="runtime dependencies artifact can be used with this conf"/>
+                <conf name="test" 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" 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 type="ant"/>
+	</publications>
+</ivy-module>

Propchange: incubator/easyant/plugins/trunk/resources-std/module.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/resources-std/module.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/resources-std/module.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/resources-std/src/main/resources/resources-std.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/resources-std/src/main/resources/resources-std.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/resources-std/src/main/resources/resources-std.ant (added)
+++ incubator/easyant/plugins/trunk/resources-std/src/main/resources/resources-std.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,102 @@
+<!--
+	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.
+-->
+<project name="org.apache.easyant.plugins#resources-std"
+	xmlns:ea="antlib:org.apache.easyant">
+	
+	<ea:core-version requiredrevision="[0.8,+]" />
+	
+	<target name=":init" phase="validate">
+		<ea:parameter phase="validate" />
+		<ea:parameter phase="process-resources" />
+		<ea:parameter phase="test-process-resources" />
+		
+		<ea:parameter property="src.main.resources" default="${basedir}/src/main/resources"
+				description="directory where main resources files are stored" />
+        <ea:parameter property="src.test.resources" default="${basedir}/src/test/resources"
+            description="directory with unit test resource files (configuration files, data files, etc)" />
+        <ea:parameter property="src.test.integration.resources" default="${basedir}/src/integration-test/resources"
+                description="directory for integration test resources (configuration files, data files, etc)"/>
+
+		<ea:parameter property="target.main.classes" required="true" 
+				description="destination directory where main resources should be put" />
+		<ea:parameter property="target.test.classes" required="true" 
+				description="destination directory where test resources should be put" />
+	
+		<ea:parameter property="target.test.integration.classes" default="${basedir}/target/integration-test/classes"
+				description="destination directory where integration test resources should be put" />
+		
+		
+		<ea:parameter property="resources.std.includes.pattern" default="**/*" 
+				description="Pattern describing files included in compilation process" />
+		<ea:parameter property="resources.std.excludes.pattern" default="" 
+				description="Pattern describing files excluded in compilation process" />
+		<ea:parameter property="resources.std.include.emptydir" default="true"
+				description="Specify if empty directory should be copied as resources"/>
+		
+		<ea:parameter property="resources.std.test.includes.pattern" default="**/*" 
+				description="Pattern describing files included in test compilation process" />
+		<ea:parameter property="resources.std.test.excludes.pattern" default="" 
+				description="Pattern describing files excluded in test compilation process" />
+	
+		<ea:parameter property="resources.std.test.integration.includes.pattern" default="**/*" 
+				description="Pattern describing files included in integration test compilation process" />
+		<ea:parameter property="resources.std.test.integration.excludes.pattern" default="" 
+				description="Pattern describing files excluded in integration test compilation process" />
+		
+		<filterset id="src.main.resources.filter"/>
+		<filterset id="src.test.resources.filter"/>
+		<filterset id="src.test.integration.resources.filter"/>
+	</target>
+
+    <target name="-check-resources">
+        <available file="${src.main.resources}" property="has.src.main.resources" />
+        <available file="${src.test.resources}" property="has.src.test.resources" />
+        <available file="${src.test.integration.resources}" property="has.src.test.integration.resources" />
+    </target>
+	
+	<target name=":copy-resources" depends="validate,-check-resources" if="has.src.main.resources"
+		phase="process-resources">
+		<mkdir dir="${target.main.classes}" />
+        <copy todir="${target.main.classes}" includeEmptyDirs="${resources.std.include.emptydir}">
+            <fileset dir="${src.main.resources}" includes="${resources.std.includes.pattern}" excludes="${resources.std.excludes.pattern}"/>
+        	<filterset refid="src.main.resources.filter"/>
+        </copy>
+	</target>	
+	
+	<target name=":copy-test-resources" depends="validate,-check-resources" if="has.src.test.resources"
+		phase="test-process-resources">
+		<mkdir dir="${target.test.classes}" />
+        <copy todir="${target.test.classes}" includeEmptyDirs="${resources.std.include.emptydir}">
+            <fileset dir="${src.test.resources}" includes="${resources.std.test.includes.pattern}" excludes="${resources.std.test.excludes.pattern}"/>
+        	<filterset refid="src.test.resources.filter"/>
+        </copy>
+	</target>
+	
+	<target name=":copy-test-integration-resources" depends="validate,-check-resources" if="has.src.test.integration.resources"
+		phase="test-process-resources">
+		<mkdir dir="${target.test.integration.classes}" />
+        <copy todir="${target.test.integration.classes}" includeEmptyDirs="${resources.std.include.emptydir}">
+            <fileset dir="${src.test.integration.resources}" includes="${resources.std.test.integration.includes.pattern}" excludes="${resources.std.test.integration.excludes.pattern}"/>
+        	<filterset refid="src.test.integration.resources.filter"/>
+        </copy>
+	</target>	
+
+	
+	<target name="doit" depends=":copy-resources, :copy-test-resources, :copy-test-integration-resources" />
+</project>

Propchange: incubator/easyant/plugins/trunk/resources-std/src/main/resources/resources-std.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/resources-std/src/main/resources/resources-std.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/resources-std/src/main/resources/resources-std.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/run-java/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/run-java/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/run-java/module.ivy (added)
+++ incubator/easyant/plugins/trunk/run-java/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,32 @@
+<!--
+	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.plugins" module="run-java" revision="0.1">
+	       <description>This module provides java bytecode execution feature.</description>
+	       <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
+        </info>
+        <configurations>
+                <conf name="default" description="runtime dependencies artifact can be used with this conf"/>
+                <conf name="test" 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" 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 type="ant"/>
+	</publications>
+</ivy-module>

Propchange: incubator/easyant/plugins/trunk/run-java/module.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/run-java/module.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/run-java/module.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/run-java/src/main/resources/run-java.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/run-java/src/main/resources/run-java.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/run-java/src/main/resources/run-java.ant (added)
+++ incubator/easyant/plugins/trunk/run-java/src/main/resources/run-java.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,53 @@
+<!--
+	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.
+-->
+<project name="org.apache.easyant.plugins#run-java" xmlns:ea="antlib:org.apache.easyant">
+
+	<ea:core-version requiredrevision="[0.8,+]" />
+
+	<target name=":init" phase="validate">
+		<ea:parameter phase="validate" />
+		<ea:parameter phase="compile" />
+
+		<ea:parameter property="target.main.classes" required="true" description="directory where main compiled classes are" />
+
+		<ea:parameter property="project.main.classname" description="Used to define the project main class. The mainclass will then be used by many plugins (manifest, run-java, etc...)" />
+		<ea:parameter property="run.main.classname" required="true" default="${project.main.classname}">
+Name of the main class to run.
+By default this property take the same value as 'project.main.classname'  property.
+If you are looking for a way to reference your mainclass one time for all plugins you should set project.main.classname instead.
+		</ea:parameter>
+
+		<ea:parameter path="compile.main.classpath" required="true" description="path used to compile main sources" />
+
+		<path id="run.main.classpath">
+			<pathelement location="${target.main.classes}" />
+			<path refid="compile.main.classpath" />
+		</path>
+
+	</target>
+
+	<target name=":run" depends="validate, compile, process-resources" description="run the application">
+		<available classname="${run.main.classname}" property="is.run.main.classname.configured" classpathref="run.main.classpath"/>
+		<fail unless="is.run.main.classname.configured" message="the 'run.main.classname' property is not properly configured. By default this property take the same value as 'project.main.classname'  property. If you're looking for a way to reference your mainclass one time for all plugins you should set project.main.classname instead."/>
+
+		<java classpathref="run.main.classpath" classname="${run.main.classname}" />
+	</target>
+
+	<target name=":doit" depends=":init, :run" />
+</project>

Propchange: incubator/easyant/plugins/trunk/run-java/src/main/resources/run-java.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/run-java/src/main/resources/run-java.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/run-java/src/main/resources/run-java.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/scaladoc/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/scaladoc/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/scaladoc/module.ivy (added)
+++ incubator/easyant/plugins/trunk/scaladoc/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,32 @@
+<!--
+	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.plugins" module="scaladoc" revision="0.1">
+	       <description>This module provides scaladoc feature.</description>
+	       <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
+        </info>
+        <configurations>
+                <conf name="default" description="runtime dependencies artifact can be used with this conf"/>
+                <conf name="test" 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" 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 type="ant"/>
+	</publications>
+</ivy-module>

Propchange: incubator/easyant/plugins/trunk/scaladoc/module.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/scaladoc/module.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/scaladoc/module.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/scaladoc/src/main/resources/scaladoc.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/scaladoc/src/main/resources/scaladoc.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/scaladoc/src/main/resources/scaladoc.ant (added)
+++ incubator/easyant/plugins/trunk/scaladoc/src/main/resources/scaladoc.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,63 @@
+<!--
+	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.
+-->
+<project name="org.apache.easyant.plugins#scaladoc"
+	xmlns:ea="antlib:org.apache.easyant">
+	
+	<ea:core-version requiredrevision="[0.8,+]" />
+	
+	<target name=":init" phase="validate">
+		<ea:parameter phase="validate" />
+		<ea:parameter phase="report" />
+		
+		<ea:parameter property="src.main.scala" required="true"
+			description="directory where sources to be compiled are" />
+		<ea:parameter property="src.test.scala" required="true"
+			description="directory where test sources to be compiled are" />
+		<ea:parameter path="compile.main.classpath" required="true" 
+			description="path used to compile main sources" />
+		<ea:parameter path="compile.test.classpath" required="true" 
+			description="path used to compile test sources" />
+		
+		<ea:parameter property="target.report" default="${target}/report" 
+			description="base directory for reports"/>
+		<ea:parameter property="target.scaladoc" default="${target.report}/javadoc" 
+			description="base directory where scaladoc will be generated" />
+				
+		<ea:parameter property="target.scaladoc.main" default="${target.scaladoc}/main" 
+			description="directory where scaladoc will be generated" />
+		<ea:parameter property="target.scaladoc.test" default="${target.scaladoc}/test" 
+			description="directory where scaladoc for tests will be generated" />
+		
+		<available file="${src.main.scala}" property="has.src.main.scala" />
+		<available file="${src.test.scala}" property="has.src.test.scala" />
+	</target>	
+
+	<target name="-main" if="has.src.main.scala">
+		<mkdir dir="${target.scaladoc.main}"/>
+		<scaladoc destdir="${target.scaladoc.main}" srcdir="${src.main.scala}" classpathref="compile.main.classpath"/>
+	</target>
+	
+	<target name="-test" if="has.src.test.scala">
+		<mkdir name="${target.scaladoc.test}"/>
+		<scaladoc destdir="${target.scaladoc.test}" srcdir="${src.test.scala}" classpathref="compile.test.classpath"/>
+	</target>
+	
+	<target name=":scaladoc" depends="validate,-main,-test" phase="report" description="generate scaladoc report for main classes and test classes"/>
+	<target name="doit" depends=":scaladoc" />
+</project>

Propchange: incubator/easyant/plugins/trunk/scaladoc/src/main/resources/scaladoc.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/scaladoc/src/main/resources/scaladoc.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/scaladoc/src/main/resources/scaladoc.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/scm-svn/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/scm-svn/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/scm-svn/module.ivy (added)
+++ incubator/easyant/plugins/trunk/scm-svn/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,35 @@
+<!--
+	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.plugins" module="scm-svn" revision="0.1">
+	       <description>This module provides svn feature.</description>
+	       <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
+        </info>
+        <configurations>
+                <conf name="default" description="runtime dependencies artifact can be used with this conf"/>
+                <conf name="test" 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" 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 type="ant"/>
+        </publications>
+        <dependencies>
+                <dependency org="svnant" name="svnant" rev="1.2.1"/>
+        </dependencies>
+</ivy-module>

Propchange: incubator/easyant/plugins/trunk/scm-svn/module.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/scm-svn/module.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/scm-svn/module.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/scm-svn/src/main/resources/scm-svn.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/scm-svn/src/main/resources/scm-svn.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/scm-svn/src/main/resources/scm-svn.ant (added)
+++ incubator/easyant/plugins/trunk/scm-svn/src/main/resources/scm-svn.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,79 @@
+<!--
+	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.
+-->
+<project name="org.apache.easyant.plugins#scm-svn" xmlns:ea="antlib:org.apache.easyant">
+	
+	<ea:core-version requiredrevision="[0.8,+]" />
+	
+    <target name=":init" phase="validate" >
+                <ea:parameter phase="validate" />
+		<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="org.apache.easyant.plugins#scm-svn.classpath" /> 
+    </target>
+
+    <target name="-config" depends=":init">
+	<ea:parameter property="scm.connection.username" description="defines the username used to connect to the SCM" default=""/>
+	<ea:parameter property="scm.connection.password" description="defines the password used to connect to the SCM" default=""/>
+	<ea:parameter property="scm.connection.baseurl" description="the base scm url of your project" required="true"/>
+	<ea:parameter property="scm.svn.javahl" description="set to 'false' to use command line interface instead of JNI JavaHL binding" default="true"/>
+	<ea:parameter property="scm.svn.svnkit" description="set to 'false' to use command line interface instead of SVNKit binding" default="false"/>
+	<ea:parameter property="scm.svn.failonerror" description="controls wheter an error stops the build or is merely reported to the screen" default="true"/>
+	<ea:parameter property="scm.svn.dateformatter" description="formatter definition used to format/parse date (e.g. when revision is specified as date)" default="MM/DD/YYYY HH:MM AM_PM"/>
+	<ea:parameter property="scm.svn.datetimezone" description="time zone used to format/parse dates (e.g. when revision is specified as date)" default="local"/>
+	<ea:parameter property="scm.working.copy" default="${basedir}" description="Define the source url (used for copy)"/>
+    </target>
+
+    <target name=":tag" description="tag the project" depends="-config">
+           <echo>creating tag on the project</echo>
+	   <ea:parameter property="scm.svn.base.tags" default="${scm.connection.baseurl}/tags" description="The url of tags base directory (used by svn protocol). It is not necessary to set it if you use the standard svn layout (branches/tags/trunk)."/>
+	   <ea:parameter property="scm.tag.name" required="true" description="name of the tag to create"/>
+	   <ea:parameter property="scm.commit.message" required="true" description="the commit message"/>
+	   <svn username="${scm.connection.username}" password="${scm.connection.password}" javahl="${scm.svn.javahl}" svnkit="${scm.svn.svnkit}" dateFormatter="${scm.svn.dateformatter}" dateTimeZone="${scm.svn.datetimezone}" failOnError="${scm.svn.failonerror}">
+		<copy srcPath="${scm.working.copy}" destUrl="${scm.svn.base.tags}/${scm.tag.name}" message="${scm.commit.message}"/>
+	   </svn>
+    </target>
+    <target name=":branch" description="branch the project" depends="-config">
+           <echo>creating branch on the project</echo>
+	   <ea:parameter property="scm.svn.base.branches" default="${scm.connection.baseurl}/branches" description="The url of tags base directory (used by svn protocol). It is not necessary to set it if you use the standard svn layout (branches/tags/trunk)."/>
+	   <ea:parameter property="scm.commit.message" required="true" description="the commit message"/>
+	   <ea:parameter property="scm.branch.name" default="${module.version.target}" description="name of the branch to create"/>
+	   <svn username="${scm.connection.username}" password="${scm.connection.password}" javahl="${scm.svn.javahl}" svnkit="${scm.svn.svnkit}" dateFormatter="${scm.svn.dateformatter}" dateTimeZone="${scm.svn.datetimezone}" failOnError="${scm.svn.failonerror}">
+		<copy srcPath="${scm.working.copy}" destUrl="${scm.svn.base.branches}/${scm.branch.name}" message="${scm.commit.message}"/>
+	   </svn>
+    </target>
+
+    <!-- release -->
+
+    <target name="-init-release">
+       <ea:parameter property="scm.tag.name" default="${version}" description="name of the tag to create"/>
+	   <ea:parameter property="scm.commit.message" default="EasyAnt: release ${version}" description="the commit message"/>
+    </target>
+
+    <target name=":release" phase="release" depends="generate-release-version,-init-release,:tag"/>
+
+    <!-- integration -->
+
+    <target name="-init-integration">
+	   <ea:parameter property="scm.tag.name" default="${version}" description="name of the tag to create"/>
+	   <ea:parameter property="scm.commit.message" default="EasyAnt: release ${version}" description="the commit message"/>
+    </target>
+
+    <target name=":integration" phase="publish-shared" depends="generate-shared-version,-init-integration,:tag"/>
+
+    <target name="doit" depends=":init" />
+
+</project>

Propchange: incubator/easyant/plugins/trunk/scm-svn/src/main/resources/scm-svn.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/scm-svn/src/main/resources/scm-svn.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/scm-svn/src/main/resources/scm-svn.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/skeleton/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/skeleton/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/skeleton/module.ivy (added)
+++ incubator/easyant/plugins/trunk/skeleton/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,33 @@
+<!--
+	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.plugins" module="skeleton" revision="0.2">
+	       <description>This modules provides targets to create or install skeleton of projects.</description>
+	       <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
+        </info>
+        <configurations>
+                <conf name="default" description="runtime dependencies artifact can be used with this conf"/>
+                <conf name="test" 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" 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 type="ant"/>
+		<artifact name="ivy.xml" type="tpl"/>
+	</publications>
+</ivy-module>

Propchange: incubator/easyant/plugins/trunk/skeleton/module.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/skeleton/module.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/skeleton/module.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/plugins/trunk/skeleton/src/main/resources/ivy.xml.tpl
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/skeleton/src/main/resources/ivy.xml.tpl?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/skeleton/src/main/resources/ivy.xml.tpl (added)
+++ incubator/easyant/plugins/trunk/skeleton/src/main/resources/ivy.xml.tpl Thu Feb 17 17:01:07 2011
@@ -0,0 +1,7 @@
+<ivy-module version="1.0">
+    <info organisation="@skeleton.organisation@" module="@skeleton.module@" revision="@skeleton.revision@"/>
+    
+    <publications>
+    	<artifact type="@skeleton.type@"/>
+    </publications>
+</ivy-module>

Added: incubator/easyant/plugins/trunk/skeleton/src/main/resources/skeleton.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/skeleton/src/main/resources/skeleton.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/skeleton/src/main/resources/skeleton.ant (added)
+++ incubator/easyant/plugins/trunk/skeleton/src/main/resources/skeleton.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,173 @@
+<!--
+    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.
+-->
+<project name="org.apache.easyant.plugins#skeleton"
+    xmlns:ac="antlib:net.sf.antcontrib"
+    xmlns:ivy="antlib:org.apache.ivy.ant"
+    xmlns:ea="antlib:org.apache.easyant">
+
+    <ea:core-version requiredrevision="[0.8,+]" />
+   
+    <dirname file="${ant.file.org.apache.easyant.plugins#skeleton}" property="ant.dir.org.apache.easyant.plugins#skeleton" />
+   
+    <target name=":init" phase="validate">
+        <ea:parameter phase="validate" />
+        <ea:parameter property="skeleton.default.basedir" default="${basedir}" description="define the root path of your skeleton project" />
+        <ea:parameter property="skeleton.default.excludes.pattern" default="target/**" description="define the default excludes pattern used to package a project skeleton" />
+        <ea:parameter property="skeleton.default.includes.pattern" default="" description="define the default excludes pattern used to package a project skeleton" />
+        <ea:parameter property="skeleton.default.type" default="zip" description="define the default type of a skeleton (jar/zip...)" />
+        <ea:parameter property="skeleton.default.to.resolver" default="easyant-shared-modules" description="the repository name where the skeleton jar will be published" />
+        <ea:parameter property="skeleton.default.revision" default="0.1" description="The default revision if the skeleton that will be published"/>
+        <ea:parameter property="skeleton.default.organisation" default="org.apache.easyant.skeletons" description="The default organisation name of skeletons"/>
+    	<ea:parameter property="project.default.organisation" default="" description="The default organisation name of generated project"/>
+       
+        <ea:parameter property="skeleton.interactive.mode" default="true" description="specify if easyant should ask questions instead of using -Dproperties" />
+               
+        <condition property="skeleton.is.interactive">
+            <istrue value="${skeleton.interactive.mode}"/>
+        </condition>
+       
+    </target>
+   
+   
+    <!-- =================================
+                      target: generate             
+                     ================================= -->
+    <target name="-generate-usage">
+        <echo level="info">This target will now create a new project from a project skeleton.</echo>
+        <echo level="info">This target can be called with -Dparameters, refer to the skeleton plugin documentation to have more informations.</echo>
+    	<ac:if>
+    		<and>
+    			<isset property="skeleton.org"/>
+    			<isset property="skeleton.module"/>
+    			<isset property="skeleton.rev"/>
+    		</and>
+    		<ac:then>
+    			<echo level="info">    Example: easyant skeleton:create -Dskeleton.org=${skeleton.org} -Dskeleton.module=${skeleton.module} -Dskeleton.rev=${skeleton.rev} -Dproject.org=org.mycompany -Dproject.module=myproject -Dproject.ref=0.1</echo>
+    		</ac:then>
+    		<ac:else>
+    			<echo level="info">    Example: easyant skeleton:create -Dskeleton.org=foo -Dskeleton.module=bar-skeleton -Dskeleton.rev=0.1 -Dproject.org=org.mycompany -Dproject.module=myproject -Dproject.ref=0.1</echo>
+    		</ac:else>
+    	</ac:if>
+    </target>
+
+    <target name="-check-generate" if="skeleton.is.interactive">
+        <input message="Organisation name of the skeleton project" addproperty="skeleton.org" defaultvalue="${skeleton.default.organisation}"/>
+        <input message="Module name of the skeleton project" addproperty="skeleton.module"/>
+        <input message="Revision number of the skeleton project" addproperty="skeleton.rev"/>
+       
+        <input message="The path where the skeleton project will be unzipped" addproperty="skeleton.target.dir" defaultvalue="${skeleton.default.basedir}"/>
+       
+        <input message="Organisation name of YOUR project" addproperty="project.org" defaultvalue="${project.default.organisation}"/>
+        <input message="Module name of YOUR project" addproperty="project.module"/>
+        <input message="Revision number of YOUR project" addproperty="project.rev" defaultvalue="0.1"/>
+    </target>
+   
+    <target name="-select" depends="validate" if="skeleton.is.interactive">
+    	<echo>Choose a skeleton in the following list:</echo>
+        <ea:searchmodule organisation="org.apache.easyant.skeletons" module="*" revision="*" propertyprefix="skeleton" settingsRef="easyant.ivy.instance"/>
+    </target>
+   
+    <target name=":select" depends="-select,:generate" description="select and create a new project from a list of all available skeletons" if="skeleton.is.interactive"/>
+
+    <target name=":generate" depends="validate,-generate-usage, -check-generate" description="generate a new project from skeleton">
+        <ea:parameter property="skeleton.org" default="${skeleton.default.organisation}" description="Organisation name of the skeleton project" />
+        <ea:parameter property="skeleton.module" required="true" description="Module name of the skeleton project" />
+        <ea:parameter property="skeleton.rev" required="true" description="Revision number of the skeleton project" />
+        <ea:parameter property="skeleton.target.dir" default="${skeleton.default.basedir}" description="The path where the skeleton project will be unzipped"/>
+        <ea:parameter property="project.org" required="true" description="Organisation name of YOUR project" />
+        <ea:parameter property="project.module" required="true" description="Module name of YOUR project" />
+        <ea:parameter property="project.rev" default="0.1" description="Revision number of YOUR project" />
+        <ea:parameter property="skeleton.postinstall.script" default="${skeleton.target.dir}/skeleton.postinstall.ant" description="An optional postinstall script"/>
+
+        <echo>Retrieving project skeleton : ${skeleton.org}#${skeleton.module};${skeleton.rev}</echo>
+        <ivy:retrieve organisation="${skeleton.org}" module="${skeleton.module}" revision="${skeleton.rev}" inline="true" pattern="${skeleton.target.dir}/[artifact].[ext]" log="quiet" settingsRef="easyant.ivy.instance"/>
+        <ivy:artifactproperty organisation="${skeleton.org}" module="${skeleton.module}" revision="${skeleton.rev}" inline="true" name="skeleton.artifact.name" value="[artifact].[ext]" settingsRef="easyant.ivy.instance"/>
+
+        <!--
+            In the case where artifacts exist but does not match with skeleton.type, ivy does throw an error.
+            So we should check it manually
+        -->
+        <property name="skeleton.download.artifact" value="${skeleton.target.dir}/${skeleton.artifact.name}"/>
+        <available file="${skeleton.download.artifact}" property="skeleton.download.artifact.exist"/>
+        <fail unless="skeleton.download.artifact.exist" message="Impossible to find the downloaded artifact!"/>
+       
+        <!-- Unzip the project skeleton -->
+        <echo>Unzipping project skeleton to ${skeleton.target.dir}</echo>
+        <unjar dest="${skeleton.target.dir}" src="${skeleton.download.artifact}">
+        	<patternset>
+        		<exclude name="META-INF/**"/>
+        	</patternset>
+    	</unjar>
+       
+        <filterset id="skeleton.create.replace.filter">
+            <filter token="project.module" value="${project.module}" />
+            <filter token="project.organisation" value="${project.org}" />
+            <filter token="project.revision" value="${project.rev}" />
+        </filterset>
+       
+        <!-- Replacing filter pattern -->
+        <echo level="info">Trying to replace property related to YOUR project in .tpl files</echo>
+        <move todir="${skeleton.target.dir}">
+            <fileset dir="${skeleton.target.dir}" includes="**/*.tpl" />
+            <filterset refid="skeleton.create.replace.filter"/>
+            <mapper type="glob" from="*.tpl" to="*" />
+        </move>
+           
+        <condition property="skeleton.postinstall.script.exists">
+            <available file="${skeleton.postinstall.script}"/>
+        </condition>
+        <ac:if>
+            <isset property="skeleton.postinstall.script.exists"/>
+            <ac:then>
+                <!-- compute absolute path for script -->
+                <property name="postinstall.script.path" location="${skeleton.postinstall.script}"/>
+
+                <!-- Run post install script (Optionnal) -->
+                <ant antfile="${postinstall.script.path}" inheritall="true" inheritrefs="true" dir="${skeleton.target.dir}"/>
+               
+                <!-- Delete skeleton post install script -->
+                <delete file="${skeleton.postinstall.script}"/>
+            </ac:then>
+        </ac:if>
+       
+        <!-- Delete the skeleton archive -->
+        <echo>Cleaning your ${skeleton.download.artifact} directory</echo>
+        <delete file="${skeleton.download.artifact}"/>
+    </target>
+	
+	<target name="-newplugin">
+		<property name="skeleton.org" value="org.apache.easyant.skeletons"/>
+		<property name="skeleton.module" value="std-ant-plugin"/>
+		<property name="skeleton.rev" value="latest.integration"/>
+		<property name="project.default.organisation" value="org.apache.easyant.plugins"/>
+	</target>
+	
+	<target name=":newplugin" depends="-newplugin,:generate" description="create a new easyant plugin"/>
+
+	<target name="-newskeleton">
+		<property name="skeleton.org" value="org.apache.easyant.skeletons"/>
+		<property name="skeleton.module" value="std-skeleton"/>
+		<property name="skeleton.rev" value="latest.integration"/>
+		<property name="project.default.organisation" value="org.apache.easyant.skeletons"/>
+	</target>
+	
+	<target name=":newskeleton" depends="-newskeleton,:generate" description="create a new skeleton"/>
+	
+    <target name="doit" depends="validate" />
+</project>

Propchange: incubator/easyant/plugins/trunk/skeleton/src/main/resources/skeleton.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/plugins/trunk/skeleton/src/main/resources/skeleton.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/plugins/trunk/skeleton/src/main/resources/skeleton.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml