Mercurial > public > develkit
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>