summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Donszelmann <duns@macserver.donszelmann.org>2010-10-26 12:53:27 +0200
committerMark Donszelmann <duns@macserver.donszelmann.org>2010-10-26 12:53:27 +0200
commitb462f0a345461aa653aee1d71ade66f925543807 (patch)
tree82798c31d1f94a7ab8b6cea3360d31d529920f87
parent9af270beb1414531363aa1fcb6cba7565ca0075a (diff)
downloadmaven-nar-plugin-b462f0a345461aa653aee1d71ade66f925543807.tar.gz
maven-nar-plugin-b462f0a345461aa653aee1d71ade66f925543807.tar.bz2
maven-nar-plugin-b462f0a345461aa653aee1d71ade66f925543807.tar.xz
maven-nar-plugin-b462f0a345461aa653aee1d71ade66f925543807.zip
Added test for NAR-158 but decided it would not work. Left the test. Native tests will include javah generated directory
-rw-r--r--src/it/it0003-jni/src/main/c/HelloWorldJNI.c5
-rw-r--r--src/it/it0003-jni/src/main/java/it0003/HelloWorldJNI.java3
-rw-r--r--src/it/it0003-jni/src/test/java/it0003/test/HelloWorldJNITest.java7
-rw-r--r--src/main/java/org/apache/maven/plugin/nar/NarTestCompileMojo.java7
4 files changed, 22 insertions, 0 deletions
diff --git a/src/it/it0003-jni/src/main/c/HelloWorldJNI.c b/src/it/it0003-jni/src/main/c/HelloWorldJNI.c
index f663a54..6126a9c 100644
--- a/src/it/it0003-jni/src/main/c/HelloWorldJNI.c
+++ b/src/it/it0003-jni/src/main/c/HelloWorldJNI.c
@@ -33,3 +33,8 @@ JNIEXPORT jstring JNICALL Java_it0003_HelloWorldJNI_sayHello( JNIEnv *env, jobje
return value;
}
+JNIEXPORT jint JNICALL Java_it0003_HelloWorldJNI_timesHello
+ (JNIEnv *env, jobject obj, jint x, jint y) {
+ return x * y;
+}
+
diff --git a/src/it/it0003-jni/src/main/java/it0003/HelloWorldJNI.java b/src/it/it0003-jni/src/main/java/it0003/HelloWorldJNI.java
index 8a5284f..94a027b 100644
--- a/src/it/it0003-jni/src/main/java/it0003/HelloWorldJNI.java
+++ b/src/it/it0003-jni/src/main/java/it0003/HelloWorldJNI.java
@@ -27,10 +27,13 @@ public class HelloWorldJNI
}
public final native String sayHello();
+ public final native int timesHello(int x, int y);
public static void main( String[] args )
{
HelloWorldJNI app = new HelloWorldJNI();
System.out.println( app.sayHello() );
+
+ System.out.println( app.timesHello(5, 7) );
}
}
diff --git a/src/it/it0003-jni/src/test/java/it0003/test/HelloWorldJNITest.java b/src/it/it0003-jni/src/test/java/it0003/test/HelloWorldJNITest.java
index 15b85b5..b3cbc50 100644
--- a/src/it/it0003-jni/src/test/java/it0003/test/HelloWorldJNITest.java
+++ b/src/it/it0003-jni/src/test/java/it0003/test/HelloWorldJNITest.java
@@ -31,4 +31,11 @@ public class HelloWorldJNITest
HelloWorldJNI app = new HelloWorldJNI();
Assert.assertEquals( "Hello NAR World!", app.sayHello() );
}
+
+ @Test public final void testNativeTimesWorldJNI()
+ throws Exception
+ {
+ HelloWorldJNI app = new HelloWorldJNI();
+ Assert.assertEquals( 35, app.timesHello(5, 7));
+ }
}
diff --git a/src/main/java/org/apache/maven/plugin/nar/NarTestCompileMojo.java b/src/main/java/org/apache/maven/plugin/nar/NarTestCompileMojo.java
index 034e3ed..078f78e 100644
--- a/src/main/java/org/apache/maven/plugin/nar/NarTestCompileMojo.java
+++ b/src/main/java/org/apache/maven/plugin/nar/NarTestCompileMojo.java
@@ -159,6 +159,12 @@ public class NarTestCompileMojo
task.createIncludePath().setPath( include.getPath() );
}
}
+
+ // add javah generated include path
+ File jniIncludeDir = getJavah().getJniDirectory();
+ if (jniIncludeDir.exists()) {
+ task.createIncludePath().setPath(jniIncludeDir.getPath());
+ }
// add linker
LinkerDef linkerDefinition =
@@ -170,6 +176,7 @@ public class NarTestCompileMojo
File includeDir =
getLayout().getIncludeDirectory( getTargetDirectory(), getMavenProject().getArtifactId(),
getMavenProject().getVersion() );
+
File libDir =
getLayout().getLibDirectory( getTargetDirectory(), getMavenProject().getArtifactId(),
getMavenProject().getVersion(), getAOL().toString(), test.getLink() );