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-test
Build without testing:
task package
Build without any extras:
task package-basic
Generate the JNI headers:
task jni-headers
Build and package the native library:
task native-lib
Run all tests:
task test
Run unit tests:
task unit-tests
Run integration tests:
task integration-tests
Before 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