1. 社区插件

社区插件 

sbt 组织 

任何 sbt 插件都可以使用 sbt 组织。将插件贡献到社区组织的开发者仍然可以保留对存储库及其访问权限的控制。sbt 组织的目标是将 sbt 软件组织到一个中心位置。

使用 sbt 组织进行项目的一个额外好处是,您可以使用 gh-pages 在 https://sbt.scala-lang.org.cn 域下托管网站。

sbt autoplugin giter8 模板 是一个良好的起点。这将适当地设置一个新的 sbt 插件项目。生成的 README 包含发布新社区插件的步骤摘要。

社区 Ivy 存储库 

Lightbend 为 sbt 项目提供了一个免费可用的 Ivy 存储库。此 Ivy 存储库是从免费可用的 Bintray 服务 镜像的。如果您想提交您的插件,请按照以下说明操作:用于插件的 Bintray.

从 sbt 0.13 跨构建插件 

参见 跨构建插件.

适用于 sbt 1.0(包括 RC-x)的插件 

[编辑] 此页面以提交添加您的插件到列表的拉取请求。

代码格式化程序插件 

文档插件 

  • tut:文档和教程生成器。
  • Laika:使用模板将 Markdown 或 reStructuredText 转换为 HTML 或 PDF。
  • sbt-site:网站生成器。
  • sbt-microsites:使用 Jekyll 生成和发布微型网站。
  • sbt-unidoc:在子项目之间创建统一的 API 文档。
  • sbt-ghpages:将生成的网站发布到 GitHub Pages。
  • sbt-class-diagram:从 Scala 源代码生成类图。
  • sbt-api-mappings:为常见的 Scala 库生成 Scaladoc apiMappings
  • literator:从您的源代码生成文学式 Markdown 文档。
  • sbt-example: 从 Scaladoc 中的示例生成 ScalaTest 测试套件。
  • sbt-delombok: 删除包含 Lombok 注释的 Java 源代码文件,以使 Javadoc 包含 Lombok 生成的类和方法。
  • sbt-alldocs:将项目的文档和依赖项收集到一个文件夹中。
  • sbt-apidocapidocjs 到 sbt 的移植,用于文档化 REST Api。
  • sbt-github-pages (docs):以最少的努力将网站发布到 GitHub Pages - 与 GitHub Actions 配合良好。
  • sbt-docusaur (docs):使用 Docusaurus 构建网站并以最少的努力发布到 GitHub Pages - 与 GitHub Actions 配合良好。
  • sbt-hl-compiler:编译文档中的代码片段(以保持一致性)。
  • sbt-scaladoc-compiler:编译 Scaladoc 注释中包含的代码片段。

一个 jar 插件 

发布插件 

部署集成插件 

  • sbt-heroku:将应用程序直接部署到 Heroku。
  • sbt-docker-compose:使用 docker compose 启动 Docker 镜像。
  • sbt-appengine 将您的 Web 应用程序部署到 Google App Engine。
  • sbt-marathon:使用 Marathon 框架在 Apache Mesos 上部署应用程序。
  • sbt-riotctl:将应用程序作为 systemd 服务直接部署到 Raspberry Pi,确保满足依赖项(例如 wiringpi)。
  • sbt-kind:将构建的 Docker 镜像加载到 kind 集群中。

实用程序和系统插件 

IDE 集成插件 

测试插件 

库依赖插件 

Web 和前端开发插件 

数据库插件 

特定框架插件 

  • sbt-newrelic: 使用 sbt-native-packager 构建的工件的 NewRelic 支持。
  • sbt-spark: Spark 应用程序配置器。
  • sbt-api-builder: 支持来自 sbt shell 内部的 ApiBuilder。

代码生成插件 

静态代码分析插件 

代码覆盖率插件 

  • sbt-scoverage: 使用 Scoverage 进行 Scala 代码覆盖率。
  • sbt-jacoco: 使用 JaCoCo 进行 Scala 和 Java 代码覆盖率。

创建新的项目插件 

  • sbt-fresh: 创建一个有见地的全新 sbt 项目。

内部插件 

验证插件 

  • sbt-stainless: 使用 stainless 验证 Scala 或 Dotty 代码。

语言支持插件 

  • sbt-frege: 使用 sbt 构建 Frege 代码。
  • sbt-cc: 使用 sbt 编译 C 和 C++ 源文件。