[ismrmrd] 129/281: Improvments to the java bindings. Now builds the jaxb stuff for the xmlheader. Creates a javadoc. Still working on the automatic loader for simplified matlab use. Still no Append methods.
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Wed Jan 14 20:01:05 UTC 2015
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to annotated tag ismrmrd0.5
in repository ismrmrd.
commit 5e1fe48b3c01c35c8e54641ee9533d3df7db9f57
Author: Souheil Inati <souheil.inati at nih.gov>
Date: Thu Apr 4 11:59:19 2013 -0400
Improvments to the java bindings. Now builds the jaxb stuff for the xmlheader. Creates a javadoc.
Still working on the automatic loader for simplified matlab use. Still no Append methods.
---
bindings/java/CMakeLists.txt | 16 +++++++++++-----
bindings/java/JNILibLoader.java | 15 +++++++++++++++
bindings/java/make_jar.sh | 15 +++++++++++++--
3 files changed, 39 insertions(+), 7 deletions(-)
diff --git a/bindings/java/CMakeLists.txt b/bindings/java/CMakeLists.txt
index d2a2c48..9f22864 100644
--- a/bindings/java/CMakeLists.txt
+++ b/bindings/java/CMakeLists.txt
@@ -7,18 +7,24 @@ include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${JAVA_INCLUDE_DIRS})
include_directories(${HDF5_INCLUDE_DIR} ${HDF5_INCLUDE_DIR}/cpp ${Boost_INCLUDE_DIR})
-set_source_files_properties(ismrmrd_java.i PROPERTIES CPLUSPLUS ON)
+set(CMAKE_SWIG_FLAGS -package org.ismrm.ismrmrd)
+set(CMAKE_SWIG_OUTDIR ${CMAKE_CURRENT_BINARY_DIR}/org/ismrm/ismrmrd)
-SWIG_ADD_MODULE(jismrmrd java ismrmrd_java.i ../../ismrmrd_hdf5.cpp)
-SWIG_LINK_LIBRARIES(jismrmrd ${HDF5_LIBRARIES} ${Boost_LIBRARIES} ${JAVA_LIBRARIES})
+set(SWIG_SOURCES ismrmrd_java.i ../../ismrmrd_hdf5.cpp)
+set_source_files_properties(${SWIG_SOURCES} PROPERTIES CPLUSPLUS ON)
+swig_add_module(jismrmrd java ${SWIG_SOURCES})
+swig_link_libraries(jismrmrd ${HDF5_LIBRARIES} ${Boost_LIBRARIES} ${JAVA_LIBRARIES})
+## TODO: this will NOT work on Windows
set_source_files_properties(ismrmrd.jar PROPERTIES GENERATED true)
add_custom_command(
TARGET jismrmrd
POST_BUILD
- COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/make_jar.sh
- COMMENT "Generating java class files and ismrmrd.jar" VERBATIM
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "Compiling java files and creating jar" VERBATIM
+ COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/JNILibLoader.java
+ ${CMAKE_CURRENT_BINARY_DIR}/org/ismrm/ismrmrd
+ COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/make_jar.sh
)
install(TARGETS jismrmrd DESTINATION lib)
diff --git a/bindings/java/JNILibLoader.java b/bindings/java/JNILibLoader.java
new file mode 100644
index 0000000..e7add9e
--- /dev/null
+++ b/bindings/java/JNILibLoader.java
@@ -0,0 +1,15 @@
+package org.ismrm.ismrmrd;
+
+public class JNILibLoader {
+ public static void load() throws java.net.URISyntaxException {
+ ClassLoader loader = JNILibLoader.class.getClassLoader();
+ System.out.println(loader.getResource("org/ismrm/ismrmrd/JNILibLoader.class").toURI().getPath());
+ //System.load(JNIFile);
+ //System.load("/usr/local/ismrmrd/lib/libjismrmrd.jnilib");
+ //System.loadLibrary("jismrmrd");
+ }
+}
+
+
+
+
diff --git a/bindings/java/make_jar.sh b/bindings/java/make_jar.sh
index 6551470..2f5fe85 100755
--- a/bindings/java/make_jar.sh
+++ b/bindings/java/make_jar.sh
@@ -1,2 +1,13 @@
-javac *.java
-jar -cvf ismrmrd.jar *.class
+## The loader and the wrapper classes
+javac org/ismrm/ismrmrd/*.java
+
+## The XML Header classes
+# Make a class out of the schema
+xjc -p org.ismrm.ismrmrd.xmlhdr ../../../schema/ismrmrd.xsd
+javac org/ismrm/ismrmrd/xmlhdr/*.java
+
+# Build a big jar
+jar -cvf ismrmrd.jar org/ismrm/ismrmrd/*.class org/ismrm/ismrmrd/xmlhdr/*.class
+
+# Build the java docs
+javadoc -d ismrmrd.javadoc -subpackages org.ismrm.ismrmrd
\ No newline at end of file
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/ismrmrd.git
More information about the debian-science-commits
mailing list