xref: /aosp_15_r20/external/hamcrest/build.xml.original (revision 13e4719e1a36da4ffe406e4545ee2b1694a8da4f)
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