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