<?xml version="1.0"?> <project xmlns:antcontrib="antlib:net.sf.antcontrib" xmlns:artifact="antlib:org.apache.maven.artifact.ant" xmlns:ivy="antlib:org.apache.ivy.ant" name="common" basedir="../" default="init-deps"> <property name="ivy.install.version" value="2.2.0" /> <property name="ivy.jar.name" value="ivy-${ivy.install.version}.jar" /> <property name="ivy.jar.dir" value="${user.home}/.ant/lib" /> <property name="ivy.jar.file" value="${ivy.jar.dir}/${ivy.jar.name}" /> <target name="init-deps" description="Configure Ivy dependency management and load common task definitions" depends="init-taskdefs" unless="deps.initialized"> <property name="deps.initialized" value="1" /> </target> <target name="check-ivy-installed"> <available property="ivy.installed" file="${ivy.jar.file}" /> <available property="ivy.installed" classname="org.apache.ivy.ant.IvyConfigure" /> <antcall target="common.ivy-download" /> </target> <target name="ivy-download" unless="ivy.installed"> <mkdir dir="${ivy.jar.dir}" /> <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar" dest="${ivy.jar.file}" usetimestamp="true" /> </target> <target name="ivy-configure" depends="check-ivy-installed" unless="deps.initialized"> <!-- Ivy task definitions --> <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar.file}" /> <!-- Ivy settings --> <property name="ivy.settings.file" value="${project.root}/build/ivy/ivysettings.xml" /> <ivy:configure /> </target> <target name="init-taskdefs" depends="ivy-configure" unless="deps.initialized"> <echo>Loading Ant tasks</echo> <ivy:resolve log="download-only" file="${project.root}/build/ivy/ivy.xml" conf="taskdefs" /> <ivy:cachepath pathid="taskdefs.classpath" conf="taskdefs" /> <taskdef resource="emma_ant.properties" classpathref="taskdefs.classpath" /> <!-- ant contrib required for flow control (for loop, if, property override) --> <!-- Note that we have to use a namespace to avoid clash when running sub-ant. --> <taskdef uri="antlib:net.sf.antcontrib" resource="net/sf/antcontrib/antlib.xml" classpathref="taskdefs.classpath" /> <!-- ant contrib for Maven integration --> <taskdef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant" classpathref="taskdefs.classpath" /> <!-- jarjar --> <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpathref="taskdefs.classpath" /> </target> </project>