diff options
-rwxr-xr-x | make/Manifest-rt-alt | 19 | ||||
-rw-r--r-- | make/build-test.xml | 2 | ||||
-rw-r--r-- | make/build.xml | 27 | ||||
-rwxr-xr-x | make/gluegen-properties.xml | 1 | ||||
-rwxr-xr-x | make/scripts/make.gluegen.all.generic.sh | 26 | ||||
-rwxr-xr-x | make/scripts/runtest.sh | 31 | ||||
-rw-r--r-- | src/junit/com/jogamp/gluegen/test/junit/generation/Test1p2LoadJNIAndImplLib.java | 77 |
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); + } + } +} |