Librarian is a library to help building Kotlin libraries.
Features:
- Java/Kotlin compatibility flags
- Maven Central publishing
- Dokkatoo configuration
- BCV configuration
- Maven pom compatibility for KMP projects
- Maven sympathy for transitive dependencies
- Autogenerated lib version constant
Work in progress...
Add librarian
to your Gradle buildscript classpath:
plugins {
id("com.gradleup.librarian").version("0.0.6")
}
Call librarianRoot
in your root module:
librarianRoot()
And librarianModule
in each library module:
librarianModule()
Librarian uses Gradle properties for configuration options and environment variables for secrets:
# gradle properties
# compatibility
librarian.javaCompatibility=8
librarian.kotlinCompatibility=2.0.0
# kdoc
librarian.kdoc.aggregator=kdoc
librarian.kdoc.olderVersions=
# version
librarian.version.packageName=com.apollographql.mockserver
# publishing
librarian.sonatype.backend=S01
librarian.pom.groupId=com.apollographql.mockserver
librarian.pom.version=0.0.1
librarian.pom.description=Apollo Mockserver
librarian.pom.vcsUrl=https://github.com/apollographql/apollo-kotlin-mockserver
librarian.pom.developer=Apollo Kotlin Mockserver contributors
librarian.pom.license=MIT License
librarian.pom.licenseUrl=https://raw.githubusercontent.com/apollographql/apollo-kotlin-mockserver/main/LICENSE
export LIBRARIAN_SIGNING_PRIVATE_KEY=your_gpg_key
export LIBRARIAN_SIGNING_PRIVATE_KEY_PASSWORD=your_gpg_key_password
export LIBRARIAN_SONATYPE_USERNAME=your_sonatype_username
export LIBRARIAN_SONATYPE_PASSWORD=your_sonatype_password