There are two components to the NAPI, each with their own environment requirements to build.
The C++ code is in the dwo-domino-napi-native folder. Binary versions of the libraries are kept in the repo, and so it is not necessary to rebuild this unless there is a change on the C++ side. By default, the prebuilt files will be installed by a mvn install.
To do a build for each platform, there are several external dependencies to configure:
- The header files from the "include" folder of the IBM C API Toolkit for Notes/Domino 9.0.1, placed in the "dependencies/notes" directory in that project
- CMake, installed from https://cmake.org or via your OS's package manager
- A compatible C/C++ compiler toolchain:
- macOS: Xcode
- Linux: gcc/g++
- Windows: MSVC 15+
- Java JDK 6+ and
JAVA_HOMEset - For Linux and macOS, a bitness-compatible Notes or Domino runtime and the
notes-programMaven property set in your settings.xml to the filesystem path to the program root- Note: on macOS, the program root will be something like
/Applications/IBM Notes.app/Contents/MacOS - Note: on Windows, the installation is not required, but the
notes-programproperty must still be set to at least an arbitrary value to kick off native compilation
- Note: on macOS, the program root will be something like
The Java projects are within the eclipse folder and have a few dependencies:
- The native project's binary libraries must be available in an active Maven repository
- A p2 site for a version of Domino 9.0.1 or above and pointed to in URL format in the
notes-platformMaven property in your settings.xml. The IBM Domino Update Site for Build Management works for this purpose.