1*13e4719eSTreehugger Robot<project name="hamcrest" default="all"> 2*13e4719eSTreehugger Robot 3*13e4719eSTreehugger Robot <property name="version" value="SNAPSHOT" description="Version number to use in build files"/> 4*13e4719eSTreehugger Robot <property name="haltonfailure" value="true" description="Whether to halt the build if the tests fail"/> 5*13e4719eSTreehugger Robot <property name="debug" value="true" description="Whether to build with debug information"/> 6*13e4719eSTreehugger Robot <property name="javaversion" value="1.5" description="Java version to target"/> 7*13e4719eSTreehugger Robot <tstamp><format property="build.timestamp" pattern="yyyy-MM-dd HH:mm:ss" timezone="GMT"/></tstamp> 8*13e4719eSTreehugger Robot <taskdef name="junit" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask" classpath="lib/integration/ant-junit-1.8.4.jar"/> 9*13e4719eSTreehugger Robot 10*13e4719eSTreehugger Robot 11*13e4719eSTreehugger Robot <target name="all" depends="clean, bigjar, javadoc" description="Performs clean build, runs tests and packages for distribution"/> 12*13e4719eSTreehugger Robot 13*13e4719eSTreehugger Robot <target name="clean" description="Clean up all built files"> 14*13e4719eSTreehugger Robot <delete dir="build"/> 15*13e4719eSTreehugger Robot </target> 16*13e4719eSTreehugger Robot 17*13e4719eSTreehugger Robot <target name="api" description="Build Hamcrest APIs"> 18*13e4719eSTreehugger Robot <path id="cp-hamcrest-api-main" path=""/> 19*13e4719eSTreehugger Robot <path id="cp-hamcrest-api-test" path=""/> 20*13e4719eSTreehugger Robot <compile-module modulename="hamcrest-api"/> 21*13e4719eSTreehugger Robot <jar-module modulename="hamcrest-api"/> 22*13e4719eSTreehugger Robot <test-module modulename="hamcrest-api"/> 23*13e4719eSTreehugger Robot </target> 24*13e4719eSTreehugger Robot 25*13e4719eSTreehugger Robot <target name="generator" depends="api" description="Build code generator tool"> 26*13e4719eSTreehugger Robot <path id="cp-hamcrest-generator-main" path="lib/generator/qdox-2.0-M2.jar;build/hamcrest-api-${version}.jar"/> 27*13e4719eSTreehugger Robot <path id="cp-hamcrest-generator-test" path=""/> 28*13e4719eSTreehugger Robot <compile-module modulename="hamcrest-generator"/> 29*13e4719eSTreehugger Robot <jar-module modulename="hamcrest-generator"/> 30*13e4719eSTreehugger Robot <test-module modulename="hamcrest-generator"/> 31*13e4719eSTreehugger Robot 32*13e4719eSTreehugger Robot <!-- Include QDox classes in hamcrest-generator.jar using JarJar to place classes under a different package --> 33*13e4719eSTreehugger Robot <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="lib/generator/jarjar-1.3.jar"/> 34*13e4719eSTreehugger Robot <copy file="build/hamcrest-generator-${version}.jar" tofile="build/hamcrest-generator-${version}-nodep.jar"/> 35*13e4719eSTreehugger Robot <jarjar jarfile="build/hamcrest-generator-${version}.jar"> 36*13e4719eSTreehugger Robot <zipfileset src="build/hamcrest-generator-${version}-nodep.jar"/> 37*13e4719eSTreehugger Robot <zipfileset src="lib/generator/qdox-2.0-M2.jar"/> 38*13e4719eSTreehugger Robot <rule pattern="com.thoughtworks.qdox.**" result="org.hamcrest.generator.qdox.@1"/> 39*13e4719eSTreehugger Robot </jarjar> 40*13e4719eSTreehugger Robot </target> 41*13e4719eSTreehugger Robot 42*13e4719eSTreehugger Robot <target name="core" depends="generator" description="Build core Hamcrest library"> 43*13e4719eSTreehugger Robot <path id="cp-hamcrest-core-main" path="build/hamcrest-api-${version}.jar"/> 44*13e4719eSTreehugger Robot <path id="cp-hamcrest-core-test" path=""/> 45*13e4719eSTreehugger Robot <compile-module modulename="hamcrest-core"/> 46*13e4719eSTreehugger Robot <generate-module-factory modulename="hamcrest-core" configurationfile="hamcrest-core/core-matchers.xml" targetclass="org.hamcrest.CoreMatchers" sources="hamcrest-core/src/main/java"/> 47*13e4719eSTreehugger Robot <jar-module modulename="hamcrest-core"/> 48*13e4719eSTreehugger Robot <test-module modulename="hamcrest-core"/> 49*13e4719eSTreehugger Robot </target> 50*13e4719eSTreehugger Robot 51*13e4719eSTreehugger Robot <target name="library" depends="core" description="Build library of matchers"> 52*13e4719eSTreehugger Robot <path id="cp-hamcrest-library-main" path="build/hamcrest-api-${version}.jar;build/hamcrest-core-${version}.jar"/> 53*13e4719eSTreehugger Robot <path id="cp-hamcrest-library-test" path="build/hamcrest-core-${version}-tests.jar"/> 54*13e4719eSTreehugger Robot <compile-module modulename="hamcrest-library"/> 55*13e4719eSTreehugger Robot <generate-module-factory modulename="hamcrest-library" configurationfile="hamcrest-library/matchers.xml" targetclass="org.hamcrest.Matchers" sources="hamcrest-core/src/main/java,hamcrest-library/src/main/java"/> 56*13e4719eSTreehugger Robot <jar-module modulename="hamcrest-library"/> 57*13e4719eSTreehugger Robot <test-module modulename="hamcrest-library"/> 58*13e4719eSTreehugger Robot </target> 59*13e4719eSTreehugger Robot 60*13e4719eSTreehugger Robot <target name="integration" depends="library" description="Build integration with external tools"> 61*13e4719eSTreehugger Robot <path id="cp-hamcrest-integration-main"> 62*13e4719eSTreehugger Robot <fileset file="build/hamcrest-api-${version}.jar"/> 63*13e4719eSTreehugger Robot <fileset file="build/hamcrest-core-${version}.jar"/> 64*13e4719eSTreehugger Robot <fileset file="build/hamcrest-library-${version}.jar"/> 65*13e4719eSTreehugger Robot <fileset dir="lib/integration" includes="**/*.jar"/> 66*13e4719eSTreehugger Robot </path> 67*13e4719eSTreehugger Robot <path id="cp-hamcrest-integration-test" path="build/hamcrest-core-${version}-tests.jar"/> 68*13e4719eSTreehugger Robot <compile-module modulename="hamcrest-integration"/> 69*13e4719eSTreehugger Robot <jar-module modulename="hamcrest-integration"/> 70*13e4719eSTreehugger Robot <test-module modulename="hamcrest-integration"/> 71*13e4719eSTreehugger Robot </target> 72*13e4719eSTreehugger Robot 73*13e4719eSTreehugger Robot <target name="examples" depends="core, library, integration" description="Build and run unit tests."> 74*13e4719eSTreehugger Robot <path id="cp-hamcrest-examples-main"> 75*13e4719eSTreehugger Robot <fileset file="build/hamcrest-api-${version}.jar"/> 76*13e4719eSTreehugger Robot <fileset file="build/hamcrest-core-${version}.jar"/> 77*13e4719eSTreehugger Robot <fileset file="build/hamcrest-library-${version}.jar"/> 78*13e4719eSTreehugger Robot <fileset file="build/hamcrest-integration-${version}.jar"/> 79*13e4719eSTreehugger Robot <fileset dir="lib/integration" includes="**/*.jar"/> 80*13e4719eSTreehugger Robot </path> 81*13e4719eSTreehugger Robot <compile-module modulename="hamcrest-examples"/> 82*13e4719eSTreehugger Robot <jar-module modulename="hamcrest-examples"/> 83*13e4719eSTreehugger Robot </target> 84*13e4719eSTreehugger Robot 85*13e4719eSTreehugger Robot <target name="bigjar" depends="core,library,integration,generator" description="Build composite jars"> 86*13e4719eSTreehugger Robot <!-- Bundle api into core jar --> 87*13e4719eSTreehugger Robot <copy todir="build/temp/hamcrest-core-${version}.jar.contents"> 88*13e4719eSTreehugger Robot <fileset dir="build/temp/hamcrest-api-${version}.jar.contents"/> 89*13e4719eSTreehugger Robot </copy> 90*13e4719eSTreehugger Robot <copy todir="build/temp/hamcrest-core-${version}-sources.jar.contents"> 91*13e4719eSTreehugger Robot <fileset dir="build/temp/hamcrest-api-${version}-sources.jar.contents"/> 92*13e4719eSTreehugger Robot </copy> 93*13e4719eSTreehugger Robot <jar-module modulename="hamcrest-core"/> 94*13e4719eSTreehugger Robot 95*13e4719eSTreehugger Robot <!-- Bundle core, library, integration, and generator into all jar--> 96*13e4719eSTreehugger Robot <copy todir="build/temp/hamcrest-all-${version}.jar.contents"> 97*13e4719eSTreehugger Robot <fileset dir="build/temp/hamcrest-core-${version}.jar.contents"/> 98*13e4719eSTreehugger Robot <fileset dir="build/temp/hamcrest-library-${version}.jar.contents"/> 99*13e4719eSTreehugger Robot <fileset dir="build/temp/hamcrest-integration-${version}.jar.contents"/> 100*13e4719eSTreehugger Robot <fileset dir="build/temp/hamcrest-generator-${version}.jar.contents"/> 101*13e4719eSTreehugger Robot </copy> 102*13e4719eSTreehugger Robot <copy todir="build/temp/hamcrest-all-${version}-sources.jar.contents"> 103*13e4719eSTreehugger Robot <fileset dir="build/temp/hamcrest-core-${version}-sources.jar.contents"/> 104*13e4719eSTreehugger Robot <fileset dir="build/temp/hamcrest-library-${version}-sources.jar.contents"/> 105*13e4719eSTreehugger Robot <fileset dir="build/temp/hamcrest-integration-${version}-sources.jar.contents"/> 106*13e4719eSTreehugger Robot <fileset dir="build/temp/hamcrest-generator-${version}-sources.jar.contents"/> 107*13e4719eSTreehugger Robot </copy> 108*13e4719eSTreehugger Robot <path id="cp-hamcrest-all-main"> 109*13e4719eSTreehugger Robot <path refid="cp-hamcrest-core-main"/> 110*13e4719eSTreehugger Robot <path refid="cp-hamcrest-library-main"/> 111*13e4719eSTreehugger Robot <path refid="cp-hamcrest-integration-main"/> 112*13e4719eSTreehugger Robot <path refid="cp-hamcrest-generator-main"/> 113*13e4719eSTreehugger Robot </path> 114*13e4719eSTreehugger Robot <jar-module modulename="hamcrest-all"/> 115*13e4719eSTreehugger Robot </target> 116*13e4719eSTreehugger Robot 117*13e4719eSTreehugger Robot <target name="javadoc" depends="bigjar" description="build javadoc jars"> 118*13e4719eSTreehugger Robot <javadoc-module modulename="hamcrest-generator"/> 119*13e4719eSTreehugger Robot <javadoc-module modulename="hamcrest-core"/> 120*13e4719eSTreehugger Robot <javadoc-module modulename="hamcrest-library"/> 121*13e4719eSTreehugger Robot <javadoc-module modulename="hamcrest-integration"/> 122*13e4719eSTreehugger Robot <javadoc-module modulename="hamcrest-all"/> 123*13e4719eSTreehugger Robot </target> 124*13e4719eSTreehugger Robot 125*13e4719eSTreehugger Robot <target name="bundle" description="Create a release bundle for deployment to maven central" depends="clean, javadoc"> 126*13e4719eSTreehugger Robot <copy todir="build"> 127*13e4719eSTreehugger Robot <fileset dir="pom" includes="*.pom"/> 128*13e4719eSTreehugger Robot <filterset><filter token="VERSION" value="${version}"/></filterset> 129*13e4719eSTreehugger Robot <mapper type="regexp" from="(.*)\.pom" to="\1-${version}.pom"/> 130*13e4719eSTreehugger Robot </copy> 131*13e4719eSTreehugger Robot 132*13e4719eSTreehugger Robot <sign target="hamcrest-parent-${version}.pom"/> 133*13e4719eSTreehugger Robot <jar-bundle modulename="hamcrest-parent"/> 134*13e4719eSTreehugger Robot 135*13e4719eSTreehugger Robot <bundle-module modulename="hamcrest-core"/> 136*13e4719eSTreehugger Robot <bundle-module modulename="hamcrest-generator"/> 137*13e4719eSTreehugger Robot <bundle-module modulename="hamcrest-library"/> 138*13e4719eSTreehugger Robot <bundle-module modulename="hamcrest-integration"/> 139*13e4719eSTreehugger Robot <bundle-module modulename="hamcrest-all"/> 140*13e4719eSTreehugger Robot </target> 141*13e4719eSTreehugger Robot 142*13e4719eSTreehugger Robot <macrodef name="make-manifest"> 143*13e4719eSTreehugger Robot <attribute name="modulename" description="Name of the module"/> 144*13e4719eSTreehugger Robot <sequential> 145*13e4719eSTreehugger Robot <mkdir dir="build/temp/@{modulename}-${version}.jar.manifest"/> 146*13e4719eSTreehugger Robot <manifest file="build/temp/@{modulename}-${version}.jar.manifest/MANIFEST.MF"> 147*13e4719eSTreehugger Robot <attribute name="Implementation-Title" value="@{modulename}"/> 148*13e4719eSTreehugger Robot <attribute name="Implementation-Vendor" value="hamcrest.org"/> 149*13e4719eSTreehugger Robot <attribute name="Implementation-Version" value="${version}"/> 150*13e4719eSTreehugger Robot <attribute name="Built-By" value="${user.name}"/> 151*13e4719eSTreehugger Robot <attribute name="Built-Date" value="${build.timestamp}"/> 152*13e4719eSTreehugger Robot </manifest> 153*13e4719eSTreehugger Robot </sequential> 154*13e4719eSTreehugger Robot </macrodef> 155*13e4719eSTreehugger Robot 156*13e4719eSTreehugger Robot <macrodef name="compile-module"> 157*13e4719eSTreehugger Robot <attribute name="modulename" description="Name of the module to jar"/> 158*13e4719eSTreehugger Robot <sequential> 159*13e4719eSTreehugger Robot <compile-content srcdir="@{modulename}/src/main/java" jarname="@{modulename}-${version}" classpathref="cp-@{modulename}-main" /> 160*13e4719eSTreehugger Robot <path id="cp-@{modulename}-test-complete"> 161*13e4719eSTreehugger Robot <path path="lib/integration/junit-dep-4.11.jar"/> 162*13e4719eSTreehugger Robot <path refid="cp-@{modulename}-main"/> 163*13e4719eSTreehugger Robot <path refid="cp-@{modulename}-test"/> 164*13e4719eSTreehugger Robot <path path="build/temp/@{modulename}-${version}.jar.contents"/> 165*13e4719eSTreehugger Robot </path> 166*13e4719eSTreehugger Robot <compile-content srcdir="@{modulename}/src/test/java" jarname="@{modulename}-${version}-tests" classpathref="cp-@{modulename}-test-complete" /> 167*13e4719eSTreehugger Robot </sequential> 168*13e4719eSTreehugger Robot </macrodef> 169*13e4719eSTreehugger Robot 170*13e4719eSTreehugger Robot <macrodef name="compile-content"> 171*13e4719eSTreehugger Robot <attribute name="srcdir"/> 172*13e4719eSTreehugger Robot <attribute name="jarname" description="Name of the jar whose content is being compiled (without .jar suffix)"/> 173*13e4719eSTreehugger Robot <attribute name="classpathref"/> 174*13e4719eSTreehugger Robot <sequential> 175*13e4719eSTreehugger Robot <mkdir dir="build/temp/@{jarname}-sources.jar.contents"/> 176*13e4719eSTreehugger Robot <copy failonerror="false" todir="build/temp/@{jarname}-sources.jar.contents"> 177*13e4719eSTreehugger Robot <fileset dir="@{srcdir}"/> 178*13e4719eSTreehugger Robot </copy> 179*13e4719eSTreehugger Robot <mkdir dir="build/temp/@{jarname}.jar.contents"/> 180*13e4719eSTreehugger Robot <javac srcdir="build/temp/@{jarname}-sources.jar.contents" 181*13e4719eSTreehugger Robot destdir="build/temp/@{jarname}.jar.contents" 182*13e4719eSTreehugger Robot debug="${debug}" source="${javaversion}" target="${javaversion}" includeantruntime="false"> 183*13e4719eSTreehugger Robot <classpath refid="@{classpathref}"/> 184*13e4719eSTreehugger Robot </javac> 185*13e4719eSTreehugger Robot </sequential> 186*13e4719eSTreehugger Robot </macrodef> 187*13e4719eSTreehugger Robot 188*13e4719eSTreehugger Robot <macrodef name="jar-module"> 189*13e4719eSTreehugger Robot <attribute name="modulename" description="Name of the module to jar"/> 190*13e4719eSTreehugger Robot <sequential> 191*13e4719eSTreehugger Robot <make-manifest modulename="@{modulename}"/> 192*13e4719eSTreehugger Robot <jar-module-component modulename="@{modulename}"/> 193*13e4719eSTreehugger Robot <jar-module-component modulename="@{modulename}" suffix="-tests"/> 194*13e4719eSTreehugger Robot <jar-module-component modulename="@{modulename}" suffix="-sources"/> 195*13e4719eSTreehugger Robot </sequential> 196*13e4719eSTreehugger Robot </macrodef> 197*13e4719eSTreehugger Robot 198*13e4719eSTreehugger Robot <macrodef name="jar-module-component"> 199*13e4719eSTreehugger Robot <attribute name="modulename" description="Name of the module to jar"/> 200*13e4719eSTreehugger Robot <attribute name="suffix" default="" description="Name of the module to jar"/> 201*13e4719eSTreehugger Robot <sequential> 202*13e4719eSTreehugger Robot <copy file="LICENSE.txt" todir="build/temp/@{modulename}-${version}@{suffix}.jar.contents/META-INF"/> 203*13e4719eSTreehugger Robot <jar jarfile="build/@{modulename}-${version}@{suffix}.jar" manifest="build/temp/@{modulename}-${version}.jar.manifest/MANIFEST.MF"> 204*13e4719eSTreehugger Robot <fileset dir="build/temp/@{modulename}-${version}@{suffix}.jar.contents"/> 205*13e4719eSTreehugger Robot </jar> 206*13e4719eSTreehugger Robot </sequential> 207*13e4719eSTreehugger Robot </macrodef> 208*13e4719eSTreehugger Robot 209*13e4719eSTreehugger Robot <macrodef name="generate-module-factory" description="Generate one class with all static imports"> 210*13e4719eSTreehugger Robot <attribute name="modulename" description="Name of the module to jar"/> 211*13e4719eSTreehugger Robot <attribute name="configurationfile" description="xml configuration file"/> 212*13e4719eSTreehugger Robot <attribute name="targetclass" description="factory class to generate"/> 213*13e4719eSTreehugger Robot <attribute name="sources" description="comma-separated source directories"/> 214*13e4719eSTreehugger Robot <sequential> 215*13e4719eSTreehugger Robot <mkdir dir="build/temp/@{modulename}/generated-code"/> 216*13e4719eSTreehugger Robot <java classname="org.hamcrest.generator.config.XmlConfigurator" fork="yes" failonerror="yes"> 217*13e4719eSTreehugger Robot <classpath path="build/hamcrest-generator-${version}.jar"/> 218*13e4719eSTreehugger Robot <classpath refid="cp-@{modulename}-main"/> 219*13e4719eSTreehugger Robot <classpath path="build/temp/@{modulename}-${version}.jar.contents"/> 220*13e4719eSTreehugger Robot <arg value="@{configurationfile}"/> 221*13e4719eSTreehugger Robot <arg value="@{sources}"/> 222*13e4719eSTreehugger Robot <arg value="@{targetclass}"/> 223*13e4719eSTreehugger Robot <arg value="build/temp/@{modulename}/generated-code"/> 224*13e4719eSTreehugger Robot </java> 225*13e4719eSTreehugger Robot 226*13e4719eSTreehugger Robot <copy todir="build/temp/@{modulename}-${version}-sources.jar.contents"> 227*13e4719eSTreehugger Robot <fileset dir="build/temp/@{modulename}/generated-code"/> 228*13e4719eSTreehugger Robot </copy> 229*13e4719eSTreehugger Robot <compile-module modulename="@{modulename}"/> 230*13e4719eSTreehugger Robot </sequential> 231*13e4719eSTreehugger Robot </macrodef> 232*13e4719eSTreehugger Robot 233*13e4719eSTreehugger Robot <macrodef name="test-module" description="run unit tests."> 234*13e4719eSTreehugger Robot <attribute name="modulename" description="Name of the module to test"/> 235*13e4719eSTreehugger Robot <sequential> 236*13e4719eSTreehugger Robot <mkdir dir="build/temp/@{modulename}/test-wrk"/> 237*13e4719eSTreehugger Robot <junit printsummary="no" forkmode="once" tempdir="build/temp/@{modulename}/test-wrk" haltonfailure="${haltonfailure}" dir="@{modulename}"> 238*13e4719eSTreehugger Robot <formatter type="brief" usefile="no"/> 239*13e4719eSTreehugger Robot <classpath refid="cp-@{modulename}-test-complete"/> 240*13e4719eSTreehugger Robot <classpath path="build/@{modulename}-${version}-tests.jar"/> 241*13e4719eSTreehugger Robot <batchtest fork="yes" todir="${build.dir}/testreport"> 242*13e4719eSTreehugger Robot <zipfileset src="build/@{modulename}-${version}-tests.jar"> 243*13e4719eSTreehugger Robot <include name="org/hamcrest/**/*Test.class"/> 244*13e4719eSTreehugger Robot <exclude name="**/Abstract*.class"/> 245*13e4719eSTreehugger Robot </zipfileset> 246*13e4719eSTreehugger Robot </batchtest> 247*13e4719eSTreehugger Robot </junit> 248*13e4719eSTreehugger Robot </sequential> 249*13e4719eSTreehugger Robot </macrodef> 250*13e4719eSTreehugger Robot 251*13e4719eSTreehugger Robot <macrodef name="javadoc-module" description="Generate javadoc for a module and build a Jar"> 252*13e4719eSTreehugger Robot <attribute name="modulename" description="Name of the module to document"/> 253*13e4719eSTreehugger Robot <sequential> 254*13e4719eSTreehugger Robot <javadoc packagenames="org.hamcrest.*" sourcepath="build/temp/@{modulename}-${version}-sources.jar.contents" 255*13e4719eSTreehugger Robot destdir="build/temp/@{modulename}-${version}-javadoc.jar.contents" author="true" version="true" 256*13e4719eSTreehugger Robot use="true" windowtitle="Hamcrest" source="${javaversion}" failonerror="yes" defaultexcludes="yes"> 257*13e4719eSTreehugger Robot <classpath refid="cp-@{modulename}-main"/> 258*13e4719eSTreehugger Robot </javadoc> 259*13e4719eSTreehugger Robot <jar-module-component modulename="@{modulename}" suffix="-javadoc"/> 260*13e4719eSTreehugger Robot </sequential> 261*13e4719eSTreehugger Robot </macrodef> 262*13e4719eSTreehugger Robot 263*13e4719eSTreehugger Robot <macrodef name="bundle-module" description="Generate maven bundle jar for a module"> 264*13e4719eSTreehugger Robot <attribute name="modulename" description="Name of the module to bundle"/> 265*13e4719eSTreehugger Robot <sequential> 266*13e4719eSTreehugger Robot <sign target="@{modulename}-${version}.pom"/> 267*13e4719eSTreehugger Robot <sign target="@{modulename}-${version}.jar"/> 268*13e4719eSTreehugger Robot <sign target="@{modulename}-${version}-javadoc.jar"/> 269*13e4719eSTreehugger Robot <sign target="@{modulename}-${version}-sources.jar"/> 270*13e4719eSTreehugger Robot <jar-bundle modulename="@{modulename}"/> 271*13e4719eSTreehugger Robot </sequential> 272*13e4719eSTreehugger Robot </macrodef> 273*13e4719eSTreehugger Robot 274*13e4719eSTreehugger Robot <macrodef name="jar-bundle" description="Jar maven bundle contents"> 275*13e4719eSTreehugger Robot <attribute name="modulename" description="Name of the module to create bundle jar for"/> 276*13e4719eSTreehugger Robot <sequential> 277*13e4719eSTreehugger Robot <jar destfile="build/maven-bundle-@{modulename}.jar"> 278*13e4719eSTreehugger Robot <fileset dir="build"><include name="@{modulename}-${version}*"/></fileset> 279*13e4719eSTreehugger Robot </jar> 280*13e4719eSTreehugger Robot </sequential> 281*13e4719eSTreehugger Robot </macrodef> 282*13e4719eSTreehugger Robot 283*13e4719eSTreehugger Robot <macrodef name="sign" description="Sign a file with a gpg key"> 284*13e4719eSTreehugger Robot <attribute name="target" description="Name of the resource to sign"/> 285*13e4719eSTreehugger Robot <sequential> 286*13e4719eSTreehugger Robot <exec executable="gpg" dir="build"><arg value="-ab"/><arg value="@{target}"/></exec> 287*13e4719eSTreehugger Robot </sequential> 288*13e4719eSTreehugger Robot </macrodef> 289*13e4719eSTreehugger Robot</project> 290