diff --git a/java/RELEASE.md b/java/RELEASE.md new file mode 100644 index 000000000..5df6ad353 --- /dev/null +++ b/java/RELEASE.md @@ -0,0 +1,29 @@ +## Cross-building + +To build RocksDB as a single self contained cross-platform JAR. The cross-platform jar can be usd on any 64-bit OSX system, 32-bit Linux system, or 64-bit Linux system. + +Building a cross-platform JAR requires: + + * [Vagrant](https://www.vagrantup.com/) + * [Virtualbox](https://www.virtualbox.org/) + * A Mac OSX machine + +Once you have these items, run this make command from RocksDB's root source directory: + + make jclean clean rocksdbjavastaticrelease + +This command will build RocksDB natively on OSX, and will then spin up two Vagrant Virtualbox Ubuntu images to build RocksDB for both 32-bit and 64-bit Linux. + +You can find all native binaries and JARs in the java directory upon completion: + + librocksdbjni-linux32.so + librocksdbjni-linux64.so + librocksdbjni-osx.jnilib + rocksdbjni-all.jar + rocksdbjni-linux32.jar + rocksdbjni-linux64.jar + rocksdbjni-osx.jar + +## Maven publication + +TODO diff --git a/java/crossbuild/README.md b/java/crossbuild/README.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/java/crossbuild/build-linux.sh b/java/crossbuild/build-linux.sh index 37b808140..7d5831510 100755 --- a/java/crossbuild/build-linux.sh +++ b/java/crossbuild/build-linux.sh @@ -6,6 +6,7 @@ sudo apt-get -y install git make gcc g++ libgflags-dev libsnappy-dev zlib1g-dev # set java home so we can build rocksdb jars export JAVA_HOME=$(echo /usr/lib/jvm/java-7-openjdk*) cd /rocksdb -make jclean clean -j 4 rocksdbjavastatic +make jclean clean +make -j 4 rocksdbjavastatic sudo shutdown -h now