1
<?xml version="1.0" encoding="UTF-8"?>
3
- Ant build for GlueGen and corresponding ANT tasks. Also builds
4
- JOGL-specific BuildStaticGLInfo and its corresponding ANT task.
6
- This build has been tested with ANT 1.6.2 and ANTLR 2.7.4.
9
- all: clean and build GlueGen and GlueGen Ant task
10
- clean: clean all built
12
<project name="GlueGen" basedir="." default="all">
14
<import file="gluegen-cpptasks.xml" />
15
<import file="jogamp-archivetasks.xml" />
16
<import file="jogamp-androidtasks.xml" />
17
<import file="jogamp-env.xml" />
19
<condition property="rootrel.build" value="build">
21
<isset property="rootrel.build"/>
25
<target name="setup.excludes.nsig" unless="gluegen.nsig">
26
<property name="gluegen.excludes.nsig" value="com/jogamp/gluegen/runtime/BufferFactoryInternal.java com/jogamp/gluegen/nativesig/**" />
29
<target name="init.base" depends="jogamp.env.init,gluegen.properties.load.user,gluegen.cpptasks.detect.os,setup.excludes.nsig">
30
<!-- Create the classpath for compiling GlueGen.
31
This requires the user-defined "antlr.jar" property. -->
32
<path id="cc_gluegen.classpath">
33
<pathelement location="${antlr.jar}" />
37
<target name="init.android" if="android-jars.available" >
38
<!-- Create the classpath for compiling Android only stuff. -->
39
<path id="android.classpath">
40
<pathelement location="${android-min.jar}"/>
43
<!-- Create the classpath for compiling GlueGen.
44
This requires the user-defined "antlr.jar" property. -->
45
<path id="cc_gluegen_android.classpath">
46
<pathelement location="${antlr.jar}" />
47
<pathelement location="${android-min.jar}"/>
51
<target name="init" depends="init.base, init.android">
52
<!-- Declare all paths and user defined variables. -->
54
<!-- property name="javadoc.link" value="http://java.sun.com/j2se/1.4.2/docs/api/" /-->
55
<!-- property name="javadoc.link" value="http://download.oracle.com/javase/1.5.0/docs/api/" /-->
56
<property name="javadoc.link" value="http://docs.oracle.com/javase/6/docs/api/" />
58
<!-- The source and build directories. -->
59
<property name="project.root" value=".." />
60
<property name="src.java" value="${project.root}/src/java" />
61
<property name="build" location="${project.root}/${rootrel.build}" />
62
<property name="javadoc.root.path" location="${build}/javadoc" />
63
<property name="javadoc.gluegen.path" location="${javadoc.root.path}/gluegen/javadoc" />
64
<property name="gluegen.lib.dir" value="${build}/obj"/>
66
<property name="gluegen.build.number" value="manual"/>
67
<property name="gluegen.build.id" value="${version.timestamp}"/>
68
<mkdir dir="${build}" />
69
<property name="gluegen.build.branch" value="manual"/> <!-- fallback -->
70
<exec dir="${project.root}" executable="git" logError="true" failonerror="false" failifexecutionfails="false"
71
outputproperty="gluegen.build.commit">
72
<arg line="rev-parse HEAD"/>
74
<property name="gluegen.build.commit" value="manual"/> <!-- fallback -->
76
<property name="gluegen.version" value="${jogamp.version.base}-b${gluegen.build.number}-${version.timestamp}" />
78
<property name="stub.includes.dir" value="stub_includes" /> <!-- NOTE: this MUST be relative for FileSet -->
80
<!-- The generated source directories. -->
81
<property name="src.generated" value="${build}/gensrc" />
82
<property name="src.generated.java" value="${src.generated}/java" />
83
<property name="src.generated.c" value="${src.generated}/native" />
85
<!-- The compiler output directories. -->
86
<property name="classes" value="${build}/classes" />
88
<!-- Call the external config validator script to make sure the config is ok and consistent -->
89
<ant antfile="validate-properties.xml" inheritall="true"/>
91
<!-- Create the required output directories. -->
92
<mkdir dir="${src.generated.java}" />
93
<mkdir dir="${src.generated.c}" />
94
<mkdir dir="${src.generated.c}/Unix" />
95
<mkdir dir="${src.generated.c}/Windows" />
96
<mkdir dir="${classes}" />
98
<!-- Create the classpath for ANTLR.
99
This requires the user-defined "antlr.jar" property. -->
100
<path id="antlr.classpath">
101
<pathelement location="${antlr.jar}" />
104
<!-- Create the classpath for using GlueGen. -->
105
<path id="gluegen.classpath" >
106
<pathelement location="${classes}" />
107
<pathelement location="${antlr.jar}" />
110
<!-- The location of the GlueGen source and the C grammar files. -->
111
<property name="gluegen" value="${src.java}/com/jogamp/gluegen" />
112
<property name="c.grammar" value="${gluegen}/cgram" />
113
<property name="j.grammar" value="${gluegen}/jgram" />
115
<!-- The resulting location of the generated Java files from the
116
- C grammar via ANTLR. -->
117
<property name="gluegen.build" value="${src.generated.java}/com/jogamp/gluegen" />
118
<property name="generated.java.from.c.grammar" value="${gluegen.build}/cgram" />
119
<property name="generated.java.from.j.grammar" value="${gluegen.build}/jgram" />
121
<property name="tools.jar" value="${java.home}/../lib/tools.jar"/>
123
<property name="archive.name" value="gluegen-${gluegen.version}-${os.and.arch}" />
124
<property name="archive" value="${build}/${archive.name}" />
126
<!-- the launcher is compiled and packaged explicit - if android -->
127
<property name="jogamp-android-launcher.classes" value="jogamp/android/launcher/**"/>
129
<!-- optional android classes - if android -->
130
<property name="java.part.android" value="jogamp/common/os/android/**"/>
132
<!-- property name="java.part.awt" value="com/jogamp/common/util/awt/** jogamp/common/awt/**"/-->
133
<property name="java.part.awt" value="com/jogamp/common/util/awt/**"/>
134
<property name="gluegen-rt.classes" value="com/jogamp/gluegen/runtime/**"/>
135
<property name="jogamp.common.classes" value="com/jogamp/common/** jogamp/common/**"/>
137
<property name="gluegen.excludes.all" value="${gluegen.excludes.nsig} ${jogamp-android-launcher.classes}" />
140
<target name="init.gg" depends="init">
141
<!-- Define the GlueGen task we just built -->
142
<taskdef name="gluegen" classname="com.jogamp.gluegen.ant.GlueGenTask"
143
classpathref="gluegen.classpath" />
146
<target name="set.debug">
147
<property name="c.compiler.debug" value="true" />
148
<property name="javacdebug" value="true" />
149
<property name="javacdebuglevel" value="source,lines,vars" />
151
<target name="init.debug" depends="set.debug, init"/>
154
- Using ANTLR generate the specified Java files.
156
- @param target the grammar file to process
157
- @param output.dir the directory to write the generated files to. If
158
- the directory does not exist, it will be created.
160
<target name="generate.grammar">
161
<!-- Generate the Java files -->
162
<antlr target="${output.dir}/${target}" outputdirectory="${output.dir}">
163
<classpath refid="antlr.classpath" />
168
- Using ANTLR generate the specified Java files with an overridden
171
- @param target the grammar file to process
172
- @param glib the overridding grammar file
173
- @param output.dir the directory to write the generated files to. If
174
- the directory does not exist, it will be created.
176
<target name="generate.c.grammar.glib">
177
<!-- Generate the Java files -->
178
<antlr target="${output.dir}/${target}" glib="${output.dir}/${glib}" outputdirectory="${output.dir}">
179
<classpath refid="antlr.classpath" />
183
<property name="gluegen.root" value="../" />
185
<!-- Use GlueGen to generate the source code for the ElfHeader
186
implementation. Note that to make the build process simpler (in
187
particular, the nightly builds) we do not do this every time we
188
run the build, but instead check in the generated sources to
190
<target name="generate.os.sources" depends="init.gg" >
191
<property name="stub.includes.gluegen.gg" value="stub_includes/gluegen" />
192
<dirset id="stub.includes.fileset.os" dir=".">
193
<include name="stub_includes/os/**" />
195
<gluegen src="stub_includes/os/elf_header.h"
196
config="elf-header.cfg"
197
includeRefId="stub.includes.fileset.os"
198
literalInclude="${stub.includes.gluegen.gg}"
199
emitter="com.jogamp.gluegen.JavaEmitter"
201
<classpath refid="gluegen.classpath" />
203
<!-- Only to cherry pick defines -> java files
204
<gluegen src="stub_includes/os/elf_eh_const.h"
205
config="elf-eh-const.cfg"
206
includeRefId="stub.includes.fileset.os"
207
literalInclude="${stub.includes.gluegen.gg}"
208
emitter="com.jogamp.gluegen.JavaEmitter"
210
<classpath refid="gluegen.classpath" />
212
<gluegen src="stub_includes/os/elf_sh_const.h"
213
config="elf-sh-const.cfg"
214
includeRefId="stub.includes.fileset.os"
215
literalInclude="${stub.includes.gluegen.gg}"
216
emitter="com.jogamp.gluegen.JavaEmitter"
218
<classpath refid="gluegen.classpath" />
222
<!-- ================================================================== -->
224
- Compile the native C code for GlueGen's dynamic linker interface.
227
<target name="declare.win32.vc6" if="isVC6">
228
<echo message="Win32.VC6" />
229
<property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
230
<property name="linker.cfg.id" value="linker.cfg.win32.msvc" />
233
<target name="declare.win32.vc7" if="isVC7">
234
<echo message="Win32.VC7" />
235
<property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
236
<property name="linker.cfg.id" value="linker.cfg.win32.msvc" />
239
<target name="declare.win32.vc8" if="isVC8">
240
<echo message="Win32.VC8" />
241
<property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
242
<property name="linker.cfg.id" value="linker.cfg.win32.msvc" />
245
<target name="declare.win32.vc8_x64" if="isVC8_X64">
246
<echo message="Win32.VC8_X64" />
247
<property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
248
<property name="linker.cfg.id" value="linker.cfg.win32.msvc" />
251
<target name="declare.win32.vc9" if="isVC9">
252
<echo message="Win32.VC9" />
253
<property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
254
<property name="linker.cfg.id" value="linker.cfg.win32.msvc" />
257
<target name="declare.win32.mingw" if="isMingW32">
258
<echo message="Win32.MingW" />
259
<property name="compiler.cfg.id" value="compiler.cfg.win32.mingw" />
260
<property name="linker.cfg.id" value="linker.cfg.win32.mingw" />
263
<target name="declare.win64.mingw" if="isMingW64">
264
<echo message="Win64.MingW" />
265
<property name="compiler.cfg.id" value="compiler.cfg.win64.mingw" />
266
<property name="linker.cfg.id" value="linker.cfg.win64.mingw" />
269
<target name="declare.win32" depends="declare.win32.vc6,declare.win32.vc7,declare.win32.vc8,declare.win32.vc8_x64,declare.win32.vc9,declare.win32.mingw,declare.win64.mingw" if="isWindows" >
270
<property name="c.src.dir.os" value="windows" />
271
<property name="java.includes.dir.platform" value="${java.includes.dir}/win32" />
274
<target name="declare.linux.x86" if="isLinuxX86">
275
<echo message="Linux.x86" />
276
<property name="compiler.cfg.id" value="compiler.cfg.linux.x86" />
277
<property name="linker.cfg.id" value="linker.cfg.linux.x86" />
280
<target name="declare.linux.amd64" if="isLinuxAMD64">
281
<echo message="Linux.AMD64" />
282
<property name="compiler.cfg.id" value="compiler.cfg.linux.amd64" />
283
<property name="linker.cfg.id" value="linker.cfg.linux.amd64" />
286
<target name="declare.linux.ia64" if="isLinuxIA64">
287
<echo message="Linux.IA64" />
288
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
289
<property name="linker.cfg.id" value="linker.cfg.linux" />
292
<target name="declare.linux.armv6.armel" if="isLinuxARMv6Armel">
293
<echo message="Linux.armv6.armel" />
294
<property name="compiler.cfg.id" value="compiler.cfg.linux.armv6.armel" />
295
<property name="linker.cfg.id" value="linker.cfg.linux.armv6.armel" />
298
<target name="declare.linux.armv6.armhf" if="isLinuxARMv6Armhf">
299
<echo message="Linux.armv6.armhf" />
300
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
301
<property name="linker.cfg.id" value="linker.cfg.linux.armv6.armhf" />
304
<target name="declare.linux.alpha" if="isLinuxAlpha">
305
<echo message="Linux.alpha" />
306
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
307
<property name="linker.cfg.id" value="linker.cfg.linux.alpha" />
310
<target name="declare.linux.hppa" if="isLinuxHppa">
311
<echo message="Linux.hppa" />
312
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
313
<property name="linker.cfg.id" value="linker.cfg.linux.hppa" />
316
<target name="declare.linux.mips" if="isLinuxMips">
317
<echo message="Linux.mips" />
318
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
319
<property name="linker.cfg.id" value="linker.cfg.linux.mips" />
322
<target name="declare.linux.mipsel" if="isLinuxMipsel">
323
<echo message="Linux.mipsel" />
324
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
325
<property name="linker.cfg.id" value="linker.cfg.linux.mipsel" />
328
<target name="declare.linux.ppc" if="isLinuxPpc">
329
<echo message="Linux.ppc" />
330
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
331
<property name="linker.cfg.id" value="linker.cfg.linux.ppc" />
334
<target name="declare.linux.s390" if="isLinuxs390">
335
<echo message="Linux.s390" />
336
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
337
<property name="linker.cfg.id" value="linker.cfg.linux.s390" />
340
<target name="declare.linux.s390x" if="isLinuxs390x">
341
<echo message="Linux.s390x" />
342
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
343
<property name="linker.cfg.id" value="linker.cfg.linux.s390x" />
346
<target name="declare.linux.sparc" if="isLinuxSparc">
347
<echo message="Linux.sparc" />
348
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
349
<property name="linker.cfg.id" value="linker.cfg.linux.sparc" />
352
<target name="declare.linux" depends="declare.linux.x86,declare.linux.amd64,declare.linux.ia64,declare.linux.hppa,declare.linux.mips,declare.linux.mipsel,declare.linux.ppc,declare.linux.s390,declare.linux.s390x,declare.linux.sparc,declare.linux.armv6.armel,declare.linux.armv6.armhf" if="isLinux" >
353
<property name="c.src.dir.os" value="unix" />
354
<property name="java.includes.dir.platform" value="${java.includes.dir}/linux" />
357
<target name="declare.android" if="isAndroid" >
358
<property name="c.src.dir.os" value="unix" />
361
<target name="declare.solaris32" if="isSolaris32Bit">
362
<echo message="Solaris" />
363
<property name="compiler.cfg.id" value="compiler.cfg.solaris" />
364
<property name="linker.cfg.id" value="linker.cfg.solaris" />
367
<target name="declare.solarisSparcv9" if="isSolarisSparcv9">
368
<echo message="SolarisSparcv9" />
369
<property name="compiler.cfg.id" value="compiler.cfg.solaris.sparcv9" />
370
<property name="linker.cfg.id" value="linker.cfg.solaris.sparcv9" />
373
<target name="declare.solarisAMD64" if="isSolarisAMD64">
374
<echo message="SolarisAMD64" />
375
<property name="compiler.cfg.id" value="compiler.cfg.solaris.amd64" />
376
<property name="linker.cfg.id" value="linker.cfg.solaris.amd64" />
379
<target name="declare.solaris" depends="declare.solaris32,declare.solarisSparcv9,declare.solarisAMD64" if="isSolaris" >
380
<property name="c.src.dir.os" value="unix" />
381
<property name="java.includes.dir.platform" value="${java.includes.dir}/solaris" />
384
<target name="declare.macosx" if="isOSX">
385
<echo message="MacOSX" />
386
<property name="compiler.cfg.id" value="compiler.cfg.macosx" />
387
<property name="linker.cfg.id" value="linker.cfg.macosx" />
388
<property name="c.src.dir.os" value="unix" />
391
<target name="declare.freebsd.amd64" if="isFreeBSDAMD64">
392
<echo message="FreeBSDAMD64" />
393
<property name="compiler.cfg.id" value="compiler.cfg.freebsd" />
394
<property name="linker.cfg.id" value="linker.cfg.freebsd.amd64" />
395
<property name="c.src.dir.os" value="unix" />
398
<target name="declare.freebsd.x86" if="isFreeBSDX86">
399
<echo message="FreeBSDX86" />
400
<property name="compiler.cfg.id" value="compiler.cfg.freebsd" />
401
<property name="linker.cfg.id" value="linker.cfg.freebsd.x86" />
402
<property name="c.src.dir.os" value="unix" />
405
<target name="declare.freebsd" depends="declare.freebsd.x86,declare.freebsd.amd64" if="isFreeBSD" >
406
<property name="c.src.dir.os" value="unix" />
407
<property name="java.includes.dir.platform" value="${java.includes.dir}/freebsd" />
410
<target name="declare.hpux" if="isHPUX">
411
<echo message="HP-UX" />
412
<property name="compiler.cfg.id" value="compiler.cfg.hpux" />
413
<property name="linker.cfg.id" value="linker.cfg.hpux" />
414
<property name="c.src.dir.os" value="unix" />
415
<property name="java.includes.dir.hpux" value="${java.includes.dir}/hp-ux" />
418
<target name="c.configure" depends="gluegen.cpptasks.detect.os,gluegen.cpptasks.setup.compiler,declare.win32,declare.linux,declare.android,declare.solaris,declare.macosx,declare.freebsd,declare.hpux,gluegen.cpptasks.configure.compiler" unless="build.javaonly" />
420
<target name="c.rename.lib.mingw" if="isMingW">
421
<!-- FIXME: this is a hack; the cpptask should have an option to change the
422
suffix or at least understand the override from .so to .dll -->
423
<move file="${build}/obj/libgluegen-rt.so" tofile="${build}/obj/gluegen-rt.dll" />
426
<target name="c.rename.lib.macosx" if="isOSX">
427
<move file="${build}/obj/libgluegen-rt.dylib" tofile="${build}/obj/libgluegen-rt.jnilib" />
428
<copy file="${build}/obj/libgluegen-rt.jnilib" tofile="${build}/obj/libgluegen-rt.so" />
431
<target name="c.manifest" if="isVC8Family">
432
<!-- exec mt, the Microsoft Manifest Tool, to include DLL manifests in order to resolve the location of msvcr80.dll -->
433
<msvc.manifest objdir="${build}/obj" dllname="gluegen-rt" />
436
<target name="gluegen.build.c" depends="init, c.configure" unless="build.javaonly" >
437
<property name="c.compiler.src.files.common" value="src/native/common/*.c" />
438
<property name="c.compiler.src.files.os" value="src/native/${c.src.dir.os}/*.c" />
440
<property name="output.lib.name" value="gluegen-rt" />
441
<condition property="output.lib.name.os" value="lib${output.lib.name}.so"><isset property="isUnix"/></condition>
442
<condition property="output.lib.name.os" value="${output.lib.name}.dll"><isset property="isWindows"/></condition>
443
<condition property="output.lib.name.os" value="lib${output.lib.name}.jnilib"><isset property="isOSX"/></condition>
445
<uptodate property="gluegen.build.skip.c">
446
<srcfiles dir= "${project.root}" includes="${c.compiler.src.files.os}"/>
447
<srcfiles dir= "${project.root}" includes="${c.compiler.src.files.common}"/>
448
<mapper type="merge" to="${gluegen.lib.dir}/${output.lib.name.os}"/>
451
<antcall target="gluegen.build.c.impl" inheritAll="true" inheritRefs="true" />
454
<target name="gluegen.build.c.impl" depends="init, c.configure" unless="gluegen.build.skip.c">
455
<fail message="Requires '${compiler.cfg.id}'" unless="compiler.cfg.id"/>
456
<fail message="Requires '${linker.cfg.id}'" unless="linker.cfg.id"/>
458
<javah destdir="${src.generated.c}" classpath="${classes}" class="jogamp.common.os.MachineDescriptionRuntime" />
459
<javah destdir="${src.generated.c}" classpath="${classes}" class="jogamp.common.jvm.JVMUtil" />
460
<javah destdir="${src.generated.c}" classpath="${classes}" class="com.jogamp.common.nio.PointerBuffer" />
461
<javah destdir="${src.generated.c}/Unix" classpath="${classes}" class="jogamp.common.os.UnixDynamicLinkerImpl" />
462
<javah destdir="${src.generated.c}/Windows" classpath="${classes}" class="jogamp.common.os.WindowsDynamicLinkerImpl"/>
464
<echo message="Output lib name = ${output.lib.name} -> ${output.lib.name.os}" />
466
<mkdir dir="${gluegen.lib.dir}"/>
468
<echo message="Compiling ${c.compiler.src.files.os} ${c.compiler.src.files.common}" />
469
<echo message="user.dir=${user.dir}" />
472
objdir="${gluegen.lib.dir}"
473
outfile="${gluegen.lib.dir}/${output.lib.name}"
474
optimize="${c.compiler.optimise}"
475
debug="${c.compiler.debug}"
480
<!-- TODO: versioninfo companyname="java.net"
481
legalcopyright="Copyright"
482
productname="GlueGen"
483
productversion="x.y.z"
484
description="Description"
486
filecomments="File Comment" /-->
490
<include name="${c.compiler.src.files.os}" />
491
<include name="${c.compiler.src.files.common}" />
495
<compiler extends="${compiler.cfg.id}" >
496
<sysincludepath path="${java.includes.dir}"/>
497
<sysincludepath path="${java.includes.dir.platform}"/>
498
<sysincludepath path="${stub.includes.dir}/platform"/>
500
<includepath path="${src.generated.c}" />
501
<includepath path="${src.generated.c}/Unix" if="isUnix"/>
502
<includepath path="${src.generated.c}/Unix" if="isOSX"/>
503
<includepath path="${src.generated.c}/Windows" if="isWindows"/>
506
<linker extends="${linker.cfg.id}" />
509
<antcall target="c.rename.lib.mingw" inheritRefs="true" />
510
<antcall target="c.rename.lib.macosx" inheritRefs="true" />
512
<antcall target="gluegen.cpptasks.striplibs" inheritRefs="true">
513
<param name="libdir" value="${gluegen.lib.dir}"/>
516
<antcall target="c.manifest" inheritRefs="true" />
518
<jar destfile="${build}/gluegen-rt-natives-${os.and.arch}.jar" manifest="${build}/Manifest-rt-natives.temp">
519
<fileset dir="${build}/obj">
520
<include name="*gluegen-rt.${native.library.suffix}" />
526
<!-- ================================================================== -->
530
<target name="generate-hash-maps">
533
<antcall target="create-map" inheritrefs="true">
534
<param name="map.name" value="IntObjectHashMap"/>
535
<param name="map.key" value="int"/>
536
<param name="map.keyHash" value="\1"/>
537
<param name="map.value" value="Object"/>
538
<param name="map.null" value="null"/>
541
<antcall target="create-map" inheritrefs="true">
542
<param name="map.name" value="IntLongHashMap"/>
543
<param name="map.key" value="int"/>
544
<param name="map.keyHash" value="\1"/>
545
<param name="map.value" value="long"/>
546
<param name="map.null" value="-1"/>
550
<antcall target="create-map" inheritrefs="true">
551
<param name="map.name" value="LongObjectHashMap"/>
552
<param name="map.key" value="long"/>
553
<param name="map.keyHash" value="HashUtil.getAddrHash32_EqualDist(\1)"/>
554
<param name="map.value" value="Object"/>
555
<param name="map.null" value="null"/>
558
<antcall target="create-map" inheritrefs="true">
559
<param name="map.name" value="LongIntHashMap"/>
560
<param name="map.key" value="long"/>
561
<param name="map.keyHash" value="HashUtil.getAddrHash32_EqualDist(\1)"/>
562
<param name="map.value" value="int"/>
563
<param name="map.null" value="-1"/>
566
<antcall target="create-map" inheritrefs="true">
567
<param name="map.name" value="LongLongHashMap"/>
568
<param name="map.key" value="long"/>
569
<param name="map.keyHash" value="HashUtil.getAddrHash32_EqualDist(\1)"/>
570
<param name="map.value" value="long"/>
571
<param name="map.null" value="-1"/>
576
<target name="create-map">
577
<!-- substitutes certain token in IntIntHashmap to create new primitive HasmMap-->
578
<copy file="${src.java}/com/jogamp/common/util/IntIntHashMap.java"
579
tofile="${src.generated.java}/com/jogamp/common/util/${map.name}.java" overwrite="true">
581
<replaceregex pattern="IntIntHashMap" replace="${map.name}"/>
582
<replaceregex pattern="@see ${map.name}" replace="@see IntIntHashMap"/>
583
<replaceregex pattern="/\*value\*/int/\*value\*/" replace="${map.value}"/>
584
<replaceregex pattern="/\*key\*/int/\*key\*/" replace="${map.key}"/>
585
<replaceregex pattern="/\*keyHash\*/(.*)/\*keyHash\*/" replace="${map.keyHash}"/>
586
<replaceregex pattern="/\*null\*/-1/\*null\*/" replace="${map.null}"/>
588
<!-- no clue why we have to do this twice... otherwise it will only replace one token per line -->
590
<replaceregex pattern="/\*value\*/int/\*value\*/" replace="${map.value}"/>
595
<target name="generate-primitive-stacks">
597
<!-- IntegerStack -->
598
<antcall target="create-pstack" inheritrefs="true">
599
<param name="pstack.name" value="IntegerStack"/>
600
<param name="pstack.testname" value="TestIntegerStack01"/>
601
<param name="pstack.value" value="int"/>
602
<param name="pstack.value2" value="IntBuffer"/>
607
<target name="create-pstack">
608
<copy file="${src.java}/com/jogamp/common/util/FloatStack.java"
609
tofile="${src.generated.java}/com/jogamp/common/util/${pstack.name}.java" overwrite="true">
611
<replaceregex pattern="FloatStack" replace="${pstack.name}"/>
612
<replaceregex pattern="@see ${pstack.name}" replace="@see FloatStack"/>
613
<replaceregex pattern="/\*value\*/float/\*value\*/" replace="${pstack.value}"/>
614
<replaceregex pattern="/\*value2\*/FloatBuffer/\*value2\*/" replace="${pstack.value2}"/>
617
<mkdir dir="${gluegen.root}/${rootrel.build}/test/build/gensrc/classes"/>
618
<copy file="${gluegen.root}/src/junit/com/jogamp/common/util/TestFloatStack01.java"
619
tofile="${gluegen.root}/${rootrel.build}/test/build/gensrc/classes/com/jogamp/common/util/${pstack.testname}.java" overwrite="true">
621
<replaceregex pattern="FloatStack" replace="${pstack.name}"/>
622
<replaceregex pattern="TestFloatStack01" replace="${pstack.testname}"/>
623
<replaceregex pattern="@see ${pstack.name}" replace="@see FloatStack"/>
624
<replaceregex pattern="/\*value\*/float/\*value\*/" replace="${pstack.value}"/>
625
<replaceregex pattern="/\*value2\*/FloatBuffer/\*value2\*/" replace="${pstack.value2}"/>
630
<target name="gluegen.build.check.java" depends="init">
631
<uptodate property="gluegen.build.skip.java1">
632
<srcfiles dir= "." includes="*.xml"/>
633
<srcfiles dir= "${src.java}" includes="**"/>
634
<srcfiles dir= "${c.grammar}" includes="**/*.g"/>
635
<srcfiles dir= "${j.grammar}" includes="**/*.g"/>
636
<mapper type="merge" to="${build}/gluegen.jar"/>
638
<uptodate property="gluegen.build.skip.java2">
639
<srcfiles dir= "." includes="*.xml"/>
640
<srcfiles dir= "${src.java}" includes="**"/>
641
<srcfiles dir= "${c.grammar}" includes="**/*.g"/>
642
<srcfiles dir= "${j.grammar}" includes="**/*.g"/>
643
<mapper type="merge" to="${build}/gluegen-rt.jar"/>
645
<condition property="gluegen.build.skip.java" value="true">
647
<isset property="gluegen.build.skip.java1"/>
648
<isset property="gluegen.build.skip.java2"/>
653
<target name="gluegen.build.javase">
654
<!-- Because ANTLR looks for importVocab files in the current
655
working directory, it likes to have all of its files,
656
including supergrammars, in one place, so copy all of the
657
grammars to the output directory up front so we don't put
658
temporary files into the source tree -->
659
<mkdir dir="${generated.java.from.c.grammar}" />
660
<copy todir="${generated.java.from.c.grammar}">
661
<fileset dir="${c.grammar}">
662
<include name="*.g" />
665
<mkdir dir="${generated.java.from.j.grammar}" />
666
<copy todir="${generated.java.from.j.grammar}">
667
<fileset dir="${j.grammar}">
668
<include name="*.g" />
672
<!-- Generate the Java files from the C grammar using ANTLR. -->
673
<antcall target="generate.grammar" inheritRefs="true">
674
<param name="output.dir" value="${generated.java.from.c.grammar}" />
675
<param name="target" value="StdCParser.g" />
677
<antcall target="generate.c.grammar.glib" inheritRefs="true">
678
<param name="output.dir" value="${generated.java.from.c.grammar}" />
679
<param name="target" value="GnuCParser.g" />
680
<param name="glib" value="StdCParser.g" />
682
<antcall target="generate.grammar" inheritRefs="true">
683
<param name="output.dir" value="${generated.java.from.c.grammar}" />
684
<param name="target" value="GnuCTreeParser.g" />
686
<antcall target="generate.c.grammar.glib" inheritRefs="true">
687
<param name="output.dir" value="${generated.java.from.c.grammar}" />
688
<param name="target" value="GnuCEmitter.g" />
689
<param name="glib" value="GnuCTreeParser.g" />
691
<antcall target="generate.c.grammar.glib" inheritRefs="true">
692
<param name="output.dir" value="${generated.java.from.c.grammar}" />
693
<param name="target" value="HeaderParser.g" />
694
<param name="glib" value="GnuCTreeParser.g" />
696
<antcall target="generate.grammar" inheritRefs="true">
697
<param name="output.dir" value="${generated.java.from.j.grammar}" />
698
<param name="target" value="JavaParser.g" />
701
<!-- Build GlueGen using the generated Java files along with the
702
- original source. -->
704
<!--compile gluegen-rt first-->
705
<javac destdir="${classes}"
706
includeAntRuntime="false"
707
includes="${gluegen-rt.classes} ${jogamp.common.classes}"
708
excludes="${gluegen.excludes.all} ${java.part.android}"
709
memoryMaximumSize="${javac.memorymax}"
711
source="${target.sourcelevel}"
712
target="${target.targetlevel}"
713
bootclasspath="${target.rt.jar}"
714
debug="${javacdebug}" debuglevel="${javacdebuglevel}">
715
<src path="${src.java}" />
716
<src path="${src.generated.java}" />
717
<classpath refid="cc_gluegen.classpath" />
720
<!--compile gluegen (compile time) -->
721
<javac destdir="${classes}"
722
includeAntRuntime="true"
723
excludes="${gluegen.excludes.all} ${gluegen-rt.classes} ${java.part.android}"
724
memoryMaximumSize="${javac.memorymax}"
726
source="${host.sourcelevel}"
727
target="${host.targetlevel}"
728
bootclasspath="${host.rt.jar}"
729
debug="${javacdebug}" debuglevel="${javacdebuglevel}">
730
<src path="${src.java}" />
731
<src path="${src.generated.java}" />
732
<classpath refid="cc_gluegen.classpath" />
735
<copy file="Manifest"
736
tofile="${build}/Manifest.temp"
739
<filter token="VERSION" value="${jogamp.version}"/>
740
<filter token="BUILD_VERSION" value="${gluegen.version}"/>
741
<filter token="SCM_BRANCH" value="${gluegen.build.branch}"/>
742
<filter token="SCM_COMMIT" value="${gluegen.build.commit}"/>
743
<filter token="BASEVERSION" value="${jogamp.version.base}"/>
744
<filter token="JAR_CODEBASE_TAG" value="${jogamp.jar.codebase}"/>
748
<!-- Build gluegen.jar. -->
749
<jar destfile="${build}/gluegen.jar" manifest="${build}/Manifest.temp">
750
<service type="javax.annotation.processing.Processor">
751
<provider classname="com.jogamp.gluegen.structgen.CStructAnnotationProcessor"/>
753
<fileset dir="${classes}">
754
<include name="**/*.class" />
755
<exclude name="${jogamp-android-launcher.classes}" />
756
<exclude name="${java.part.android}" />
758
<fileset dir="resources/assets">
759
<include name="**" />
763
<copy file="Manifest-rt"
764
tofile="${build}/Manifest-rt.temp"
767
<filter token="VERSION" value="${jogamp.version}"/>
768
<filter token="BUILD_VERSION" value="${gluegen.version}"/>
769
<filter token="SCM_BRANCH" value="${gluegen.build.branch}"/>
770
<filter token="SCM_COMMIT" value="${gluegen.build.commit}"/>
771
<filter token="BASEVERSION" value="${jogamp.version.base}"/>
772
<filter token="JAR_CODEBASE_TAG" value="${jogamp.jar.codebase}"/>
776
<copy file="Manifest-rt-natives"
777
tofile="${build}/Manifest-rt-natives.temp"
780
<filter token="VERSION" value="${jogamp.version}"/>
781
<filter token="BUILD_VERSION" value="${gluegen.version}"/>
782
<filter token="SCM_BRANCH" value="${gluegen.build.branch}"/>
783
<filter token="SCM_COMMIT" value="${gluegen.build.commit}"/>
784
<filter token="BASEVERSION" value="${jogamp.version.base}"/>
785
<filter token="JAR_CODEBASE_TAG" value="${jogamp.jar.codebase}"/>
789
<!-- Build gluegen-rt.jar. -->
790
<jar destfile="${build}/gluegen-rt.jar" manifest="${build}/Manifest-rt.temp">
791
<fileset dir="${classes}">
792
<include name="com/jogamp/gluegen/runtime/*.class" />
793
<include name="com/jogamp/common/**" />
794
<include name="jogamp/common/**" />
795
<exclude name="${jogamp-android-launcher.classes}" />
796
<exclude name="${java.part.android}" />
798
<fileset dir="resources/assets">
799
<include name="**" />
803
<!-- Copy antlr.jar into build directory for convenience so
804
gluegen.jar can be run via "java -jar". antlr.jar is
805
referenced via a Class-Path entry in the Manifest of
807
<copy file="${antlr.jar}" todir="${build}" />
809
<!-- copy a jnlp with empty codebase into build folder for local testing
810
overwrite property in gluegen.proerpties if desired -->
811
<property name="gluegen.jnlp.codebase" value=""/>
813
<copy file="${gluegen.root}/jnlp-files/gluegen-rt.jnlp" todir="${build}">
815
<replacestring from="GLUEGEN_CODEBASE_TAG" to="${gluegen.jnlp.codebase}"/>
820
<target name="gluegen.build.android" if="android-jars.available">
821
<!--compile gluegen-rt-android first-->
822
<javac destdir="${classes}"
823
includeAntRuntime="false"
824
includes="${gluegen-rt.classes} ${jogamp.common.classes}"
825
excludes="${gluegen.excludes.all}"
826
memoryMaximumSize="${javac.memorymax}"
828
source="${target.sourcelevel}"
829
target="${target.targetlevel}"
830
bootclasspath="${target.rt.jar}"
831
debug="${javacdebug}" debuglevel="${javacdebuglevel}">
832
<src path="${src.java}" />
833
<src path="${src.generated.java}" />
834
<classpath refid="cc_gluegen_android.classpath" />
837
<copy file="Manifest-rt-android"
838
tofile="${build}/Manifest-rt-android.temp"
841
<filter token="VERSION" value="${jogamp.version}"/>
842
<filter token="BUILD_VERSION" value="${gluegen.version}"/>
843
<filter token="SCM_BRANCH" value="${gluegen.build.branch}"/>
844
<filter token="SCM_COMMIT" value="${gluegen.build.commit}"/>
845
<filter token="BASEVERSION" value="${jogamp.version.base}"/>
846
<filter token="JAR_CODEBASE_TAG" value="${jogamp.jar.codebase}"/>
850
<!-- Build gluegen-rt-android.jar. -->
851
<jar destfile="${build}/gluegen-rt-android.jar" manifest="${build}/Manifest-rt-android.temp">
852
<fileset dir="${classes}">
853
<include name="com/jogamp/gluegen/runtime/*.class" />
854
<include name="com/jogamp/common/**" />
855
<include name="jogamp/common/**" />
856
<include name="${java.part.android}" />
857
<exclude name="${java.part.awt}" />
858
<exclude name="${jogamp-android-launcher.classes}" />
860
<fileset dir="resources/assets">
861
<include name="**" />
866
<target name="gluegen.build.java" depends="gluegen.cpptasks.detect.os,gluegen.build.check.java" unless="gluegen.build.skip.java">
867
<antcall target="generate-hash-maps" inheritRefs="true"/>
868
<antcall target="generate-primitive-stacks" inheritRefs="true"/>
869
<antcall target="gluegen.build.javase" inheritRefs="true"/>
870
<antcall target="gluegen.build.android" inheritRefs="true"/>
873
<target name="gluegen.build.check.android-launcher" depends="init">
874
<uptodate property="gluegen.build.skip.android-launcher">
875
<srcfiles dir= "." includes="*.xml"/>
876
<srcfiles dir= "resources/android" includes="**/*.xml"/>
877
<srcfiles dir= "${src.java}/jogamp/android/launcher" includes="**"/>
878
<mapper type="merge" to="${build}/jogamp-android-launcher.jar"/>
882
<target name="android-launcher.build" depends="gluegen.cpptasks.detect.os,gluegen.build.check.android-launcher" if="android-jars.available" unless="gluegen.build.skip.android-launcher">
883
<javac destdir="${classes}"
884
includeAntRuntime="false"
885
includes="${jogamp-android-launcher.classes}"
886
excludes="${jogamp.common.classes}"
887
memoryMaximumSize="${javac.memorymax}"
889
source="${target.sourcelevel}"
890
target="${target.targetlevel}"
891
bootclasspath="${target.rt.jar}"
892
debug="${javacdebug}" debuglevel="${javacdebuglevel}">
893
<src path="${src.java}" />
894
<classpath refid="android.classpath" />
897
<copy file="Manifest-android-launcher"
898
tofile="${build}/Manifest-android-launcher.temp"
901
<filter token="VERSION" value="${jogamp.version}"/>
902
<filter token="BUILD_VERSION" value="${gluegen.version}"/>
903
<filter token="SCM_BRANCH" value="${gluegen.build.branch}"/>
904
<filter token="SCM_COMMIT" value="${gluegen.build.commit}"/>
905
<filter token="BASEVERSION" value="${jogamp.version.base}"/>
906
<filter token="JAR_CODEBASE_TAG" value="${jogamp.jar.codebase}"/>
910
<jar destfile="${build}/jogamp-android-launcher.jar" manifest="${build}/Manifest-android-launcher.temp">
911
<fileset dir="${classes}">
912
<include name="${jogamp-android-launcher.classes}" />
917
<target name="android-launcher.package" depends="android-launcher.build" if="isAndroid" unless="gluegen.build.skip.android-launcher">
919
assetsdir="resources/assets-launcher"
920
jarbuilddir="${build}"
921
jarbasename="jogamp-android-launcher"
922
nativebuilddir="${build}"
923
nativebasename="non-existing"
924
androidmanifest.path="resources/android/AndroidManifest-Launcher.xml"
925
androidresources.path="resources/android/res"
926
jarmanifest.path="${build}/Manifest-android-launcher.temp"
927
version.code="${jogamp.version.int}"
928
version.name="${jogamp.version}"
932
<target name="gluegen.build.check.aapt" depends="init">
933
<uptodate property="gluegen.build.skip.aapt">
934
<srcfiles dir= "." includes="*.xml"/>
935
<srcfiles dir= "${src.java}" includes="**"/>
936
<srcfiles dir= "${src.generated}" includes="**"/>
937
<mapper type="merge" to="${build}/gluegen-rt-android-${android.abi}.apk"/>
941
<target name="android.package" depends="gluegen.cpptasks.detect.os,gluegen.build.check.aapt" if="isAndroid" unless="gluegen.build.skip.aapt" >
944
assetsdir="resources/assets"
945
jarbuilddir="${build}"
946
jarbasename="gluegen-rt-android"
947
nativebuilddir="${gluegen.lib.dir}"
948
nativebasename="gluegen-rt"
949
android.abi="${android.abi}"
950
androidmanifest.path="resources/android/AndroidManifest-Runtime.xml"
951
androidresources.path="resources/android/res"
952
jarmanifest.path="${build}/Manifest-rt-android.temp"
953
version.code="${jogamp.version.int}"
954
version.name="${jogamp.version}"
958
<target name="base.compile" description="Base compile ensuring valid build results w/o tampering the artifacts.properties"
959
depends="init, android-launcher.package, gluegen.build.java, gluegen.build.c" />
961
<target name="all.no_junit" description="Release build" depends="init, base.compile, tag.build, android.package, developer-zip-archive" />
962
<target name="all" description="Release build" depends="init, base.compile, tag.build, junit.compile, android.package, developer-zip-archive" />
964
<target name="all.debug" description="Debug build" depends="init.debug, base.compile, tag.build, junit.compile, developer-zip-archive" />
966
<target name="all.ide" description="Debug IDE build including all junit tests, but don't tag the build or create archives" depends="init.debug, base.compile, tag.build, junit.compile" />
968
<target name="clean" depends="init">
969
<delete includeEmptyDirs="true">
970
<fileset dir="${build}" />
974
<target name="tag.build" depends="init">
975
<echo message='gluegen.build.number=${gluegen.build.number}${line.separator}' file="${build}/artifact.properties"/>
976
<echo message='gluegen.build.id=${gluegen.build.id}${line.separator}' file="${build}/artifact.properties" append="true"/>
977
<echo message='gluegen.build.branch=${gluegen.build.branch}${line.separator}' file="${build}/artifact.properties" append="true"/>
978
<echo message='gluegen.build.commit=${gluegen.build.commit}${line.separator}' file="${build}/artifact.properties" append="true"/>
981
<target name="junit.compile" depends="init">
982
<ant antfile="build-test.xml" target="junit.compile"/>
985
<target name="junit.run" depends="init,junit.compile">
986
<ant antfile="build-test.xml" target="junit.run"/>
989
<target name="javadoc" depends="init">
990
<!-- Build the general public Javadoc in the target folder hierarchy javadoc/gluegen/javadoc -->
991
<delete dir="${javadoc.gluegen.path}" includeEmptyDirs="true" quiet="true" failonerror="false" />
992
<mkdir dir="${javadoc.gluegen.path}" />
993
<javadoc packagenames="com.jogamp.*"
994
sourcepath="${src.java};${src.generated.java}"
995
destdir="${javadoc.gluegen.path}" windowtitle="GlueGen Runtime Documentation"
996
overview="../src/java/com/jogamp/gluegen/package.html"
998
source="${target.sourcelevel}"
999
maxmemory="${javac.memorymax}"
1000
stylesheetfile="doc/javadoc/stylesheet.css">
1001
<classpath path="${classes}"/>
1002
<link offline="true" href="${javadoc.link}" packagelistLoc="142-packages" />
1004
<copy todir="${javadoc.gluegen.path}/resources" overwrite="true">
1005
<fileset dir="doc/javadoc/resources" includes="*" />
1007
<!-- <archive.7z destfile="${build}/javadoc.7z"
1008
basedir="${javadoc.root.path}"
1009
includes="gluegen/**" />-->
1012
<!-- ================================================================== -->
1014
- Build the per-platform binary zip archive for developers.
1015
- This must be called after all of the build targets complete.
1018
<target name="developer-src-zip" depends="init">
1019
<!--delete includeEmptyDirs="true" quiet="true" failonerror="false">
1020
<fileset dir="${build}" includes="gluegen-java-src.zip" />
1022
<zip destfile="${build}/gluegen-java-src.zip" level="0">
1023
<fileset dir="${src.java}"/>
1024
<fileset dir="${build}/gensrc/java"/>
1028
<target name="developer-zip-archive" depends="init,developer-src-zip" if="build.archiveon">
1029
<delete includeEmptyDirs="true" quiet="true" dir="${archive}" failonerror="false" />
1030
<mkdir dir="${archive}" />
1031
<copy file="${build}/artifact.properties" todir="${archive}"/>
1032
<copy file="../LICENSE.txt" todir="${archive}" />
1033
<mkdir dir="${archive}/jar" />
1034
<copy todir="${archive}/jar">
1035
<fileset dir="${build}" includes="gluegen*.jar"/>
1036
<fileset dir="${build}" includes="*.apk"/>
1038
<mkdir dir="${archive}/lib" />
1039
<copy todir="${archive}/lib">
1040
<fileset dir="${build}/obj" includes="*${native.library.suffix}"/>
1042
<mkdir dir="${archive}/jnlp-files" />
1043
<copy todir="${archive}/jnlp-files">
1044
<fileset dir="${project.root}/jnlp-files" includes="*" />
1046
<copy todir="${archive}" file="${build}/gluegen-java-src.zip"/>
1047
<!-- <archive.7z destfile="${build}/${archive.name}.7z"
1049
includes="${archive.name}/**" />-->
1050
<!-- Clean up after ourselves -->
1051
<delete includeEmptyDirs="true" quiet="true" dir="${archive}" failonerror="false" />
1054
<!-- Put the files created by target gluegen.build from
1055
build directory to maven repository, local or remote
1056
(targets maven.install and maven.deploy.snapshot respectively)-->
1058
<import file="maven-common.xml" />
1060
<target name="maven.prepare.pom">
1061
<copy file="pom-template.xml" tofile="${build}/pom-${artifactId}.xml" overwrite="true">
1063
<filter token="ARTIFACTID" value="${artifactId}"/>
1064
<filter token="VERSION" value="${maven.artifacts.version}"/>
1065
<filter token="DESCRIPTION" value="${description}"/>
1066
<filter token="DEPENDENCIES" value=""/>
1071
<target name="maven.prepare.native.pom">
1072
<loadfile srcfile="pom-rt-dependency.xml" property="maven.dependencies.section"/>
1073
<copy file="pom-template.xml" tofile="${build}/pom-${artifactId}-${os.and.arch}.xml" overwrite="true">
1074
<filterchain description="Put in the dependencies section, then replace tokens">
1076
<token key="DEPENDENCIES" value="${maven.dependencies.section}"/>
1079
<token key="ARTIFACTID" value="${artifactId}"/>
1080
<token key="VERSION" value="${maven.artifacts.version}"/>
1081
<token key="DESCRIPTION" value="${description}"/>
1087
<target name="maven.install.artifact">
1088
<antcall target="maven.prepare.pom" inheritall="true"/>
1089
<exec executable="mvn" dir="${build}">
1090
<arg value="install:install-file"/>
1091
<arg value="-Dfile=${artifactId}.jar"/>
1092
<arg value="-DpomFile=pom-${artifactId}.xml"/>
1093
<arg value="-DcreateChecksum=true"/>
1098
<target name="maven.install.native.artifact">
1099
<antcall target="maven.prepare.native.pom" inheritall="true"/>
1100
<exec executable="mvn" dir="${build}">
1101
<arg value="install:install-file"/>
1102
<arg value="-Dfile=${artifactId}-${os.and.arch}.jar"/>
1103
<arg value="-DpomFile=pom-${artifactId}-${os.and.arch}.xml"/>
1104
<arg value="-DcreateChecksum=true"/>
1105
<arg value="-Dclassifier=${os.and.arch}"/>
1109
<target name="maven.deploy.artifact">
1110
<antcall target="maven.prepare.pom" inheritall="true"/>
1111
<exec executable="mvn" dir="${build}">
1112
<arg value="deploy:deploy-file"/>
1113
<arg value="-DrepositoryId=sonatype-nexus-snapshots"/>
1114
<arg value="-Durl=https://oss.sonatype.org/content/repositories/snapshots/"/>
1116
<arg value="-Dfile=${artifactId}.jar"/>
1117
<arg value="-DpomFile=pom-${artifactId}.xml"/>
1118
<arg value="-DcreateChecksum=true"/>
1122
<target name="maven.deploy.native.artifact">
1123
<antcall target="maven.prepare.native.pom" inheritall="true"/>
1124
<exec executable="mvn" dir="${build}">
1125
<arg value="deploy:deploy-file"/>
1126
<arg value="-DrepositoryId=sonatype-nexus-snapshots"/>
1127
<arg value="-Durl=https://oss.sonatype.org/content/repositories/snapshots/"/>
1129
<arg value="-Dfile=${artifactId}-${os.and.arch}.jar"/>
1130
<arg value="-DpomFile=pom-${artifactId}-${os.and.arch}.xml"/>
1131
<arg value="-DcreateChecksum=true"/>
1132
<arg value="-Dclassifier=${os.and.arch}"/>
1136
<target name="maven.antcalls">
1137
<antcall target="maven.${mvn.task}.artifact" inheritall="true">
1138
<param name="artifactId" value="gluegen"/>
1139
<param name="description" value="GlueGen - JNI Glue Code Generator"/>
1141
<antcall target="maven.${mvn.task}.artifact" inheritall="true">
1142
<param name="artifactId" value="gluegen-rt"/>
1143
<param name="description" value="GlueGen runtime"/>
1145
<antcall target="maven.${mvn.task}.native.artifact" inheritall="true">
1146
<param name="artifactId" value="gluegen-rt-natives"/>
1147
<param name="description" value="GlueGen runtime native libraries for ${os.and.arch}"/>
1151
<target name="maven.install" depends="init, base.compile, tag.build">
1152
<property name="maven.artifacts.version" value="${jogamp.version.base}"/>
1153
<antcall target="maven.antcalls" inheritall="true">
1154
<param name="mvn.task" value="install"/>
1158
<target name="maven.deploy.snapshot" depends="init, base.compile, tag.build">
1159
<property name="maven.artifacts.version" value="${jogamp.version.base}-SNAPSHOT"/>
1160
<antcall target="maven.antcalls" inheritall="true">
1161
<param name="mvn.task" value="deploy"/>