diff ivy-ant.xml @ 4:be1051bf262f

add globally common ant scripts
author smith@nwoca.org
date Fri, 17 Dec 2010 16:55:03 -0500
parents
children 26a4d8410fdf
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ivy-ant.xml	Fri Dec 17 16:55:03 2010 -0500
@@ -0,0 +1,198 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="ivy-ant"  basedir="." xmlns:ivy="antlib:fr.jayasoft.ivy.ant" >
+
+    <dirname property="ivy.home" file="${ant.file.ivy-ant}"/>
+    <property name="ivy-ant.location" location="${ant.file.ivy-ant}"/>
+    <dirname property="ivy-ant.base" file="${ivy-ant.location}"/>
+
+    <property name="ivy.default.cache.dir"
+              value="${user.home}/.ivy2/cache"/>
+    <property name="ivy.default.ivy.user.dir"
+              value="${user.home}/.ivy2"/>
+    <property name="ivy.local.default.root"
+              value="${user.home}/.ivy2/local"/>
+
+    <target name="ivy-report" depends="init">
+        <mkdir dir="${build.dir}/ivy"/>
+        <ivy:resolve log="quiet" file="ivy.xml"/>
+        <ivy:report todir="${build.dir}/ivy" conf="*"/>
+    </target>
+
+    <target name="ivy-info" depends="init">
+        <ivy:info file="ivy.xml" property="ivy.project"/>
+        <echoproperties prefix="ivy.project"/>
+    </target>
+
+    <target name="ivy-clean" description="cleans ssdt caches and local builds" depends="init">
+        <delete failonerror="false" includeemptydirs="true">
+            <fileset dir="${user.home}/.ivy2/cache">
+                <include name="org.ssdt_ohio/**"/>
+                <include name="org.nwoca.ssdt/**"/>
+                <include name="*org*.ssdt*.*"/>
+            </fileset>
+        </delete>
+        <delete dir="${user.home}/.ivy2/ssdt-cache"  failonerror="false"/>
+        <delete dir="${user.home}/.ivy2/local" failonerror="false"/>
+    </target>
+
+    <target name="-ivy-retrieve-custom" depends="-ivy-define-classpaths,-ivy-retrieve-web-jars">
+    </target>
+
+    <target name="-ivy-copy-webjars" if="build.web.dir">
+        <ivy:resolve  log="quiet" file="ivy.xml"/>
+        <ivy:retrieve pattern="${basedir}/${build.web.dir}/WEB-INF/lib/[artifact]-[revision].[ext]" type="jar"/>
+    </target>
+
+    <target name="-ivy-retrieve-web-jars" if="build.web.dir">
+        <ivy:retrieve pattern="${basedir}/${build.web.dir}/WEB-INF/lib/[artifact]-[revision].[ext]" type="jar"/>
+    </target>
+
+    <target name="-ivy-define-classpaths">
+        <!-- Custom SSDT retrieve target to replaced IvyBean's default -ivy-retrieve.
+            Builds a separate classpath for javac, javac.test, run, run.test, etc based
+            on the ivy configurations similer to how NetBeans would build them.
+            Uses "ivy:cachepath" instead of "ivy:retrieve". Although is is contrary
+            to "best practice" it avoids transfering all jars to build directory and
+            avoids problem with 'clean'.  NetBeans and ant don't care where the files
+            are on disk and the builds are dependent on Ivy anyway. But the "runtime" jars
+            are still placed in dist/libs based on the correct run.classpath built by this
+            target.
+        -->
+        <ivy:settings  file="ivysettings.xml"/>
+        <ivy:resolve log="download-only" file="ivy.xml"/>
+
+        <ivy:cachepath pathid="ivy.javac.classpath.id" conf="compile" type="jar"/>
+        <pathconvert dirsep="/" pathsep="${path.separator}" property="ivy.javac.classpath">
+            <path refid="ivy.javac.classpath.id"/>
+            <!--map from="${basedir}${file.separator}" to=""/-->
+        </pathconvert>
+        <property name="old.javac.classpath" value="${javac.classpath}"/>
+        <var name="javac.classpath" unset="true"/>
+        <if>
+            <equals arg1="${old.javac.classpath}" arg2=""/>
+            <then>
+                <property name="javac.classpath" value="${ivy.javac.classpath}"/>
+            </then>
+            <else>
+                <property name="javac.classpath" value="${old.javac.classpath}${path.separator}${ivy.javac.classpath}"/>
+            </else>
+        </if>
+        <echo level="debug" message="$${javac.classpath} : ${javac.classpath}"/>
+
+        <ivy:cachepath pathid="ivy.javac.test.classpath.id" conf="compile,compile-test" type="jar"/>
+        <pathconvert dirsep="/" pathsep="${path.separator}" property="ivy.javac.test.classpath">
+            <path refid="ivy.javac.test.classpath.id"/>
+            <!--map from="${basedir}${file.separator}" to=""/-->
+        </pathconvert>
+        <property name="old.javac.test.classpath" value="${javac.test.classpath}"/>
+        <var name="javac.test.classpath" unset="true"/>
+        <if>
+            <equals arg1="${old.javac.test.classpath}" arg2=""/>
+            <then>
+                <property name="javac.test.classpath" value="${ivy.javac.test.classpath}"/>
+            </then>
+            <else>
+                <property name="javac.test.classpath" value="${old.javac.test.classpath}${path.separator}${ivy.javac.test.classpath}"/>
+            </else>
+        </if>
+        <echo level="debug" message="$${javac.test.classpath} : ${javac.test.classpath}"/>
+
+        <ivy:cachepath pathid="ivy.run.classpath.id" conf="compile,runtime" type="jar"/>
+        <pathconvert dirsep="/" pathsep="${path.separator}" property="ivy.run.classpath">
+            <path refid="ivy.run.classpath.id"/>
+            <!--map from="${basedir}${file.separator}" to=""/-->
+        </pathconvert>
+        <property name="old.run.classpath" value="${run.classpath}"/>
+        <var name="run.classpath" unset="true"/>
+        <if>
+            <equals arg1="${old.run.classpath}" arg2="$${run.classpath}"/>
+            <then>
+                <property name="run.classpath" value="${ivy.run.classpath}"/>
+            </then>
+            <else>
+                <property name="run.classpath" value="${old.run.classpath}${path.separator}${ivy.run.classpath}"/>
+            </else>
+        </if>
+        <echo level="debug" message="$${run.classpath} : ${run.classpath}"/>
+
+
+        <ivy:cachepath pathid="ivy.run.test.classpath.id" conf="compile,compile-test,runtime,runtime-test" type="jar"/>
+        <pathconvert dirsep="/" pathsep="${path.separator}" property="ivy.run.test.classpath">
+            <path refid="ivy.run.test.classpath.id"/>
+            <!--map from="${basedir}${file.separator}" to=""/-->
+        </pathconvert>
+
+        <property name="old.run.test.classpath" value="${run.test.classpath}"/>
+        <var name="run.test.classpath" unset="true"/>
+        <if>
+            <equals arg1="${old.run.test.classpath}" arg2="$${run.test.classpath}"/>
+            <then>
+                <property name="run.test.classpath" value="${ivy.run.test.classpath}"/>
+            </then>
+            <else>
+                <property name="run.test.classpath" value="${old.run.test.classpath}${path.separator}${ivy.run.test.classpath}"/>
+            </else>
+        </if>
+        <echo level="debug" message="$${run.test.classpath} : ${run.test.classpath}"/>
+
+        <ivy:cachepath pathid="ivy.debug.classpath.id" conf="compile,runtime" type="jar"/>
+        <pathconvert dirsep="/" pathsep="${path.separator}" property="ivy.debug.classpath">
+            <path refid="ivy.debug.classpath.id"/>
+            <!--map from="${basedir}${file.separator}" to=""/-->
+        </pathconvert>
+        <property name="old.debug.classpath" value="${debug.classpath}"/>
+        <var name="debug.classpath" unset="true"/>
+        <if>
+            <equals arg1="${old.debug.classpath}" arg2="$${debug.classpath}"/>
+            <then>
+                <property name="debug.classpath" value="${ivy.debug.classpath}"/>
+            </then>
+            <else>
+                <property name="debug.classpath" value="${old.debug.classpath}${path.separator}${ivy.debug.classpath}"/>
+            </else>
+        </if>
+        <echo level="debug" message="$${debug.classpath} : ${debug.classpath}"/>
+
+        <ivy:cachepath pathid="ivy.debug.test.classpath.id" conf="compile,compile-test,runtime,runtime-test" type="jar"/>
+        <pathconvert dirsep="/" pathsep="${path.separator}" property="ivy.debug.test.classpath">
+            <path refid="ivy.debug.test.classpath.id"/>
+            <!--map from="${basedir}${file.separator}" to=""/-->
+        </pathconvert>
+        <property name="old.debug.test.classpath" value="${debug.test.classpath}"/>
+        <var name="debug.test.classpath" unset="true"/>
+        <if>
+            <equals arg1="${old.debug.test.classpath}" arg2="$${debug.test.classpath}"/>
+            <then>
+                <property name="debug.test.classpath" value="${ivy.debug.test.classpath}"/>
+            </then>
+            <else>
+                <property name="debug.test.classpath" value="${old.debug.test.classpath}${path.separator}${ivy.debug.test.classpath}"/>
+            </else>
+        </if>
+        <echo level="debug" message="$${debug.test.classpath} : ${debug.test.classpath}"/>
+    </target>
+
+
+    <target name="-ivy-javaagent" description="Retrieves load time weaver java agent">
+        <property name="java.agent.org" value="org.springframework"/>
+        <property name="java.agent.module" value="org.springframework.instrument"/>
+        <property name="java.agent.revision" value="3.0.1.RELEASE-A"/>
+        <ivy:resolve resolveId="javaagentid"
+                     organisation="${java.agent.org}"
+                     module="${java.agent.module}"
+                     revision="${java.agent.revision}"
+                     type="jar"
+                     inline="true"
+                     keep="true"
+                     log="quiet"/>
+        <ivy:retrieve
+            resolveid="javaagentid"
+            pattern="${basedir}/${build.dir}/${lib.dir}/java-agent.[ext]"
+            type="jar"
+            log="quiet"/>
+        <property name="java.agent.jar"
+                  value="build/jar/java-agent.jar"/>
+    </target>
+
+
+</project>