summaryrefslogtreecommitdiff
path: root/test cases/java/9 jdk/src
diff options
context:
space:
mode:
authorTristan Partin <tristan@partin.io>2021-01-20 21:46:55 -0600
committerDylan Baker <dylan@pnwbakers.com>2021-04-12 10:43:11 -0700
commit4c13aa30a1714b1fdbebb465f4621f332e241505 (patch)
treebf6d41521b02a024a8cd24cf10ef75e57d38a57d /test cases/java/9 jdk/src
parent50cf8bcabaa2a9b1ae37c071c7c5f4afd47af4d0 (diff)
downloadmeson-4c13aa30a1714b1fdbebb465f4621f332e241505.tar.gz
dependency: Add JDK system dependency
The JDK system dependency is important for detecting JDK include paths that may be useful when developing a JNI interface.
Diffstat (limited to 'test cases/java/9 jdk/src')
-rw-r--r--test cases/java/9 jdk/src/com/mesonbuild/JdkTest.java15
-rw-r--r--test cases/java/9 jdk/src/meson.build17
2 files changed, 32 insertions, 0 deletions
diff --git a/test cases/java/9 jdk/src/com/mesonbuild/JdkTest.java b/test cases/java/9 jdk/src/com/mesonbuild/JdkTest.java
new file mode 100644
index 000000000..35c47cef8
--- /dev/null
+++ b/test cases/java/9 jdk/src/com/mesonbuild/JdkTest.java
@@ -0,0 +1,15 @@
+package com.mesonbuild;
+
+public final class JdkTest {
+ private static native int jdk_test();
+
+ public static void main(String[] args) {
+ if (jdk_test() != 0xdeadbeef) {
+ throw new RuntimeException("jdk_test() did not return 0");
+ }
+ }
+
+ static {
+ System.loadLibrary("jdkjava");
+ }
+}
diff --git a/test cases/java/9 jdk/src/meson.build b/test cases/java/9 jdk/src/meson.build
new file mode 100644
index 000000000..d1b9ee31c
--- /dev/null
+++ b/test cases/java/9 jdk/src/meson.build
@@ -0,0 +1,17 @@
+jdkjar = jar(
+ 'jdkjar',
+ 'com' / 'mesonbuild' / 'JdkTest.java',
+ main_class : 'com.mesonbuild.JdkTest',
+)
+
+test(
+ 'jdktest',
+ java,
+ args: [
+ '-Djava.library.path=@0@'.format(fs.parent(jdkjava.full_path())),
+ '-jar',
+ jdkjar,
+ ],
+ protocol : 'exitcode',
+ depends : [jdkjava],
+)