incubator-easyant-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hi...@apache.org
Subject svn commit: r1071697 [38/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...
Date Thu, 17 Feb 2011 17:01:56 GMT
Added: incubator/easyant/plugins/trunk/ivy-publication/src/main/resources/ivy-publication.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/ivy-publication/src/main/resources/ivy-publication.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/ivy-publication/src/main/resources/ivy-publication.ant (added)
+++ incubator/easyant/plugins/trunk/ivy-publication/src/main/resources/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/plugins/trunk/ivy-publication/src/main/resources/ivy-publication.ant
------------------------------------------------------------------------------
    svn:eol-style = native

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

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

Added: incubator/easyant/plugins/trunk/ivy-repo-management/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/ivy-repo-management/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/ivy-repo-management/module.ivy (added)
+++ incubator/easyant/plugins/trunk/ivy-repo-management/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,54 @@
+<!--
+	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="ivy-repo-management" 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>
+	       <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/ivy-repo-management/module.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

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

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

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

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

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

Added: incubator/easyant/plugins/trunk/ivy-repo-management/src/main/resources/ivy.xml.tpl
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/ivy-repo-management/src/main/resources/ivy.xml.tpl?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/ivy-repo-management/src/main/resources/ivy.xml.tpl (added)
+++ incubator/easyant/plugins/trunk/ivy-repo-management/src/main/resources/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/plugins/trunk/ivy-utils/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/ivy-utils/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/ivy-utils/module.ivy (added)
+++ incubator/easyant/plugins/trunk/ivy-utils/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,34 @@
+<!--
+	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="ivy-utils" revision="0.1">
+	       <description>
+		       This module provides utilitaries target related to ivy (clean-cache / dependencies report)
+	       </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/ivy-utils/module.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

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

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

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

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

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

Added: incubator/easyant/plugins/trunk/javadoc/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/javadoc/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/javadoc/module.ivy (added)
+++ incubator/easyant/plugins/trunk/javadoc/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,49 @@
+<!--
+	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="javadoc" 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>
+	       <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/javadoc/module.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

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

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

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

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

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

Added: incubator/easyant/plugins/trunk/jetty-deploy/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/jetty-deploy/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/jetty-deploy/module.ivy (added)
+++ incubator/easyant/plugins/trunk/jetty-deploy/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,56 @@
+<!--
+	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="jetty-deploy" revision="0.1">
+	       <description>
+	       	A developer-convenience module for quick war-build-and-deploy with jetty (v 6.1.4). This module will 
+	       	build a webapplication (following same requirements as build-webapp-java module), launch 
+	       	jetty and deploy the built application. <br/>
+	       	The user can pass the following additional parameters for configuring the jetty run:
+	       	<ol>
+	       		<li>jetty.temp.dir: Jetty temp working directory. Defaults to: target/jetty-temp.</li>
+	       		<li>jetty.xml: Jetty Configuration XML. If unspecified, defaults to standard jetty XML 
+	       			shipped with jetty 6.1.4.</li>
+	       		<li>jetty.context: Context the webapplication should be deployed in. If unspecified,
+	       			defaults to Root (/) context.</li>
+	       	</ol><br/>
+	       	Each of these can be selectively overriden by the user. To override, in your module.ivy, include 
+	       	a property file in the module ivy description.
+	       </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="org.mortbay.jetty" name="jetty" rev="6.1.4"/>
+	        <dependency org="org.mortbay.jetty" name="jetty-util" rev="6.1.4"/>
+	        <dependency org="org.mortbay.jetty" name="jetty-plus" rev="6.1.4"/>
+	        <dependency org="org.mortbay.jetty" name="jetty-naming" rev="6.1.4"/>
+	        <dependency org="org.mortbay.jetty" name="jetty-ant" rev="6.1.4"/>
+	        <dependency org="org.mortbay.jetty" name="jsp-api-2.1" rev="6.1.4"/>
+	        <dependency org="org.mortbay.jetty" name="jsp-2.1" rev="6.1.4"/>
+	        <dependency org="org.mortbay.jetty" name="servlet-api-2.5" rev="6.1.4"/>
+	</dependencies>
+</ivy-module>

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

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

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

Added: incubator/easyant/plugins/trunk/jetty-deploy/src/main/resources/jetty-deploy.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/jetty-deploy/src/main/resources/jetty-deploy.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/jetty-deploy/src/main/resources/jetty-deploy.ant (added)
+++ incubator/easyant/plugins/trunk/jetty-deploy/src/main/resources/jetty-deploy.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,52 @@
+<!--
+	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#jetty-deploy" xmlns:ea="antlib:org.apache.easyant">
+
+	<ea:core-version requiredrevision="[0.8,+]" />
+	
+	<target name=":init" phase="validate">
+		<ea:parameter phase="validate" />
+		<ea:parameter phase="package" />
+		<ea:parameter property="jetty.temp.dir" default="${target}/jetty-temp" description="Jetty temporary directory. If unspecified, defaults to target/jetty-temp" />
+		<ea:parameter property="jetty.xml" required="false" description="Jetty configuration XML. If unspecified, defaults to jetty.xml shipped with 6.1.4 jetty." />
+		<ea:parameter property="jetty.context" default="/" description="Application context in jetty. If unspecified, defaults to root (/)." />
+
+
+		<available property="jetty.available" classname="org.mortbay.jetty.ant.JettyRunTask" classpathref="org.apache.easyant.plugins#jetty-deploy.classpath" />
+
+		<fail unless="jetty.available" message="Jetty is unavailable!" />
+
+
+		<taskdef name="jetty" classname="org.mortbay.jetty.ant.JettyRunTask" classpathref="org.apache.easyant.plugins#jetty-deploy.classpath" />
+	</target>
+
+	<!-- default way jetty will be run:
+		jetty temp directory: target/jetty-temp 
+		jetty configuration xml: jetty.xml shipped with this module (standard 6.1.4 jetty.xml shipped with jetty) 
+		webapplication context: root (/)
+	-->
+	<target name=":run" depends="package" description="run your webapp inside a jetty application server">
+		<echo message="Deploying ${module.name} on Jetty .." />
+		<jetty tempDirectory="${jetty.temp.dir}" jettyXml="${jetty.xml}">
+			<webApp name="${module.name}" warfile="${target.artifacts}/${target.artifacts.main.war.name}" contextpath="${jetty.context}" />
+		</jetty>
+	</target>
+
+	<target name="doit" depends=":run" />
+</project>

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

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

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

Added: incubator/easyant/plugins/trunk/manifest/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/manifest/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/manifest/module.ivy (added)
+++ incubator/easyant/plugins/trunk/manifest/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,34 @@
+<!--
+	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="manifest" 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>
+	       <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/manifest/module.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

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

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

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

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

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

Added: incubator/easyant/plugins/trunk/maven-publication/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/maven-publication/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/maven-publication/module.ivy (added)
+++ incubator/easyant/plugins/trunk/maven-publication/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,80 @@
+<!--
+	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="maven-publication" revision="0.1">
+		<description>
+			<p>
+				This module provides functionalities to publish a pom.xml. 
+				This is really usefull if some maven based projects wants to reuse your artifacts.
+			</p>
+			<p>
+				In some cases we may want to define a different repository url for easyant (or ivy based) artifacts (published by ivy-publication plugin), 
+				and another one for maven artifacts (published through maven-publication plugin) this can be done by setting "maven.remote.repo.url" property.
+				If this property is unset, artifacts will be republished with maven descriptor on the 
+				same repository as ivy-publication module (artifacts will be overwritten).
+			</p>
+			<p>
+				This plugin is based on <a href="http://easyant.org/projects/mavenivy-adapters">mavenivy-adapters tasks</a>.
+			</p>
+			<p>
+				It uses a TypeMapping to define the mapping between ivy world and maven world (like type, ext, mavenPackaging, mavenClassifier).
+				Example :
+				<code type="xml">
+					<typeMappings id="maven.type.mappings.ref">
+ 						<mapping type="myType" mvnPackaging="jar"/>
+ 					</typeMappings>
+				</code>
+				You can override the default typeMappings by using <a href="">AugmentTask</a> like this :
+				<code type="xml">
+					<augment id="maven.type.mappings.ref">
+ 						<mapping type="myType" mvnPackaging="jar"/>
+ 					</augment>
+				</code>
+			</p>
+			<p>
+				It also uses a ScopeMapping to define the mapping between ivy configurations and maven scopes.
+				Example :
+				<code type="xml">
+					<scopeMappings id="maven.scope.mappings.ref">
+						<mapping scope="compile" conf="myIvyConfiguration"/>
+					</scopeMappings>				
+				</code>
+				You can override the default scopeMappings by using <a href="">AugmentTask</a> like this :
+				<code type="xml">
+					<augment id="maven.scope.mappings.ref">
+						<mapping scope="compile" conf="myIvyConfiguration"/>
+					</augment>				
+				</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>
+	<dependencies>
+ 		<dependency org="org.apache.easyant.tasks" name="mavenivy-adapters" rev="0.1"/>	
+ 	</dependencies>
+</ivy-module>

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

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

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

Added: incubator/easyant/plugins/trunk/maven-publication/src/main/resources/maven-publication.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/maven-publication/src/main/resources/maven-publication.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/maven-publication/src/main/resources/maven-publication.ant (added)
+++ incubator/easyant/plugins/trunk/maven-publication/src/main/resources/maven-publication.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,82 @@
+<!--
+	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;maven-publication" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:mvn="antlib:org.apache.maven.artifact.ant" xmlns:mavenivy="antlib:org.apache.easyant.tasks.adapters" 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 phase="prepare-publication" />
+
+		<ea:parameter property="target.artifacts" default="${basedir}/target/artifacts" description="destination directory for target artifacts" />
+
+
+		<typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant" loaderref="maven-publication.loader" classpathref="org.apache.easyant.plugins#maven-publication.classpath" />
+
+		<taskdef resource="org/apache/easyant/tasks/adapters/antlib.xml" uri="antlib:org.apache.easyant.tasks.adapters" loaderref="maven-publication.loader" classpathref="org.apache.easyant.plugins#maven-publication.classpath" />
+		<!--Create a POM in memory referenced by "maven.instance" id -->
+		<mvn:pom id="maven.instance" />
+
+		<ea:parameter property="maven.remote.repo.url" default="" description="maven url where artifact will be published, if no one is specified the same url as ivy-publication will be used" />
+		<mvn:remoteRepository id="maven.remote.repository" url="${maven.remote.repo.url}" />
+		
+		<mavenivy:typeMappings id="maven.type.mappings.ref" useDefault="true"/>
+		<mavenivy:scopeMappings id="maven.scope.mappings.ref" useDefault="true"/>
+		
+	</target>
+
+	<target name=":make-pom" depends="provision" phase="prepare-publication">
+		<!--ask  MavenIvy Adapters to convert global information (groupId,artifactId,version, packaging) and to inject them in the POM instance referenced by "maven.instance" id -->
+		<mavenivy:infoAdapter pomRefId="maven.instance" settingsRef="${project.ivy.instance}">
+			<scopeMappings refid="maven.scope.mappings.ref"/>
+		</mavenivy:infoAdapter>
+
+		<!--ask  MavenIvy Adapters to convert dependencies and to inject them in the POM instance referenced by "maven.instance" id -->
+		<mavenivy:dependencyAdapter pomRefId="maven.instance" settingsRef="${project.ivy.instance}">
+			<typeMappings refid="maven.type.mappings.ref"/>
+		</mavenivy:dependencyAdapter>
+
+		<mkdir dir="${target.artifacts}" />
+		<!-- write the pom on the filesystem -->
+		<mvn:writepom pomRefId="maven.instance" file="${target.artifacts}/pom.xml" />
+
+		<mvn:pom id="maven.instance" file="${target.artifacts}/pom.xml" />
+		<mavenivy:registertrigger classname="org.apache.easyant.ivy.MavenPublishTrigger" event="post-publish-artifact" classpathref="org.apache.easyant.plugins#maven-publication.classpath" settingsRef="${project.ivy.instance}" />
+
+	</target>
+
+	<target name="-trigger-publish-shared" phase="generate-shared-version">
+		<augment id="maven.instance" version="${version}" />
+	</target>
+
+	<target name="-trigger-release" phase="generate-release-version">
+		<augment id="maven.instance" version="${version}" />
+	</target>
+
+	<target name=":publish-shared" phase="publish-shared">
+		<mavenivy:deploy pomRefId="maven.instance">
+			<remoteRepository refid="maven.remote.repository" />
+			<typeMappings refid="maven.type.mappings.ref"/>
+		</mavenivy:deploy>
+	</target>
+
+	<!-- define a generic default target for this plugin -->
+	<target name="doit" depends="validate" />
+</project>
\ No newline at end of file

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

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

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

Added: incubator/easyant/plugins/trunk/maven-version-strategy/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/maven-version-strategy/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/maven-version-strategy/module.ivy (added)
+++ incubator/easyant/plugins/trunk/maven-version-strategy/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="maven-version-strategy" revision="0.1">
+	       <description>This module provides the maven version strategy. A version strategy is in charge to define the version for integrations (snapshot) and releases </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/maven-version-strategy/module.ivy
------------------------------------------------------------------------------
    svn:eol-style = native

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

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

Added: incubator/easyant/plugins/trunk/maven-version-strategy/src/main/resources/maven-version-strategy.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/maven-version-strategy/src/main/resources/maven-version-strategy.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/maven-version-strategy/src/main/resources/maven-version-strategy.ant (added)
+++ incubator/easyant/plugins/trunk/maven-version-strategy/src/main/resources/maven-version-strategy.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,56 @@
+<!--
+	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#maven-version-strategy"
+	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="generate-local-version"/>
+		<ea:parameter phase="generate-shared-version"/>
+		<ea:parameter phase="generate-release-version"/>
+		<ea:parameter property="publish.overwrite" default="false"
+				description="specify if publish should overwrite existing artifacts or not"/>
+
+	</target>
+	
+	<!-- version numbers -->
+	<target name="-local" phase="generate-local-version" depends="validate">
+		<!-- override version as if it was a SNAPSHOT -->
+		<ac:var name="version" value="${ivy.revision}-SNAPSHOT" />
+		<!-- SNAPSHOT need to be overwritten -->
+		<ac:var name="publish.overwrite" value="true"/>
+	</target>
+	
+	<target name="-shared" phase="generate-shared-version" depends="validate">
+		<!-- override version as if it was a SNAPSHOT -->
+		<ac:var name="version" value="${ivy.revision}-SNAPSHOT" />
+		<!-- SNAPSHOT need to be overwritten -->
+		<ac:var name="publish.overwrite" value="true"/>
+	</target>
+
+	<target name="-release" phase="generate-release-version" depends="validate">
+		<ac:var name="version" value="${ivy.revision}" />
+	</target>
+
+	<target name="doit" depends=":init" />
+</project>

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

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

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

Added: incubator/easyant/plugins/trunk/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/module.ivy (added)
+++ incubator/easyant/plugins/trunk/module.ivy Thu Feb 17 17:01:07 2011
@@ -0,0 +1,26 @@
+<!--
+	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="plugins-orchestrator" revision="0.1" >
+	       <description>This module acts as orchestrator to build all easyant plugins.</description>
+		<ea:build module="meta-build" revision="0.2"/>
+		<!-- If we use build scoped repository easyant use it as a dictator resolver, this have side effects as we use same ivy instance to build the plugin and to resolve plugin dependencies -->
+		<ea:property name="use.build.repository" value="false"/>
+	</info>
+</ivy-module>

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

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

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

Added: incubator/easyant/plugins/trunk/osgi-bundle/module.ivy
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/osgi-bundle/module.ivy?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/osgi-bundle/module.ivy (added)
+++ incubator/easyant/plugins/trunk/osgi-bundle/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="osgi-bundle" revision="0.1">
+		<description>Provides osgi features.</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="net.luminis" name="osgi-bundle-ant" rev="0.2.0"/>
+	</dependencies>
+</ivy-module>

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

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

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

Added: incubator/easyant/plugins/trunk/osgi-bundle/src/main/resources/osgi-bundle.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/osgi-bundle/src/main/resources/osgi-bundle.ant?rev=1071697&view=auto
==============================================================================
--- incubator/easyant/plugins/trunk/osgi-bundle/src/main/resources/osgi-bundle.ant (added)
+++ incubator/easyant/plugins/trunk/osgi-bundle/src/main/resources/osgi-bundle.ant Thu Feb 17 17:01:07 2011
@@ -0,0 +1,131 @@
+<!--
+	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#osgi-bundle" xmlns:ea="antlib:org.apache.easyant">
+	
+	<ea:core-version requiredrevision="[0.8,+]" />
+
+	<target name=":init" phase="validate">
+		<ea:parameter phase="validate" />
+		<ea:parameter property="target.artifacts" required="true" description="destination directory for target artifacts"/>
+		<ea:parameter property="target.artifacts.main.bundle.name" required="true"
+				    description="main artifact file name" />
+		<ea:parameter property="target.main.artifact" required="false" description="the location of the main artifact" 
+					default="${target.artifacts}/${target.artifacts.main.bundle.name}.jar"/>
+		<taskdef name="bundle" 
+		    classname="net.luminis.build.plugin.bnd.BuildTask"
+		    classpathref="org.apache.easyant.plugins#osgi-bundle.classpath" />
+	</target>
+
+	<target name=":bundle" depends="validate, compile,prepare-package" phase="package">
+		<dirname file="${target.artifacts.main.bundle.name}" property="target.artifacts.main.bundle.dir" />
+		<mkdir dir="${target.artifacts.main.bundle.dir}"/>
+
+		<condition property="is.osgi.bundle.empty">
+			<or>
+				<isset property="osgi.export.package"/>
+				<isset property="osgi.private.package"/>
+				<isset property="osgi.include.resource"/>
+			</or>
+		</condition>
+		
+		<fail unless="is.osgi.bundle.empty">
+Missing property			
+*******************************************************************************			
+At least one of the following property must be set :
+  - osgi.export.package : The packages that will be exported by the bundle.
+  - osgi.private.package : The private packages of the generated bundle (i.e. packages that are not exported).
+  - osgi.include.resource : Resource to include in the generated bundle.
+*******************************************************************************			
+		</fail>
+	
+		<!-- Should we provide a way to fill the following properties in interractive mode? -->
+		<ea:parameter property="osgi.bundle.classpath" default="" description="The (internal) bundle classpath (corresponds to OSGi manifest header 'Bundle-Classpath')."/>
+		<ea:parameter property="osgi.bundle.copyright" default="" description="Copyright header (corresponds to OSGi manifest header 'Bundle-Copyright')."/>
+		<ea:parameter property="osgi.bundle.description" default="" description="Bundle description text (corresponds to OSGi manifest header 'Bundle-Description')."/>
+		<ea:parameter property="osgi.bundle.name" default="" description="Name of the bundle (corresponds to OSGi manifest header 'Bundle-Name')."/>
+		<ea:parameter property="osgi.bundle.native.code" default="" description="Native code specification (corresponds to OSGi manifest header 'Bundle-NativeCode'). "/>
+		<ea:parameter property="osgi.export.package" default="" description="The packages that will be exported by the bundle."/>
+		<ea:parameter property="osgi.export.service" default="" description="The OSGi R3 'Export-Service' header, deprecated for R4 "/>
+		<ea:parameter property="osgi.import.package" default="" description="The packages that will be imported by the bundle."/>
+		<ea:parameter property="osgi.dynamic.import.package" default="" description="The packages that should be dynamically import when needed."/>
+		<ea:parameter property="osgi.import.service" default="" description="The OSGi R3 'Import-Service' header, deprecated for R4."/>
+		<ea:parameter property="osgi.bundle.vendor" default="" description="Vendor name (corresponds to OSGi manifest header 'Bundle-Vendor')."/>
+		<ea:parameter property="osgi.bundle.version" default="${version}" description="Bundle version (corresponds to OSGi manifest header 'Bundle-Version')."/>
+		<ea:parameter property="osgi.bundle.doc.url" default="" description="URL pointing to documentation about the created bundle (corresponds to OSGi manifest header 'Bundle-DocURL')."/>
+		<ea:parameter property="osgi.bundle.contact.address" default="" description="Vendor's contact address (corresponds to OSGi manifest header 'Bundle-ContactAddress')."/>
+		<ea:parameter property="osgi.bundle.activator" default="" description="The bundle activator class (corresponds to OSGi manifest header 'Bundle-Activator')."/>
+		<ea:parameter property="osgi.bundle.required.execution.env" default="" description="List of execution environments (corresponds to OSGi manifest header 'Bundle-RequiredExecutionEnvironment')."/>
+		<ea:parameter property="osgi.bundle.symbolic.name" default="" description="The (unique, non-localizable) symbolic name of the bundle, based on reverse domain name convention (corresponds to OSGi manifest header 'Bundle-SymbolicName')."/>
+		<ea:parameter property="osgi.bundle.localization" default="" description="Location in the bundle where localization files can be found (corresponds to OSGi manifest header 'Bundle-Localization')."/>
+		<ea:parameter property="osgi.bundle.require.bundle" default="" description="Required exports from another bundle (corresponds to OSGi manifest header 'Require-Bundle')."/>
+		<ea:parameter property="osgi.bundle.fragment.host" default="" description="Host bundle (for fragment bundles only, corresponds to OSGi manifest header 'Fragment-Host')."/>
+		<!--
+		<ea:parameter property="osgi.bundle.manifest.version" default="" description="deprecated and ignored Bundle-ManifestVersion is always '2' (R4 bundle) "/>
+		<ea:parameter property="osgi.service.component" default="" description="??? Undocumented"/>
+		-->
+		<ea:parameter property="osgi.bundle.license" default="" description="Manifest header for bundle license."/>
+		<ea:parameter property="osgi.private.package" default="" description="The private packages of the generated bundle (i.e. packages that are not exported)."/>
+		<!--
+		<ea:parameter property="osgi.ignore.package" default="" description="??? Undocumented"/>
+		-->
+		<ea:parameter property="osgi.include.resource" default="" description="Resource to include in the generated bundle."/>
+		<ea:parameter property="osgi.include.resource.header" default="" description="Whether to include the include-resource header in the manifest."/>
+		<ea:parameter property="osgi.additional.manifest" default="${manifest.file}" description="Specify an additional manifest file"/>
+		
+		<!-- Override this path if you need to customize what will be included in the osgi-bundle
+			<bundle> ant task allow you to make bundle from another JAR, or a list of DIRECTORY.
+			This is quite strange but you can't use <fileset>.
+			If you need to make a bundle of classes you should set here a directory with <filelist>   
+		-->
+		<path id="osgi.classpath">
+			<filelist><file name="${target.main.classes}"/></filelist>
+		</path>
+		
+		<bundle outputDir="${target.artifacts}"
+			bundleClassPath="${osgi.bundle.classpath}"
+			bundleCopyright="${osgi.bundle.copyright}"
+			bundleDescription="${osgi.bundle.description}"
+			bundleName="${osgi.bundle.name}"
+			bundleNativeCode="${osgi.bundle.native.code}"
+			exportpackage="${osgi.export.package}"
+			exportService="${osgi.export.service}"
+			importPackage="${osgi.import.package}"
+			dynamicImportPackage="${osgi.dynamic.import.package}"
+			importService="${osgi.import.service}"
+			bundleVendor="${osgi.bundle.vendor}"
+			bundleVersion="${osgi.bundle.version}"
+			bundleDocUrl="${osgi.bundle.doc.url}"
+			bundleContactAddress="${osgi.bundle.contact.address}"
+			bundleActivator="${osgi.bundle.activator}"
+			bundleRequiredExecutionEnvironment="${osgi.bundle.required.execution.env}"
+			bundleSymbolicName="${osgi.bundle.symbolic.name}"
+			bundleLocalization="${osgi.bundle.localization}"
+			requireBundle="${osgi.bundle.require.bundle}"
+			fragmentHost="${osgi.bundle.fragment.host}"
+			bundleLicense="${osgi.bundle.license}"
+			privatePackage="${osgi.private.package}"
+			includeResource="${osgi.include.resource}"
+			includeIncludeResourceHeader="${osgi.include.resource.header}"
+			additionalManifest="${osgi.additional.manifest}"
+			filename="${target.artifacts.main.bundle.name}"
+			classpathRefId="osgi.classpath"/>
+	</target>
+	
+	<target name="doit" depends=":bundle" />
+</project>

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

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

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



Mime
View raw message