Welcome to Librarian
Librarian is an opinionated toolkit to build Kotlin libraries.
Librarian:
- publishes your KMP/Android/JVM libraries to:
- Maven Central using default host
- Maven Central using S01 host
- Maven Central using the central portal API
- OSS Sonatype snapshots using the default host
- OSS Sonatype snapshots using the S01 host
- Google Cloud Storage
- GitHub pages snapshots
- generates versioned KDoc using Dokka
- automates your workflows using GitHub actions:
- pull requests
- documentation
- SNAPSHOTs
- releases
- generates a Kotlin property holding your library version
- monitors your binary compatibility using Kotlin Binary Compatibility validator
- configures Java and Kotlin compatibility
- ensure your libs can be consumed with maven
- manages your changelog
- and more!
This is a lot of things for a single tool, and a lot of opinions too!
Because every lib is different and opinions may differ, Librarian is also shipped as low level libraries that you can use on a case by case basis.
Just want the publishing without the GitHub workflows, use librarian-publishing
. Just want maven sympathy, use librarian-maven-sympathy
, etc… For more information, read the libraries page.
Get started
Add the Gradle plugin to your root build.gradle.kts
:
Add a librarian.root.properties:
Configure librarian in each module:
Add secrets to your environment:
Publish your library:
Automate your workflows: