summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2014-05-09 09:41:57 +0200
committerSven Gothel <[email protected]>2014-05-09 09:41:57 +0200
commitdb5bdd94d004038146a0f9f09caf2e0f1866d67a (patch)
tree15a7db180e13e8aa3ac56a69cc3c52d0372e46b3
parent075471df41497e07891ad3e3944ee8e8e754199a (diff)
build/test: Add ant-junit4.jar to classpath; Add experimental gluegen-rt-alt recipe (inactive); Misc ..
-rwxr-xr-xmake/Manifest-rt-alt19
-rw-r--r--make/build-test.xml2
-rw-r--r--make/build.xml27
-rwxr-xr-xmake/gluegen-properties.xml1
-rwxr-xr-xmake/scripts/make.gluegen.all.generic.sh26
-rwxr-xr-xmake/scripts/runtest.sh31
-rw-r--r--src/junit/com/jogamp/gluegen/test/junit/generation/Test1p2LoadJNIAndImplLib.java77
7 files changed, 167 insertions, 16 deletions
diff --git a/make/Manifest-rt-alt b/make/Manifest-rt-alt
new file mode 100755
index 0000000..d95830e
--- /dev/null
+++ b/make/Manifest-rt-alt
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Application-Name: GlueGen Run-Time
+Specification-Title: GlueGen Java Bindings Generator
+Specification-Version: @BASEVERSION@
+Specification-Vendor: JogAmp Community
+Implementation-Title: GlueGen Run-Time
+Implementation-Version: @VERSION@
+Implementation-Build: @BUILD_VERSION@
+Implementation-Branch: @SCM_BRANCH@
+Implementation-Commit: @SCM_COMMIT@
+Implementation-Vendor: JogAmp Community
+Implementation-Vendor-Id: com.jogamp
+Implementation-URL: http://jogamp.org/
+Extension-Name: com.jogamp.common
+Trusted-Library: true
+Permissions: all-permissions
+Application-Library-Allowable-Codebase: *
+@JAR_CODEBASE_TAG@
+
diff --git a/make/build-test.xml b/make/build-test.xml
index 932d964..2305fe9 100644
--- a/make/build-test.xml
+++ b/make/build-test.xml
@@ -86,7 +86,7 @@
<pathelement location="${gluegen-test.jar}" />
</path>
<property name="junit.run.jars" value="${junit.jar}${path.separator}${ant.jar}${path.separator}${TestJarsInJar.jar}${path.separator}${gluegen.root}/${rootrel.build}/gluegen-rt.jar${path.separator}${gluegen.root}/${rootrel.build}/gluegen.jar${path.separator}${build_t}/gluegen-test.jar"/>
- <property name="junit.run.remote.jars" value="${junit.jar}${path.separator}${env.TARGET_ANT_HOME}/lib/ant.jar${path.separator}${env.TARGET_ANT_HOME}/lib/ant-junit.jar${path.separator}${gluegen.root}/make/lib/TestJarsInJar.jar${path.separator}${gluegen.root}/${rootrel.build}/gluegen-rt.jar${path.separator}${gluegen.root}/${rootrel.build}/gluegen.jar${path.separator}${build_t}/gluegen-test.jar"/>
+ <property name="junit.run.remote.jars" value="${junit.jar}${path.separator}${env.TARGET_ANT_HOME}/lib/ant.jar${path.separator}${env.TARGET_ANT_HOME}/lib/ant-junit.jar${path.separator}${env.TARGET_ANT_HOME}/lib/ant-junit4.jar${path.separator}${gluegen.root}/make/lib/TestJarsInJar.jar${path.separator}${gluegen.root}/${rootrel.build}/gluegen-rt.jar${path.separator}${gluegen.root}/${rootrel.build}/gluegen.jar${path.separator}${build_t}/gluegen-test.jar"/>
<property name="junit.run.remote.apks" value="${gluegen.root}/${rootrel.build}/jogamp-android-launcher.apk${path.separator}${ant-junit-all.apk}${path.separator}${gluegen.root}/${rootrel.build}/gluegen-rt-android-${android.abi}.apk${path.separator}${build_t}/gluegen-test.apk${path.separator}${gluegen.root}/make/lib/TestJarsInJar.apk"/>
<property name="stub.includes.dir" value="stub_includes" /> <!-- NOTE: this MUST be relative for FileSet -->
diff --git a/make/build.xml b/make/build.xml
index d835f8b..8791d76 100644
--- a/make/build.xml
+++ b/make/build.xml
@@ -778,6 +778,19 @@
</filterset>
</copy>
+ <!-- copy file="Manifest-rt-alt"
+ tofile="${build}/Manifest-rt-alt.temp"
+ overwrite="true">
+ <filterset>
+ <filter token="VERSION" value="${jogamp.version}"/>
+ <filter token="BUILD_VERSION" value="${gluegen.version}"/>
+ <filter token="SCM_BRANCH" value="${gluegen.build.branch}"/>
+ <filter token="SCM_COMMIT" value="${gluegen.build.commit}"/>
+ <filter token="BASEVERSION" value="${jogamp.version.base}"/>
+ <filter token="JAR_CODEBASE_TAG" value="${jogamp.jar.codebase}"/>
+ </filterset>
+ </copy -->
+
<copy file="Manifest-rt-natives"
tofile="${build}/Manifest-rt-natives.temp"
overwrite="true">
@@ -805,6 +818,20 @@
</fileset>
</jar>
+ <!-- Build gluegen-rt-alt.jar. -->
+ <!-- jar destfile="${build}/gluegen-rt-alt.jar" manifest="${build}/Manifest-rt-alt.temp">
+ <fileset dir="${classes}">
+ <include name="com/jogamp/gluegen/runtime/*.class" />
+ <include name="com/jogamp/common/**" />
+ <include name="jogamp/common/**" />
+ <exclude name="${jogamp-android-launcher.classes}" />
+ <exclude name="${java.part.android}" />
+ </fileset>
+ <fileset dir="resources/assets">
+ <include name="**" />
+ </fileset>
+ </jar -->
+
<!-- Copy antlr.jar into build directory for convenience so
gluegen.jar can be run via "java -jar". antlr.jar is
referenced via a Class-Path entry in the Manifest of
diff --git a/make/gluegen-properties.xml b/make/gluegen-properties.xml
index 59a133d..b9411cc 100755
--- a/make/gluegen-properties.xml
+++ b/make/gluegen-properties.xml
@@ -53,6 +53,7 @@
<property name="junit.jar" value="${gluegen.root}/make/lib/junit.jar" />
<property name="ant.jar" value="${ant.home}/lib/ant.jar" />
<property name="ant-junit.jar" value="${ant.home}/lib/ant-junit.jar" />
+ <property name="ant-junit4.jar" value="${ant.home}/lib/ant-junit4.jar" />
<property name="android.version" value="9" /> <!-- default - if not set by jogamp-env.xml:jogamp.env.init -->
<property name="android-min.jar" value="${gluegen.root}/make/lib/android-sdk/${android.version}/android.jar" />
diff --git a/make/scripts/make.gluegen.all.generic.sh b/make/scripts/make.gluegen.all.generic.sh
new file mode 100755
index 0000000..d212a8b
--- /dev/null
+++ b/make/scripts/make.gluegen.all.generic.sh
@@ -0,0 +1,26 @@
+#! /bin/sh
+
+# -Dc.compiler.debug=true
+# -Dgluegen.cpptasks.detected.os=true \
+# -DisUnix=true \
+# -DisLinux=true \
+# -DisLinuxAMD64=true \
+# -DisX11=true \
+#
+# -Dtarget.sourcelevel=1.6 \
+# -Dtarget.targetlevel=1.6 \
+# -Dtarget.rt.jar=/opt-share/jre1.6.0_30/lib/rt.jar \
+#
+# -Dc.compiler.debug=true \
+# -Djavacdebuglevel="source,lines,vars" \
+
+export SOURCE_LEVEL=1.6
+export TARGET_LEVEL=1.6
+export TARGET_RT_JAR=/opt-share/jre1.6.0_30/lib/rt.jar
+
+#export JOGAMP_JAR_CODEBASE="Codebase: *.jogamp.org"
+export JOGAMP_JAR_CODEBASE="Codebase: *.goethel.localnet"
+
+# BUILD_ARCHIVE=true \
+ant \
+ $* 2>&1 | tee make.gluegen.all.generic.log
diff --git a/make/scripts/runtest.sh b/make/scripts/runtest.sh
index 62376d1..947755f 100755
--- a/make/scripts/runtest.sh
+++ b/make/scripts/runtest.sh
@@ -57,22 +57,22 @@ rm -f $LOG
#D_ARGS="-Djogamp.debug=all"
function onetest() {
- CLASSPATH=lib/junit.jar:$ANT_JARS:"$builddir"/../make/lib/TestJarsInJar.jar:"$builddir"/gluegen-rt.jar:"$builddir"/gluegen.jar:"$builddir"/test/build/gluegen-test.jar
+ USE_CLASSPATH=lib/junit.jar:$ANT_JARS:"$builddir"/../make/lib/TestJarsInJar.jar:"$builddir"/gluegen-rt.jar:"$builddir"/gluegen.jar:"$builddir"/test/build/gluegen-test.jar
+ #USE_CLASSPATH=lib/junit.jar:$ANT_JARS:"$builddir"/../make/lib/TestJarsInJar.jar:"$builddir"/gluegen-rt-alt.jar:"$builddir"/gluegen.jar:"$builddir"/test/build/gluegen-test.jar
libspath="$builddir"/test/build/natives
- #CLASSPATH=lib/junit.jar:$ANT_JARS:"$builddir"/../make/lib/TestJarsInJar.jar:"$builddir"/classes:"$builddir"/test/build/classes
+ #USE_CLASSPATH=lib/junit.jar:$ANT_JARS:"$builddir"/../make/lib/TestJarsInJar.jar:"$builddir"/classes:"$builddir"/test/build/classes
#libspath="$builddir"/obj:"$builddir"/test/build/natives:
LD_LIBRARY_PATH=$libspath:$LD_LIBRARY_PATH
DYLD_LIBRARY_PATH=$LD_LIBRARY_PATH
export LD_LIBRARY_PATH DYLD_LIBRARY_PATH
echo LD_LIBRARY_PATH $LD_LIBRARY_PATH
- echo CLASSPATH $CLASSPATH
+ echo USE_CLASSPATH $USE_CLASSPATH
which java
- #echo java -cp $CLASSPATH $D_ARGS -Djava.library.path=$libspath $clazz
- #java -cp $CLASSPATH $D_ARGS -Djava.library.path="$libspath" $*
- echo java -cp "$CLASSPATH" $D_ARGS $clazz
- java -cp "$CLASSPATH" $D_ARGS $*
- #echo java -cp $CLASSPATH $D_ARGS $clazz
- #java -cp $CLASSPATH $D_ARGS $*
+ #echo java -cp $USE_CLASSPATH $D_ARGS -Djava.library.path=$libspath $*
+ #java -cp $USE_CLASSPATH $D_ARGS -Djava.library.path="$libspath" $*
+ echo java -cp "$USE_CLASSPATH" $D_ARGS $*
+ java -cp "$USE_CLASSPATH" $D_ARGS $*
+ #j3 -cp "$USE_CLASSPATH" $D_ARGS $*
echo
}
#
@@ -103,11 +103,11 @@ function onetest() {
#onetest com.jogamp.common.util.TestValueConversion 2>&1 | tee -a $LOG
#onetest com.jogamp.common.util.TestSyncRingBuffer01 $*
#onetest com.jogamp.common.util.TestLFRingBuffer01 $*
-onetest com.jogamp.common.util.TestBitstream00 2>&1 | tee -a $LOG
-onetest com.jogamp.common.util.TestBitstream01 2>&1 | tee -a $LOG
-onetest com.jogamp.common.util.TestBitstream02 2>&1 | tee -a $LOG
-onetest com.jogamp.common.util.TestBitstream03 2>&1 | tee -a $LOG
-onetest com.jogamp.common.util.TestBitstream04 2>&1 | tee -a $LOG
+#onetest com.jogamp.common.util.TestBitstream00 2>&1 | tee -a $LOG
+#onetest com.jogamp.common.util.TestBitstream01 2>&1 | tee -a $LOG
+#onetest com.jogamp.common.util.TestBitstream02 2>&1 | tee -a $LOG
+#onetest com.jogamp.common.util.TestBitstream03 2>&1 | tee -a $LOG
+#onetest com.jogamp.common.util.TestBitstream04 2>&1 | tee -a $LOG
#onetest com.jogamp.common.net.TestUrisWithAssetHandler 2>&1 | tee -a $LOG
#onetest com.jogamp.common.net.TestURIQueryProps 2>&1 | tee -a $LOG
#onetest com.jogamp.common.net.AssetURLConnectionUnregisteredTest 2>&1 | tee -a $LOG
@@ -119,6 +119,7 @@ onetest com.jogamp.common.util.TestBitstream04 2>&1 | tee -a $LOG
#onetest com.jogamp.common.os.TestElfReader01 2>&1 | tee -a $LOG
#onetest com.jogamp.gluegen.PCPPTest 2>&1 | tee -a $LOG
#onetest com.jogamp.gluegen.test.junit.generation.Test1p1JavaEmitter 2>&1 | tee -a $LOG
-#onetest com.jogamp.gluegen.test.junit.generation.Test1p2ProcAddressEmitter 2>&1 | tee -a $LOG
+onetest com.jogamp.gluegen.test.junit.generation.Test1p2ProcAddressEmitter 2>&1 | tee -a $LOG
+#onetest com.jogamp.gluegen.test.junit.generation.Test1p2LoadJNIAndImplLib 2>&1 | tee -a $LOG
#onetest com.jogamp.gluegen.test.junit.structgen.TestStructGen01 2>&1 | tee -a $LOG
diff --git a/src/junit/com/jogamp/gluegen/test/junit/generation/Test1p2LoadJNIAndImplLib.java b/src/junit/com/jogamp/gluegen/test/junit/generation/Test1p2LoadJNIAndImplLib.java
new file mode 100644
index 0000000..b16194e
--- /dev/null
+++ b/src/junit/com/jogamp/gluegen/test/junit/generation/Test1p2LoadJNIAndImplLib.java
@@ -0,0 +1,77 @@
+/**
+ * Copyright 2010 JogAmp Community. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of JogAmp Community.
+ */
+
+package com.jogamp.gluegen.test.junit.generation;
+
+import com.jogamp.gluegen.test.junit.generation.impl.Bindingtest1p2Impl;
+import com.jogamp.common.os.NativeLibrary;
+
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.FixMethodOrder;
+import org.junit.runners.MethodSorters;
+
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class Test1p2LoadJNIAndImplLib extends BaseClass {
+
+ static NativeLibrary dynamicLookupHelper;
+
+ /**
+ * Verifies loading of the new library.
+ */
+ @BeforeClass
+ public static void chapter01TestLoadLibrary() throws Exception {
+ BindingJNILibLoader.loadBindingtest1p2();
+ dynamicLookupHelper = NativeLibrary.open("test1", Test1p2LoadJNIAndImplLib.class.getClassLoader(), true);
+ Assert.assertNotNull("NativeLibrary.open(test1) failed", dynamicLookupHelper);
+
+ Bindingtest1p2Impl.resetProcAddressTable(dynamicLookupHelper);
+ }
+
+ /**
+ * Verifies the existence and creation of the generated class.
+ */
+ @Test
+ public void chapter02TestClassExist() throws Exception {
+ testClassExist("test1p2");
+ }
+
+
+ @SuppressWarnings("unused")
+ public static void main(String args[]) throws Exception {
+ if( true ) {
+ chapter01TestLoadLibrary();
+ Test1p2LoadJNIAndImplLib tst = new Test1p2LoadJNIAndImplLib();
+ tst.chapter02TestClassExist();
+ } else {
+ String tstname = Test1p2LoadJNIAndImplLib.class.getName();
+ org.junit.runner.JUnitCore.main(tstname);
+ }
+ }
+}