Skip to content

Developer guide

Info

This chapter is only interesting if you intend to make changes to the code of djinni-support-lib

Building from source

Build dependencies

  • Djinni generator (compatible version specified in .tool-versions)
  • Java JDK 8 or 11

Building

Make sure you have the JAVA_HOME environment variable properly set, e.g.:

export JAVA_HOME=$(/usr/libexec/java_home)

For an out of source build:

mkdir -p build && cd build
cmake -DDJINNI_WITH_JNI=1 -DDJINNI_WITH_OBJC=1 ..
cmake --build . --parallel

A custom djinni executable can be specified with the CMake option DJINNI_EXECUTABLE_PATH.

Running Tests

Java, Objective-C

cd build/test-suite
ctest

C++/CLI

  1. Generate Visual Studio Solution with -G "Visual Studio 16 2019":
    cmake -S . -B build -DDJINNI_WITH_CPPCLI=ON -DDJINNI_STATIC_LIB=ON -G "Visual Studio 16 2019"
    
  2. Open the solution djinni_support_lib.sln in Visual Studio.
  3. Build DjinniCppCliTest.
  4. Run the tests: Test > Run All Tests.

Preview Documentation

The documentation in docs will be rendered as a part of djinni.xlcpp.dev.

You can preview how the docs will look like:

# install required dependencies
pip install -r mkdocs-requirements.txt
# render a live preview of the docs under http://127.0.0.1:8000
mkdocs serve 

Release process

To release a new version of the support-lib, the following steps must be followed:

  1. Create a new release on Github like described here. Set a tag version following semantic versioning rules (v<MAJOR>.<MINOR>.<PATCH>) and describe what has changed in the new version.
  2. Create a PR to the conan-center-index to publish the new version to Conan Center.

Last update: May 7, 2021