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 [31/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/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-provisioning/0.1/ivy-provisioning.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-provisioning/0.1/ivy-provisioning.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-provisioning/0.1/ivy-provisioning.ant (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-provisioning/0.1/ivy-provisioning.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,139 @@
+<!--
+	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#ivy-provisioning" 
+	xmlns:ivy="antlib:org.apache.ivy.ant" 
+	xmlns:ac="antlib:net.sf.antcontrib"
+	xmlns:ea="antlib:org.apache.easyant">
+
+	<ea:core-version requiredrevision="[0.8,+]" />
+
+	<target name=":init" phase="validate">
+		<ea:parameter phase="validate" />
+		<ea:parameter phase="provision" />
+		<ea:parameter property="lib.main" default="${basedir}/lib/main" description="directory where main libraries are picked up" />
+		<ea:parameter property="lib.test" default="${basedir}/lib/test" description="directory where test libraries are picked up" />
+		<ea:parameter property="lib.provided" default="${basedir}/lib/provided" description="directory where provided libraries are picked up" />
+		<ea:parameter property="main.confs" default="default" description="confs used for main librairies" />
+		<ea:parameter property="test.confs" default="test" description="confs used for test librairies" />
+		<ea:parameter property="provided.confs" default="provided" description="confs used for provided librairies" />
+		<ea:parameter property="project.ivy.instance" default="project.ivy.instance" description="the ivy instance name for your project" />
+		<ea:parameter property="project.ivy.file" required="true" description="the name of the file containing dependencies of your project" />
+		<ea:parameter property="retrieve.dependencies" default="false" description="defines if dependencies should be retrieve dependencies in the lib directory"/>
+	
+		<ea:parameter property="retrieve.pattern.lib.main" default="${lib.main}/[artifact]-[revision].[ext]" description="retrieve pattern for main artifacts" />
+		<ea:parameter property="retrieve.pattern.lib.test" default="${lib.test}/[artifact]-[revision].[ext]" description="retrieve pattern for test artifacts" />
+		<ea:parameter property="retrieve.pattern.lib.provided" default="${lib.provided}/[artifact]-[revision].[ext]" description="retrieve pattern for provided artifacts" />
+			
+		<ea:parameter property="sync.lib.dir" default="true" description="a boolean that define if lib dir should be synchronized or not"/>
+
+		<!-- is project ivy settings configured ? -->
+		<ea:parameter property="project.ivy.settings.file" description="the ivysettings file used by your project" />
+		<ea:parameter property="project.ivy.settings.url" description="the ivysettings url used by your project" />
+		
+		<condition property="is.project.ivy.settings.configured">
+			<isreference refid="${project.ivy.instance}"/>
+		</condition>
+		<fail unless="is.project.ivy.settings.configured" message="project ivy instance is not configured, at least one of the following property must be set : project.ivy.settings.file, project.ivy.settings.url"/>
+		<!-- define empty *.lib.fileset that will be override by configuration classpath -->
+		<fileset id="lib.main.fileset" dir="${lib.main}" erroronmissingdir="false"/>
+		<fileset id="lib.test.fileset" dir="${lib.test}" erroronmissingdir="false"/>
+		<fileset id="lib.provided.fileset" dir="${lib.provided}" erroronmissingdir="false"/>
+		
+		<path id="project.lib.main.classpath"/>
+		<path id="project.lib.test.classpath"/>
+		<path id="project.lib.provided.classpath"/>
+	</target>
+
+	<!-- ================================= 
+	          target: resolve              
+	         ================================= -->
+	<target name="-resolve" depends="validate">
+		<ivy:resolve file="${project.ivy.file}" settingsRef="${project.ivy.instance}" />
+		<condition property="project.contains.main.confs">
+			<matches string="${ivy.configurations}" pattern="${main.confs}"/>
+		</condition>
+		<condition property="project.contains.test.confs">
+			<matches string="${ivy.configurations}" pattern="${test.confs}"/>
+		</condition>
+		<condition property="project.contains.provided.confs">
+			<matches string="${ivy.configurations}" pattern="${provided.confs}"/>
+		</condition>
+	</target>
+	
+	<target name=":resolve" depends="-resolve,-resolve-main-confs,-resolve-test-confs,-resolve-provided-confs" description="resolve and retrieve dependencies with ivy" unless="skip.resolve" phase="provision"/>
+			
+			
+	<target name="-resolve-main-confs" if="project.contains.main.confs">
+		<ivy:cachepath pathid="cache.main.classpath" conf="${main.confs}" settingsRef="${project.ivy.instance}"/>
+		<ea:path pathid="compile.main.classpath" overwrite="append-if-not-exist">
+					<path refid="cache.main.classpath"/>
+		</ea:path>
+		<ac:if>
+			<istrue value="${retrieve.dependencies}"/>
+			<ac:then>
+				<mkdir dir="${lib.main}" />
+				<ivy:retrieve pattern="${retrieve.pattern.lib.main}" settingsRef="${project.ivy.instance}" conf="${main.confs}" sync="${sync.lib.dir}"/>
+				<ea:path pathid="project.lib.main.classpath" overwrite="append">
+					<fileset dir="${lib.main}" includes="*.jar" erroronmissingdir="false"/>
+				</ea:path>
+			</ac:then>
+		</ac:if>
+	</target>
+
+	<target name="-resolve-test-confs" if="project.contains.test.confs">
+		<ivy:cachepath pathid="cache.test.classpath" conf="${test.confs}" settingsRef="${project.ivy.instance}"/>
+		<ea:path pathid="compile.test.classpath" overwrite="append-if-not-exist">
+					<path refid="cache.test.classpath"/>
+		</ea:path>
+		<ac:if>
+			<istrue value="${retrieve.dependencies}"/>
+			<ac:then>
+				<mkdir dir="${lib.test}"/>
+				<!-- resolve test dependencies -->
+				<ivy:retrieve pattern="${retrieve.pattern.lib.test}" settingsRef="${project.ivy.instance}" conf="${test.confs}" sync="${sync.lib.dir}"/>
+				<ea:path pathid="project.lib.test.classpath" overwrite="append">
+                	<fileset dir="${lib.test}" includes="*.jar" erroronmissingdir="false"/>
+                </ea:path>
+			</ac:then>
+		</ac:if>
+	</target>
+	
+	<target name="-resolve-provided-confs" if="project.contains.provided.confs">
+		<ivy:cachepath pathid="cache.provided.classpath" conf="${provided.confs}" settingsRef="${project.ivy.instance}"/>
+		<ea:path pathid="compile.main.classpath" overwrite="append-if-not-exist">
+			<path refid="cache.provided.classpath"/>
+		</ea:path>
+
+
+		<ac:if>
+			<istrue value="${retrieve.dependencies}"/>
+			<ac:then>
+				<mkdir dir="${lib.provided}"/>
+				<!-- resolve provided dependencies -->
+				<ivy:retrieve pattern="${retrieve.pattern.lib.provided}" settingsRef="${project.ivy.instance}" conf="${provided.confs}" sync="${sync.lib.dir}"/>
+				<ea:path pathid="project.lib.provided.classpath" overwrite="append">
+                	<fileset dir="${lib.provided}" includes="*.jar" erroronmissingdir="false"/>
+                </ea:path>
+			</ac:then>
+		</ac:if>
+	</target>
+		
+
+
+</project>

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-provisioning/0.1/ivy-provisioning.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-provisioning/0.1/ivy-provisioning.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-provisioning/0.1/ivy-provisioning.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-provisioning/0.1/ivy-provisioning.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-provisioning/0.1/ivy-provisioning.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-provisioning/0.1/ivy-provisioning.ivy (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-provisioning/0.1/ivy-provisioning.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,28 @@
+<!--
+	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"> 
+	<info organisation="org.apache.easyant.plugins"
+	       module="ivy-provisioning"
+	       status="milestone"
+	       revision="0.1"
+	/>
+	<publications>
+		<artifact type="ant" />
+	</publications>
+</ivy-module>

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-provisioning/0.1/ivy-provisioning.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-provisioning/0.1/ivy-provisioning.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-provisioning/0.1/ivy-provisioning.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-publication/0.1/ivy-publication.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-publication/0.1/ivy-publication.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-publication/0.1/ivy-publication.ant (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-publication/0.1/ivy-publication.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,147 @@
+<!--
+	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#ivy-publication"
+	xmlns:ivy="antlib:org.apache.ivy.ant"
+	xmlns:ac="antlib:net.sf.antcontrib"
+	xmlns:ea="antlib:org.apache.easyant">
+	
+	<ea:core-version requiredrevision="[0.8,+]" />
+	
+	<target name=":init" phase="validate">
+		<ea:parameter phase="validate" />
+		<ea:parameter phase="publish-local" />
+		<ea:parameter phase="publish-shared"/>
+		<ea:parameter phase="release" />
+		<ea:parameter phase="generate-local-version"/>
+		<ea:parameter phase="generate-shared-version"/>
+		<ea:parameter phase="generate-release-version"/>
+
+		<ea:parameter property="release.resolver" default="shared" 
+				description="the name of the resolver use for release publication"/>
+		<ea:parameter property="shared.resolver" default="shared" 
+				description="the name of the shared resolver"/>
+		<ea:parameter property="local.resolver" default="local" 
+				description="the name of the local resolver"/>
+
+		<ea:parameter property="project.ivy.instance" default="project.ivy.instance" 
+				description="ivy instance name"/>
+		<ea:parameter property="project.ivy.file" required="true" 
+				description="ivy file (use to resolve dependencies for the project)"/>
+		<ea:parameter property="publish.overwrite" default="false"
+				description="specify if publish should overwrite existing artifacts or not"/>
+		
+		<ea:parameter property="ivy.haltonmissing" 
+				description="defines if ivy must halt when artifact is missing" default="true"/>
+		<!-- is project ivy settings configured ? -->
+		<ea:parameter property="project.ivy.settings.file" description="the ivysettings file used by your project" />
+		<ea:parameter property="project.ivy.settings.url" description="the ivysettings url used by your project" />
+		
+		<ea:parameter property="fail.publication.if.no.revision" default="true" description="fail build if current module has no revision in 'info' tag of the module.ivy"/>
+		<condition property="is.project.ivy.settings.configured">
+				<isreference refid="${project.ivy.instance}"/>
+		</condition>
+		<fail unless="is.project.ivy.settings.configured" message="project ivy instance is not configured, at least one of the following property must be set : project.ivy.settings.file, project.ivy.settings.url"/>
+
+	</target>
+	
+	<macrodef name="check-version-number">
+		<sequential>
+			<property name="pub.no.revision.message" value="It seems that you did not specify the revision number of your project, we strongly recommend you to set it through the 'info' tag in your module ivy before any publication"/>
+			<ac:if>
+				<contains string="${ivy.revision}" substring="working@"/>
+				<ac:then>
+					<ac:if>
+						<istrue value="${fail.publication.if.no.revision}"/>
+						<ac:then>
+							<fail message="${pub.no.revision.message}"/>
+						</ac:then>
+						<ac:else>
+							<echo message="Warning : ${pub.no.revision.message}" level="warning"/>
+						</ac:else>
+					</ac:if>
+				</ac:then>
+			</ac:if>
+		</sequential>
+	</macrodef>
+	
+	<!-- ================================= 
+          target: release              
+         ================================= -->
+	<target name=":release" phase="release" depends="generate-release-version,verify">
+		<ea:checkresolver resolver="release.resolver" settingsRef="${project.ivy.instance}" description="name of the repository used to publish releases"/>
+		<check-version-number/>
+		<ivy:publish artifactspattern="${target.artifacts}/[artifact](-[classifier]).[ext]" 
+			resolver="${release.resolver}" 
+			pubrevision="${version}" 
+			status="release" 
+			settingsRef="${project.ivy.instance}"
+			overwrite="${publish.overwrite}"
+			haltonmissing="${ivy.haltonmissing}" 
+			update="true"/>
+		<echo message="project ${module.name} released with version ${version}" />
+	</target>
+
+	<!-- ================================= 
+          target: publish-shared              
+         ================================= -->
+	<target name=":publish-shared" phase="publish-shared" depends="generate-shared-version,package">
+		<ea:checkresolver resolver="shared.resolver" settingsRef="${project.ivy.instance}" description="name of the repository used to publish shared integration versions (snapshots)"/>
+		<check-version-number/>
+		<tstamp>
+			<format property="now" pattern="yyyyMMddHHmmss" />
+		</tstamp>
+		<ivy:publish artifactspattern="${target.artifacts}/[artifact](-[classifier]).[ext]" 
+			resolver="${shared.resolver}" 
+			forcedeliver="true" 
+			pubdate="${now}" 
+			pubrevision="${version}" 
+			status="integration"
+			overwrite="${publish.overwrite}"
+			settingsRef="${project.ivy.instance}" 
+			haltonmissing="${ivy.haltonmissing}"/>
+		<echo message="project ${module.name} published with version ${version}" />
+	</target>
+
+	
+	<!-- ================================= 
+          target: publish-local              
+         ================================= -->
+	<target name=":publish-local" phase="publish-local" depends="generate-local-version,package">
+		<check-version-number/>
+		<ivy:publish artifactspattern="${target.artifacts}/[artifact](-[classifier]).[ext]" 
+			resolver="${local.resolver}" 
+			pubrevision="${version}" 
+			pubdate="${now}" 
+			status="integration" 
+			forcedeliver="true" 
+			overwrite="${publish.overwrite}"
+			settingsRef="${project.ivy.instance}" 
+			haltonmissing="${ivy.haltonmissing}"/>
+		<echo message="project ${module.name} published locally with version ${version}" />
+	</target>
+
+	<!-- ================================= 
+          target: clean-local              
+         ================================= -->
+	<target name=":clean-local" description="cleans the local repository">
+		<delete dir="${ivy.local.default.root}" />
+	</target>
+
+	<target name="doit" depends=":publish-local" />
+</project>

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-publication/0.1/ivy-publication.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-publication/0.1/ivy-publication.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-publication/0.1/ivy-publication.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-publication/0.1/ivy-publication.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-publication/0.1/ivy-publication.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-publication/0.1/ivy-publication.ivy (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-publication/0.1/ivy-publication.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,29 @@
+<!--
+	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"> 
+	<info organisation="org.apache.easyant.plugins"
+	       module="ivy-publication"
+	       status="milestone"
+	       revision="0.1">
+	       <description>This module publication features (to share projects with your team).</description>
+	</info>
+	<publications>
+		<artifact type="ant" />
+	</publications>
+</ivy-module>

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-publication/0.1/ivy-publication.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-publication/0.1/ivy-publication.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-publication/0.1/ivy-publication.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-repo-management/0.1/ivy-repo-management.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-repo-management/0.1/ivy-repo-management.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-repo-management/0.1/ivy-repo-management.ant (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-repo-management/0.1/ivy-repo-management.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,150 @@
+<!--
+	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#ivy-repo-management" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:ea="antlib:org.apache.easyant">
+
+	<ea:core-version requiredrevision="[0.8,+]" />
+	
+	<target name=":init" phase="validate">
+		<ea:parameter phase="validate" />
+		<ea:parameter property="project.ivy.instance" default="project.ivy.instance" description="the ivy instance name for your project" />
+		<ea:parameter property="default.from.resolver" default="public" description="the repository name where the artifact will be picked up" />
+		<ea:parameter property="default.to.resolver" default="local" description="the repository name where the artifact will be installed" />
+		<ea:parameter property="install.override" default="false" description="specify if the install targets should override an artifact on a repository if it already exists" />
+		<ea:parameter property="install.ivy.template" default="${org.apache.easyant.plugins#ivy-repo-management.ivy.xml.tpl.file}" description="specify a template ivy file used when you call install-artifact" />
+		<ea:parameter property="install.temp.directory" default="${target}/install" description="specify a temporary directory used to make replacement in the template ivy file" />
+		<ea:parameter property="install.status" default="integration" description="specify the status of the artifact that will be installed with the install-artifact target" />
+		<ea:parameter property="install.interactive.mode" default="true" description="specify if easyant should ask questions instead of using -Dproperties" />
+		<condition property="install.is.interactive">
+			<istrue value="${install.interactive.mode}"/>
+		</condition>
+		
+		<!-- is project ivy settings configured ? -->
+		<ea:parameter property="project.ivy.settings.file" description="the ivysettings file used by your project" />
+		<ea:parameter property="project.ivy.settings.url" description="the ivysettings url used by your project" />
+		
+		<condition property="is.project.ivy.settings.configured">
+			<isreference refid="${project.ivy.instance}"/>
+		</condition>
+		<fail unless="is.project.ivy.settings.configured" message="project ivy instance is not configured, at least one of the following property must be set : project.ivy.settings.file, project.ivy.settings.url"/>
+
+	
+	</target>
+	
+	<!--
+		This target is just here to intialize default value if install.interactive.mode is not set
+	-->
+	<target name="-check-interactive-mode" unless="install.is.interactive">
+		<property name="from.resolver" value="${default.from.resolver}"/>
+		<property name="to.resolver" value="${default.to.resolver}"/>
+	</target>
+
+	<!-- ================================= 
+		          target: copy-artifact              
+		         ================================= -->
+	<target name="-check-copy-artifact" depends="-check-interactive-mode" if="install.is.interactive">
+		<input message="Please enter the module name:" addproperty="module" />
+		<input message="Please enter the organasization name :" addproperty="org" />
+		<input message="Please enter the revision number :" addproperty="rev" />
+		<input message="Please enter the repository name where the artifact will be picked up :" addproperty="from.resolver" defaultvalue="${default.from.resolver}" />
+		<input message="Please enter the repository name where the artifact will be installed :" addproperty="to.resolver" defaultvalue="${default.to.resolver}" />
+	</target>
+	
+	<target name=":copy-artifact" depends="validate,-check-copy-artifact" description="copy an artifact from an external repository in our repository">
+		<property name="mess" value="Usage: copy-artifact{line.separator}
+				easyant copy-artifact -Dorg=myOrgName -Dmodule=myModuleName -Drev=myRevisionNumber${line.separator}
+				Exemple:${line.separator} 		
+				easyant copy-artifact -Dorg=apache -Dmodule=commons-lang -Drev=1.0${line.separator}
+				${line.separator}
+				Docs:${line.separator} 		
+				org=Organization name (cf groupId in Maven)${line.separator} 		
+				module= Module name (cf artifactId in Maven)${line.separator} 		
+				rev= Revision number${line.separator}" />
+		<fail unless="org">org property is not defined${line.separator}${mess}</fail>
+		<fail unless="module">module property is not defined${line.separator}${mess}</fail>
+		<fail unless="rev">revision property is not defined${line.separator}${mess}</fail>
+		<ea:checkresolver resolver="from.resolver" settingsRef="${project.ivy.instance}" description="the repository name where the artifact will be picked up"/>
+		<ea:checkresolver resolver="to.resolver" settingsRef="${project.ivy.instance}" description="the repository name where the artifact will be installed"/>
+		<ivy:install settingsRef="${project.ivy.instance}" organisation="${org}" module="${module}" revision="${rev}" from="${from.resolver}" to="${to.resolver}" transitive="true" overwrite="${install.override}" />
+	</target>
+
+	<!-- ================================= 
+					          target: install-artifact
+					         ================================= -->
+	<target name="-check-install-artifact" depends="-check-interactive-mode" if="install.is.interactive">
+		<input message="Please enter the module name:" addproperty="module" />
+		<input message="Please enter the organasization name :" addproperty="org" />
+		<input message="Please enter the revision number :" addproperty="rev" />
+		<input message="Please enter a path to the artifact :" addproperty="artifact" />
+		<input message="Please enter the repository name where the artifact will be installed :" addproperty="to.resolver" defaultvalue="${default.to.resolver}" />
+	</target>
+
+	<target name=":install-artifact" depends="validate,-check-install-artifact" description="install a new artifact in your repository">
+		<property name="mess" value="Usage: install-artifact${line.separator}
+							easyant install-artifact -Dorg=myOrgName -Dmodule=myModuleName -Drev=myRevisionNumber -Dartifact=myFile${line.separator}
+							Exemple:${line.separator} 		
+							easyant install-artifact -Dorg=apache -Dmodule=commons-lang -Drev=1.0 -Dartifact=commons-lang.jar${line.separator}
+							${line.separator}
+							Docs:${line.separator} 		
+							org=Organization name (cf groupId in Maven)${line.separator} 		
+							module= Module name (cf artifactId in Maven)${line.separator} 		
+							rev= Revision number${line.separator} 		
+							artifact=File to import in the repository${line.separator}
+							You can also override to.resolver property to define on which repository you will publish your file 
+						" />
+		<fail unless="org">org property is not defined${line.separator}${mess}</fail>
+		<fail unless="module">module property is not defined${line.separator}${mess}</fail>
+		<fail unless="rev">revision property is not defined${line.separator}${mess}</fail>
+
+		<fail unless="artifact">artifact property is not defined${line.separator}${mess}</fail>
+		<available file="${artifact}" property="artifact.available"/>
+		<fail unless="artifact.available">unable to find artifact at ${artifact}${line.separator}${mess}</fail>
+		<ea:checkresolver resolver="to.resolver" settingsRef="${project.ivy.instance}" description="the repository name where the artifact will be installed"/>
+		
+		<basename file="${artifact}" property="artifact.to.install.file" />
+
+		<echo message="Creating ivy temp directory in ${install.temp.directory}" />
+		<mkdir dir="${install.temp.directory}" />
+
+		<echo message="Copying ${artifact} in  the ivy temp directory" />
+		<copy file="${artifact}" tofile="${install.temp.directory}/${artifact.to.install.file}" overwrite="true" />
+
+		<echo message="Generating ivy file for ${artifact}" />
+		<filterset id="artifact.filter">
+			<filter token="organisation" value="${org}" />
+			<filter token="module" value="${module}" />
+			<filter token="revision" value="${rev}" />
+		</filterset>
+		<copy file="${install.ivy.template}" tofile="${install.temp.directory}/${artifact.to.install.file}.xml" overwrite="true">
+			<filterset refid="artifact.filter" />
+		</copy>
+
+		<echo message="Publishing artifact in ${to.resolver} repository" />
+		<ivy:publish artifactspattern="${install.temp.directory}/${artifact.to.install.file}" organisation="${org}" module="${module}" revision="${rev}" srcivypattern="${install.temp.directory}/${artifact.to.install.file}.xml" resolver="${to.resolver}" pubrevision="${rev}" status="${install.status}" settingsRef="${project.ivy.instance}" overwrite="${install.override}" />
+
+		<echo message="Cleaning ${install.temp.directory}" />
+		<delete>
+			<fileset dir="${install.temp.directory}" includes="*" />
+		</delete>
+
+		<echo message="${artifact.to.install.file} succefully installed in your ${to.resolver} repository" />
+	</target>
+
+
+	<target name="doit" depends=":init" />
+</project>

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-repo-management/0.1/ivy-repo-management.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-repo-management/0.1/ivy-repo-management.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-repo-management/0.1/ivy-repo-management.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-repo-management/0.1/ivy-repo-management.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-repo-management/0.1/ivy-repo-management.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-repo-management/0.1/ivy-repo-management.ivy (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-repo-management/0.1/ivy-repo-management.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"> 
+	<info organisation="org.apache.easyant.plugins"
+	       module="ivy-repo-management"
+	       status="milestone"
+	       revision="0.1">
+	       <description>
+	       <p>
+		       This module provides features to install artifacts on a given repository.<br/>
+		       This module can be used in interactive (ie. let easyant ask questions) or directly from the command line by settings -Dproperty.<br/>
+		       By default interactive mode is enabled.<br/>
+		       If you prefer you can directly set the property on the command line.<br/>
+		   </p>
+	       <p>
+		       Example: 
+		       <div class="code">
+		       		easyant install-ext-artifact -Dorg=myOrgName -Dmodule=myModuleName -Drev=myRevisionNumber
+		       </div>
+		       Example2:
+		       <div class="code">
+		       		easyant install-artifact -Dorg=myOrgName -Dmodule=myModuleName -Drev=myRevisionNumber -Dartifact=myFile
+		       </div>
+	       </p>
+	       <p>
+	       		If one of the property is not set, easyant will ask you the question if interactive mode is set to "true".
+	       		If you want to disable interactive mode you should set "install.interactive.mode" property to "false".
+	       </p>
+	       </description>
+	</info>
+	<publications>
+		<artifact type="ant" />
+		<artifact name="ivy.xml" type="tpl"/>
+	</publications>
+</ivy-module>

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-repo-management/0.1/ivy-repo-management.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-repo-management/0.1/ivy-repo-management.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-repo-management/0.1/ivy-repo-management.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

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

Added: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-utils/0.1/ivy-utils.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-utils/0.1/ivy-utils.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-utils/0.1/ivy-utils.ant (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-utils/0.1/ivy-utils.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,74 @@
+<!--
+	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#ivy-utils" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:ea="antlib:org.apache.easyant">
+
+	<ea:core-version requiredrevision="[0.8,+]" />
+
+	<target name=":init" phase="validate">
+		<ea:parameter phase="validate" />
+		<ea:parameter property="project.ivy.instance" default="project.ivy.instance" 
+			description="the ivy instance name for your project" />
+		<ea:parameter property="target.report.ivy" default="${target.report}/deps-report" 
+			description="the directory where ivy report will be generated" />
+
+		<!-- is project ivy settings configured ? -->
+		<ea:parameter property="project.ivy.settings.file" description="the ivysettings file used by your project" />
+		<ea:parameter property="project.ivy.settings.url" description="the ivysettings url used by your project" />
+		
+		<condition property="is.project.ivy.settings.configured">
+			<isreference refid="${project.ivy.instance}"/>
+		</condition>
+		<fail unless="is.project.ivy.settings.configured" message="project ivy instance is not configured, at least one of the following property must be set : project.ivy.settings.file, project.ivy.settings.url"/>
+
+	</target>
+
+
+	<!-- ================================= 
+	          target: clean-report              
+	     ================================= -->
+	<target name=":report" depends="provision" phase="report" description="generate dependencies report">
+		<ivy:report todir="${target.report.ivy}" settingsRef="${project.ivy.instance}" />
+	</target>
+
+	<!-- ================================= 
+          target: clean-cache              
+         ================================= -->
+	<target name=":clean-cache" depends=":init" description="clean the ivy cache used to resolve project dependencies">
+		<ivy:cleancache settingsRef="${project.ivy.instance}"/>
+	</target>
+	
+	
+	<!-- ================================= 
+	          target: clean-eacache              
+         ================================= -->
+	<target name=":clean-eacache" description="clean the ivy cache used by easyant to resolve plugins/ buildtypes">
+		<!-- clean easyant cache -->
+		<ivy:cleancache settingsRef="easyant.ivy.instance"/>
+	</target>
+
+
+	<!-- ================================= 
+          target: clean-lib              
+         ================================= -->
+	<target name=":clean-lib" description="clean the project libraries directory">
+		<delete includeemptydirs="true" dir="${lib.dir}" />
+	</target>
+
+	<target name="doit" depends=":report" />
+</project>

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-utils/0.1/ivy-utils.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-utils/0.1/ivy-utils.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-utils/0.1/ivy-utils.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-utils/0.1/ivy-utils.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-utils/0.1/ivy-utils.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-utils/0.1/ivy-utils.ivy (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-utils/0.1/ivy-utils.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,31 @@
+<!--
+	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"> 
+	<info organisation="org.apache.easyant.plugins"
+	       module="ivy-utils"
+	       status="milestone"
+	       revision="0.1">
+	       <description>
+		       This module provides utilitaries target related to ivy (clean-cache / dependencies report)
+	       </description>
+	</info>
+	<publications>
+		<artifact type="ant" />
+	</publications>
+</ivy-module>

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-utils/0.1/ivy-utils.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-utils/0.1/ivy-utils.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/ivy-utils/0.1/ivy-utils.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/javadoc/0.1/javadoc.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/javadoc/0.1/javadoc.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/javadoc/0.1/javadoc.ant (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/javadoc/0.1/javadoc.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,87 @@
+<!--
+	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#javadoc" 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.java" required="true" description="directory where sources to be compiled are" />
+		<ea:parameter property="src.test.java" 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="javadoc.file.encoding" default="UTF-8" description="encoding used for generated javadoc" />
+	
+		<ea:parameter property="target.report" default="${target}/report" description="base directory for reports"/>
+		<ea:parameter property="target.javadoc" default="${target.report}/javadoc" description="base directory where javadoc will be generated" />
+		<ea:parameter property="target.javadoc.main" default="${target.javadoc}/main" description="directory where javadoc will be generated" />
+		<ea:parameter property="target.javadoc.test" default="${target.javadoc}/test" description="directory where javadoc for tests will be generated" />
+
+		<!-- javadoc task seems to be sensible to empty directory -->
+		<!-- if src.test.java does not exit OR is an empty dir we set the empty.src.test.java.dir property that will skip the javadoc generation -->
+		<condition property="empty.src.test.java.dir">
+			<or>
+				<not>
+					<available file="${src.test.java}"/>
+				</not>
+				<length length="0" >
+					<fileset dir="${src.test.java}"/> 
+				</length>
+			</or> 
+		</condition>
+		<!-- if src.main.java does not exit OR is an empty dir we set the empty.src.main.java.dir property that will skip the javadoc generation -->
+		<condition property="empty.src.main.java.dir">
+			<or>
+				<not>
+					<available file="${src.main.java}" />
+				</not>
+				<length length="0" >
+					<fileset dir="${src.main.java}"/> 
+				</length>
+			</or>
+		</condition>
+	</target>
+
+	<target name="-main" unless="empty.src.main.java.dir">
+		<path id="java.source.path">
+			<dirset dir="${src.main.java}" />
+		</path>
+		<javadoc encoding="${javadoc.file.encoding}" docencoding="${javadoc.file.encoding}" destdir="${target.javadoc.main}" sourcepathref="java.source.path" classpathref="compile.main.classpath" />
+	</target>
+
+	<target name="-test" unless="empty.src.test.java.dir">
+		<path id="java.source.path">
+			<dirset dir="${src.test.java}" />
+		</path>
+		<javadoc encoding="${javadoc.file.encoding}" docencoding="${javadoc.file.encoding}" destdir="${target.javadoc.test}" sourcepathref="java.source.path" classpathref="compile.test.classpath" />
+	</target>
+
+	<target name=":package" depends=":javadoc" description="generate a package containing javadoc" unless="skip.javadoc.package">
+		<mkdir dir="${target.artifacts}"/>
+		<zip destfile="${target.artifacts}/${ivy.module}-javadoc.zip">
+			<fileset dir="${target.javadoc}" erroronmissingdir="false"/>
+		</zip>
+		<ea:registerartifact type="javadoc" ext="zip" classifier="javadoc" settingsRef="${project.ivy.instance}"/>
+	</target>
+
+	<target name=":javadoc" depends="validate,-main,-test" phase="report" description="generate javadoc report for main classes and test classes" />
+	<target name="doit" depends=":javadoc" />
+</project>

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/javadoc/0.1/javadoc.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/javadoc/0.1/javadoc.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/javadoc/0.1/javadoc.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/javadoc/0.1/javadoc.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/javadoc/0.1/javadoc.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/javadoc/0.1/javadoc.ivy (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/javadoc/0.1/javadoc.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,46 @@
+<!--
+	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"> 
+	<info organisation="org.apache.easyant.plugins"
+	       module="javadoc"
+	       status="milestone"
+	       revision="0.1">
+	       <description>
+	       		<p>This module provides javadoc feature.</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="javadoc" rev="0.1" as="javadoc"/>
+		       			<bindtarget target="javadoc:package" tophase="package"/>
+		       		</code>
+		       		Or as a nested element of the plugin
+		       		<code type="xml">
+	       				<plugin name="javadoc" rev="0.1" as="javadoc">
+	       					<!-- here, the target prefix is not mandatory as easyant can determine it from plugin element -->
+			       			<bindtarget target=":package" tophase="package"/>
+	       				</plugin>
+		       		</code>
+	       		</p>
+	       </description>
+	</info>
+	<publications>
+		<artifact type="ant" />
+	</publications>
+</ivy-module>

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/javadoc/0.1/javadoc.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/javadoc/0.1/javadoc.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/javadoc/0.1/javadoc.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/manifest/0.1/manifest.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/manifest/0.1/manifest.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/manifest/0.1/manifest.ant (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/manifest/0.1/manifest.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#manifest" xmlns:ea="antlib:org.apache.easyant">
+
+	<ea:core-version requiredrevision="[0.8,+]" />
+
+	<target name=":init" phase="validate">
+		<ea:parameter phase="validate" />
+		<ea:parameter phase="prepare-package" />
+
+		<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="manifest.main.classname" default="${project.main.classname}">
+	If defined, Main-Class and Class-Path attributes are added to produce an executable jar file.
+	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 property="manifest.classpath" required="false" description="If manifest.main.classname is defined, this will be used for the Class-Path attribute.  by default this will be automatically computed from the Ivy dependencies of the target artifact." />
+		<mkdir dir="${target.main.classes}/META-INF"/>
+		<ea:parameter property="manifest.file" default="${target}/MANIFEST.MF" description="the manifest-file to create/update." />
+		<ea:parameter property="version.properties.file" default="${target.main.classes}/META-INF/version.properties" description="the version.properties file to create/update." />
+
+		<!--TODO: maybe it will be more generic if we doesn't use ivy.* properties -->
+		<ea:parameter property="ivy.module" description="the name of the project, used to fill the Specification-Title and Implementation-Title in the manifest" />
+		<ea:parameter property="ivy.organisation" description="the name of the organisation that is the owner of this module, used to fill the Specification-Vendor and Implementation-Vendor in the manifest" />
+		<ea:parameter property="ivy.revision" description="the revision of the project, used to fill the Specification-Version and Implementation-Version in the manifest" />
+		<ea:parameter property="version" description="the full version of the project" />
+		<condition property="is.manifest.runnable">
+			<and>
+				<isset property="manifest.main.classname"/>
+				<not>
+				<equals arg1="${manifest.main.classname}" arg2="$${project.main.classname}"/>
+				</not>
+			</and>
+		</condition>
+	</target>
+
+	<target name="-generate-version-number" depends="validate" unless="version">
+		<tstamp>
+			<format property="now" pattern="yyyyMMddHHmmss" />
+		</tstamp>
+
+		<property name="version" value="${ivy.revision}-build-${now}" />
+	</target>
+
+	<target name=":manifest" depends="validate,-generate-version-number" phase="prepare-package" description="generate manifest file">
+		<manifest file="${manifest.file}">
+			<attribute name="Specification-Title" value="${ivy.module}" />
+			<attribute name="Specification-Version" value="${ivy.revision}" />
+			<attribute name="Specification-Vendor" value="${ivy.organisation}" />
+			<attribute name="Implementation-Title" value="${ivy.module}" />
+			<attribute name="Implementation-Version" value="${version}" />
+			<attribute name="Implementation-Vendor" value="${ivy.organisation}" />
+		</manifest>
+
+		<!--generate a version.properties file -->
+		<propertyfile file="${version.properties.file}" comment="Generated by easyant">
+			<entry key="APPLICATION-NAME" value="${ivy.module}" />
+			<entry key="SPEC-VERSION" value="${ivy.revision}" />
+			<entry key="APPLICATION_ORG" value="${ivy.organisation}" />
+			<entry key="VERSION" value="${version}" />
+			<entry key="DATE" type="date" value="now" />
+		</propertyfile>
+	</target>
+	<!-- currently this target is only available if we use retrieve.dependencies=true because manifestclasspath is excepting a relative based structure which is not really usable using the ivy cache for example -->
+	<target name=":manifest-runnable" depends=":manifest" phase="prepare-package" description="add manifest attributes required for an executable jar" if="is.manifest.runnable">
+		<condition property="is.retrieve.dependencies.enabled">
+			<istrue value="${retrieve.dependencies}"/>
+		</condition>
+		<fail unless="is.retrieve.dependencies.enabled" message="manifest runnable feature can only be used if your the property retrieve.dependencies is enabled"/>
+
+		<!-- create the target artifact dir if it does not exists -->
+		<dirname file="${target.main.artifact}" property="target.artifacts"/>
+		<mkdir dir="${target.artifacts}"/>
+		<manifestclasspath property="manifest.classpath" jarfile="${target.main.artifact}">
+			<classpath refid="project.lib.main.classpath"/>
+		</manifestclasspath>
+		<manifest file="${manifest.file}" mode="update">
+			<attribute name="Main-Class" value="${manifest.main.classname}" />
+			<attribute name="Class-Path" value="${manifest.classpath}" />
+		</manifest>
+	</target>
+
+	<target name="doit" depends=":manifest-runnable,:manifest" />
+</project>

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/manifest/0.1/manifest.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/manifest/0.1/manifest.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/manifest/0.1/manifest.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/manifest/0.1/manifest.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/manifest/0.1/manifest.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/manifest/0.1/manifest.ivy (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/manifest/0.1/manifest.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,31 @@
+<!--
+	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"> 
+	<info organisation="org.apache.easyant.plugins"
+	       module="manifest"
+	       status="milestone"
+	       revision="0.1">
+	       <description>This module provides manifest generation feature.<br/>
+This module also provide a target to make an executable jar. This features requires to have dependencies in your project directory. This can be done by setting the retrieve.dependencies to true.
+</description>
+	</info>
+	<publications>
+		<artifact type="ant" />
+	</publications>
+</ivy-module>

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/manifest/0.1/manifest.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/manifest/0.1/manifest.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/manifest/0.1/manifest.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-jar/0.1/package-jar.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-jar/0.1/package-jar.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-jar/0.1/package-jar.ant (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-jar/0.1/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/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-jar/0.1/package-jar.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-jar/0.1/package-jar.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-jar/0.1/package-jar.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-jar/0.1/package-jar.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-jar/0.1/package-jar.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-jar/0.1/package-jar.ivy (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-jar/0.1/package-jar.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,29 @@
+<!--
+	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"> 
+	<info organisation="org.apache.easyant.plugins"
+	       module="package-jar"
+	       status="milestone"
+	       revision="0.1">
+	       <description>This module provides jar packaging feature. </description>
+	</info>
+	<publications>
+		<artifact type="ant" />
+	</publications>
+</ivy-module>

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-jar/0.1/package-jar.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-jar/0.1/package-jar.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-jar/0.1/package-jar.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-test-jar/0.1/package-test-jar.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-test-jar/0.1/package-test-jar.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-test-jar/0.1/package-test-jar.ant (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-test-jar/0.1/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/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-test-jar/0.1/package-test-jar.ant
------------------------------------------------------------------------------
    svn:eol-style = native

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

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-test-jar/0.1/package-test-jar.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-test-jar/0.1/package-test-jar.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-test-jar/0.1/package-test-jar.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-test-jar/0.1/package-test-jar.ivy (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-test-jar/0.1/package-test-jar.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,48 @@
+<!--
+	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"> 
+	<info organisation="org.apache.easyant.plugins"
+	       module="package-test-jar"
+	       status="milestone"
+	       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>
+	</info>
+	<publications>
+		<artifact type="ant" />
+	</publications>
+</ivy-module>

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-test-jar/0.1/package-test-jar.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-test-jar/0.1/package-test-jar.ivy
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-test-jar/0.1/package-test-jar.ivy
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-war/0.1/package-war.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-war/0.1/package-war.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-war/0.1/package-war.ant (added)
+++ incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-war/0.1/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/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-war/0.1/package-war.ant
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-war/0.1/package-war.ant
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/core/trunk/src/main/resources/org/apache/easyant/core/repository/modules/org.apache.easyant.plugins/package-war/0.1/package-war.ant
------------------------------------------------------------------------------
    svn:mime-type = text/xml