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¶
- 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"
- Open the solution
djinni_support_lib.sln
in Visual Studio. - Build
DjinniCppCliTest
. - 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:
- 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. - Create a PR to the conan-center-index to publish the new version to Conan Center.
Last update: May 7, 2021