This repository is intended for internal use, but feel free to use however you want.
kbuild provides five main convention plugins:
jvm: For pure Kotlin/JVM libraries. Includes Dokka, Kover, and testing defaults.kmp: For Kotlin Multiplatform projects. Sets up common testing and toolchains.cli: For Kotlin Multiplatform CLI applications. Wires JVM and native executables onto consumer-declared targets; no publishing. AreleaseAssetstask collects stripped native binaries (<name>-<version>-<os>-<arch>), the JVM dist zip, and aSHA256SUMSfile intobuild/release-assets/for upload to GitHub releases.publish: Standardized Maven Central publishing logic, including automated POM generation and GPG signing.lint: Shared Detekt configuration with Eignex-specific style suppressions.
Both publishing and linting plugins are loaded by either jvm and kmp plugins. So in practice you apply either jvm or
kmp for libraries, or cli for applications. The cli plugin expects targets declared by the consumer and a
eignexCli { mainClass = "..."; entryPoint = "..." } block for the JVM main class and Kotlin/Native entry point.
To configure for your own projects you will need to fork and publish your own version.