Skip to content

Latest commit

 

History

History
27 lines (19 loc) · 1.84 KB

File metadata and controls

27 lines (19 loc) · 1.84 KB

Building the NAPI

There are two components to the NAPI, each with their own environment requirements to build.

Native Code

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_HOME set
  • For Linux and macOS, a bitness-compatible Notes or Domino runtime and the notes-program Maven 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-program property must still be set to at least an arbitrary value to kick off native compilation

Java Code

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-platform Maven property in your settings.xml. The IBM Domino Update Site for Build Management works for this purpose.