sbt Organization
The sbt organization is available for use by
any sbt plugin. Developers who contribute their plugins into the
community organization will still retain control over their repository
and its access. The goal of the sbt organization is to organize sbt
software into one central location.
A side benefit to using the sbt organization for projects is that you
can use gh-pages to host websites under the https://www.scala-sbt.org domain.
The sbt autoplugin giter8 template
is a good place to start. This sets up a new sbt plugin project appropriately.
The generated README
includes a summary of the steps for publishing a new
community plugin.
Lightbend has provided a freely available
Ivy Repository for sbt projects
to use. This Ivy repository is mirrored from the freely available
Bintray service.
If you’d like to submit your plugin, please follow these instructions:
Bintray For Plugins.
Cross building plugins from sbt 0.13
See Cross Build Plugins.
Plugins available for sbt 1.0 (including RC-x)
[Edit] this page to
submit a pull request that adds
your plugin to the list.
Documentation plugins
- tut: documentation and tutorial generator.
- Laika: Transform Markdown or reStructuredText
into HTML or PDF with Templating.
- sbt-site: site generator.
- sbt-microsites: generate
and publish microsites using Jekyll.
- sbt-unidoc: create unified API
documentation across subprojects.
- sbt-ghpages: publish generated
sites to GitHub pages.
- sbt-class-diagram: generate
class diagrams from Scala source code.
- sbt-api-mappings:
generate Scaladoc
apiMappings
for common Scala libraries.
- literator:
generate literate-style markdown docs from your sources.
- sbt-example:
generate ScalaTest test suites from examples in Scaladoc.
- sbt-delombok:
delombok Java sources files that contain Lombok annotations to make Javadoc contain Lombok-generated classes and methods.
- sbt-alldocs: collect all the docs for a project and dependencies into a single folder.
- sbt-apidoc: A port of apidocjs to sbt, to document REST Api.
- sbt-github-pages
(docs): publish a website to GitHub Pages with minimal effort - works well with GitHub Actions.
- sbt-docusaur
(docs): build a website using Docusaurus and publish to GitHub Pages with minimal effort - works well with GitHub Actions.
- sbt-hl-compiler: compile the code snippets from documentation (to keep it consistent).
- sbt-scaladoc-compiler: compile the code snippets included in Scaladoc comments.
One jar plugins
Release plugins
Deployment integration plugins
- sbt-heroku: deploy applications
directly to Heroku.
- sbt-docker-compose:
launch Docker images using docker compose.
- sbt-appengine
deploy your webapp to Google App Engine.
- sbt-marathon: deploy applications
on Apache Mesos using the Marathon
framework.
- sbt-riotctl: deploy
applications as systemd services directly to a Raspberry Pi, ensuring
dependencies (e.g. wiringpi) are met.
- sbt-kind: load built docker images into a kind cluster.
Utility and system plugins
IDE integration plugins
Test plugins
- scripted: integration testing for sbt plugins.
- sbt-jmh: run Java Microbenchmark Harness
(JMH) benchmarks from sbt.
- sbt-doctest: generate and run
tests from Scaladoc comments.
- gatling-sbt: performance and
load-testing using Gatling.
- sbt-multi-jvm: run tests using
multiple JVMs.
- sbt-scalaprops: scalaprops
property-based testing integration.
- sbt-testng: TestNG framework
integration.
- sbt-jcstress: Java Concurrency
Stress Test (jcstress) integration.
- sbt-stryker4s: Test your tests with mutation testing.
- sbt-cached-ci: Incremental sbt builds for CI environments.
Library dependency plugins
Web and frontend development plugins
Database plugins
Framework-specific plugins
- sbt-newrelic: NewRelic support for
artefacts built with sbt-native-packager.
- sbt-spark: Spark application
configurator.
- sbt-api-builder: support for
ApiBuilder from within sbt’s shell.
Code generator plugins
- sbt-buildinfo: generate Scala code
from SBT setting keys.
- sbt-scalaxb: generate model classes
from XML schemas and WSDL.
- sbt-protobuf: protobuf code generator.
- sbt-header: auto-generate source code
file headers (such as copyright notices).
- sbt-boilerplate: TupleX and FunctionX
boilerplate code generator.
- sbt-avro: Apache Avro schema
and protocol generator.
- sbt-aspectj: AspectJ weaving for sbt.
- sbt-protoc: protobuf code generator
using protoc.
- sbt-contraband
(docs): generate pseudo-case classes
from GraphQL schemas.
- sbt-antlr4: run ANTLR v4 from sbt.
- sbt-sql: generate model classes from
SQL.
- sbt-partial-unification:
enable partial unification support in Scala (SI-2712).
- sbt-i18n:
transform your i18n bundles into Scala code.
- sbt-lit: build literate code with sbt.
- sbt-embedded-files:
generate Scala objects containing the contents of glob-specified files as strings or byte-arrays.
- sbt-scala-ts:
generate TypeScript code according compiled Scala types (case class, trait, object, …).
Static code analysis plugins
Code coverage plugins
Create new project plugins
- sbt-fresh: create an opinionated fresh
sbt project.
In-house plugins
Verification plugins
Language support plugins
- sbt-frege: build Frege
code with sbt.
- sbt-cc: compile C and C++ source files with sbt.