This repository creates standard builds of the LMDB native library. It packages the built libraries into operating system-specific JARs (with POMs). This allows LmdbJava (or other interested Java projects) to depend on these JARs using the normal Maven dependency resolution process.
The following dependencies are required (plus Java and Maven):
- GCC for building the Linux or OS X shared library
- Mingw-w64 for building the Windows DLL (on Linux)
(Arch Linux uses can
pacman -S mingw-w64-gcc) - Android NDK (Arch Linux users can
packer -S android-ndk)
This project is mainly intended to be built by Travis CI, as a Linux operating system is required to build the Linux and Windows libraries, and an OS X operating system is needed to build the OS X library. Nevertheless it is possible to execute the Linux or OS X component of the build locally.
Once the platform dependencies are met:
git submodule update --init
mvn clean installAn appropriate Maven profile will automatically be used for Linux or OS X.
This project uses the major.minor.patch-qualifier version numbering typical
of Maven projects. The major, minor and patch directly reflect the upstream
LMDB library version, as expressed by lmdb.h MDB_VERSION_* definitions.
The qualifier resets to 1 on a new major, minor or patch release.
LmdbJava shades inside its JAR all of the system libraries produced by this project. As such, end users typically have no need to refer to any artifacts produced by this project.
Travis CI automatically publishes snapshot releases to the OSS Sonatype Snapshots Repository.
Please open a GitHub issue if you have any questions.
Contributions are welcome! Please see the LmdbJava project's Contributing Guidelines.
Please see the Acegi Standard Project Release Instructions.
LMDB (and this repository for simplicity) is licensed under The OpenLDAP Public License.