clp-ffi-java is a library to encode log messages with CLP, and work with the encoded messages using a foreign function interface (FFI).
- A C++ compiler that supports C++-17
- CMake 3.5.1 or higher
- Task
- Initialize git submodules
git submodule update --init --recursive
- You should run this command any time you update this repo's submodules.
Build and test:
task
# or task package-and-testBuild without testing:
task packageBuild without any extras:
task package-basicGenerate the JNI headers:
task jni-headersBuild and package the native library:
task native-libRun all tests:
task testRun unit tests:
task unit-testsRun integration tests:
task integration-testsBefore submitting a PR, ensure you've run our linting tools and either fixed any violations or suppressed the warning. If you can't run the linting workflows locally, you can enable and run the lint workflow in your fork.
We currently support running our linting tools on Linux and macOS. If you're developing on another OS, you can submit a feature request, or use our lint workflow in your fork.
To run the linting tools, besides commonly installed tools like tar, you'll need:
md5sum- Python 3.8 or newer
- python3-venv
task lint