Changeset: f0e13ce9b599 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f0e13ce9b599
Modified Files:
        java/embedded/build-all.sh
        java/embedded/pom.xml
        java/embedded/src/main/java/org/monetdb/embedded/MonetDBEmbedded.java
Branch: embedded-java
Log Message:

Put the compiled library in src/main/resources/lib

This was it will be bindled with the .jar
Adapt to using the configuraiton in the Java implementation


diffs (81 lines):

diff --git a/java/embedded/build-all.sh b/java/embedded/build-all.sh
--- a/java/embedded/build-all.sh
+++ b/java/embedded/build-all.sh
@@ -5,9 +5,10 @@ if [ -z "$1" ]; then
        exit 1;
 fi
 
-export MONETDB_HOME=$1
+start_dir=`pwd`
+source_main_dir=`pwd`/../../
 
-cd ../../
+cd $source_main_dir
 ## Bootstrap
 sh bootstrap
 rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
@@ -15,7 +16,7 @@ rc=$?; if [[ $rc != 0 ]]; then exit $rc;
 ## Configure
 mkdir BUILD
 cd BUILD
-../configure --prefix=$MONETDB_HOME \
+../configure --prefix=source_main_dir/BUILD/installation \
 --enable-embedded --enable-embedded-java \
 --disable-fits --disable-geom --disable-rintegration --disable-gsl 
--disable-netcdf \
 --disable-merocontrol --disable-odbc --disable-console --disable-microhttpd \
@@ -31,10 +32,12 @@ rc=$?; if [[ $rc != 0 ]]; then exit $rc;
 ## Combine libraries
 OFILES=`find common clients/mapilib/ gdk monetdb5/mal monetdb5/modules 
monetdb5/optimizer sql tools/embedded java/embedded -name "*.o" | tr "\n" " "`
 gcc -shared -o libmonetdb5.dylib $OFILES -lpthread -lpcre -lbz2 -llzma -lcurl 
-lz -liconv
+rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
 
 ## Copy the single lib
-cp libmonetdb5.dylib $MONETDB_HOME/lib
+mkdir -p $start_dir/src/main/resources/lib
+cp libmonetdb5.dylib $start_dir/src/main/resources/lib/
 
 ## Build embedded Java and test
-cd ../java/embedded
+cd $start_dir
 mvn clean install
diff --git a/java/embedded/pom.xml b/java/embedded/pom.xml
--- a/java/embedded/pom.xml
+++ b/java/embedded/pom.xml
@@ -64,7 +64,7 @@ MonetDB is an analytical database design
                                <artifactId>maven-surefire-plugin</artifactId>
                                <version>2.12.4</version>
                                <configuration>
-                                       
<argLine>-Djava.library.path="${env.MONETDB_HOME}/lib"</argLine>
+                                       
<argLine>-Djava.library.path="src/main/resources/lib"</argLine>
                                </configuration>
                        </plugin>
                        <plugin>
diff --git 
a/java/embedded/src/main/java/org/monetdb/embedded/MonetDBEmbedded.java 
b/java/embedded/src/main/java/org/monetdb/embedded/MonetDBEmbedded.java
--- a/java/embedded/src/main/java/org/monetdb/embedded/MonetDBEmbedded.java
+++ b/java/embedded/src/main/java/org/monetdb/embedded/MonetDBEmbedded.java
@@ -22,10 +22,6 @@ import org.monetdb.embedded.result.Embed
  * <strong>Note</strong>: You can have only one embedded MonetDB database 
running per JVM process.
  */
 public class MonetDBEmbedded implements Closeable {
-       static {
-               // Load the embedded library
-               System.loadLibrary("monetdb5");
-       }
        /** 
         * Flag if the embedded database was already started.
         */
@@ -51,6 +47,14 @@ public class MonetDBEmbedded implements 
         * @param silentFlag Silent flag
         */
        public MonetDBEmbedded(final File databaseDirectory, final boolean 
silentFlag) {
+               // Check if the lib path is set
+               if (System.getProperty("java.library.path").isEmpty() || 
"".equals(System.getProperty("java.library.path"))) {
+                       // If not set it to the location of the embedded native 
lib
+                       System.setProperty("java.library.path", 
"src/main/resources/lib");
+               }
+               // Load the embedded library
+               System.loadLibrary("monetdb5");
+               
                if (!databaseDirectory.isDirectory()) {
                        throw new IllegalArgumentException(databaseDirectory + 
" is not a directory");
                }
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to