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