aboutsummaryrefslogtreecommitdiffstats
path: root/make/build-test.xml
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2013-06-14 04:40:39 +0200
committerSven Gothel <[email protected]>2013-06-14 04:40:39 +0200
commita7802a2ab90a68ecbba962149a335f975fce24e7 (patch)
treea702cdf0e35e36f6e2bf042b6325c3f435c5b65c /make/build-test.xml
parent3cf28f2980b1593e4b32230d5206decd6afe2cbb (diff)
GlueGen (Compile Time): Add 'CStruct' Annotation Processor (APT) to 'gluegen' C Structs on-the-fly (2-pass actually).
Convenient annotation processing (APT) hooked to 'javac' (1.6) via gluegen.jar META-INF service provider 'javax.annotation.processing.Processor' -> 'com.jogamp.gluegen.structgen.CStructAnnotationProcessor'. Am implicit APT / JAVAC would be possible, however - to have a proper process the unit test utilizes an explicit 2 pass run: <!-- Annotation Processor Only - First --> <javac destdir="${build_t.java}"> <classpath refid="junit.compile.classpath"/> <compilerarg value="-proc:only"/> <compilerarg value="-J-Djogamp.gluegen.structgen.debug"/> <compilerarg value="-J-Djogamp.gluegen.structgen.output=${build_t.gen}/classes"/> <src path="${test.base.dir}/com/jogamp/gluegen/test/junit/structgen"/> </javac> <!-- Javac Only - Second --> <javac destdir="${build_t.java}"> <classpath refid="junit.compile.classpath"/> <compilerarg value="-proc:none"/> <src path="${test.base.dir}"/> <src path="${build_t.gen}" /> </javac> Original code from Michael Bien's 'superglue' git://github.com/mbien/superglue.git, finally merged to GlueGen (as once intended). Note: The APT javac pass requires to use 'gluegen.jar' instead of 'gluegen-rt.jar' ! The 2-pass process also alows using the runtime gluegen-rt.jar and hence ensures clean namespace check at compilation.
Diffstat (limited to 'make/build-test.xml')
-rw-r--r--make/build-test.xml19
1 files changed, 19 insertions, 0 deletions
diff --git a/make/build-test.xml b/make/build-test.xml
index 3c7da12..31dc773 100644
--- a/make/build-test.xml
+++ b/make/build-test.xml
@@ -114,6 +114,7 @@
<echo message=" test.base.dir ${test.base.dir}"/>
<echo message=" build_t.gen ${build_t.gen}"/>
+ <!-- Annotation Processor Only - First -->
<javac destdir="${build_t.java}"
fork="yes"
includeAntRuntime="false"
@@ -124,6 +125,24 @@
bootclasspath="${target.rt.jar}"
debug="${javacdebug}" debuglevel="${javacdebuglevel}">
<classpath refid="junit.compile.classpath"/>
+ <compilerarg value="-proc:only"/>
+ <compilerarg value="-J-Djogamp.gluegen.structgen.debug"/>
+ <compilerarg value="-J-Djogamp.gluegen.structgen.output=${build_t.gen}/classes"/>
+ <src path="${test.base.dir}/com/jogamp/gluegen/test/junit/structgen"/>
+ </javac>
+
+ <!-- Javac Only - Second -->
+ <javac destdir="${build_t.java}"
+ fork="yes"
+ includeAntRuntime="false"
+ memoryMaximumSize="${javac.memorymax}"
+ encoding="UTF-8"
+ source="${target.sourcelevel}"
+ target="${target.targetlevel}"
+ bootclasspath="${target.rt.jar}"
+ debug="${javacdebug}" debuglevel="${javacdebuglevel}">
+ <classpath refid="junit.compile.classpath"/>
+ <compilerarg value="-proc:none"/>
<src path="${test.base.dir}"/>
<src path="${build_t.gen}" />
</javac>