sbt, the interactive build tool
Go to file
BrianHotopp 68dde13fdc
[2.x] feat: Print cross-project test failure recap at end of aggregated run (#9214)
Fixes #2998

When test is run at the prompt in a multi-project build,
sbt aggregates <proj>/test across subprojects. Each subproject's
TestResultLogger emits its own pass/fail summary inline, but the
aggregation layer never restated which projects failed. The final
"sbt.TestsFailedException" line surfaced no project names or failing
test classes, so on CI users had to scrollback-grep through thousands
of log lines to find what broke.

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 15:41:39 -04:00
.github Fix old shell syntax warning (#8998) 2026-03-31 01:05:16 -04:00
buildfile/src Use Files.readString instead of readAllBytes 2026-05-13 21:21:18 +09:00
client Revert "[2.x] feat: Enable musl static linking for sbtn on JDK 17+ (#8464)" (#8557) 2026-01-16 00:06:28 -05:00
contributing-docs [2.x] Scala 3.8.3 (#8997) 2026-04-05 14:28:47 -04:00
core-macros/src [2.x] Remove Path type from caching (#9032) 2026-04-06 14:40:33 -04:00
internal [2.x] ci: Update sbt-java-formatter (#9098) 2026-04-21 12:19:44 -04:00
launch [2.x] feat: repositories_force support (#8761) 2026-02-20 01:52:59 -05:00
launcher-package [2.x] ci: Fix warnings in launcherPackage sub project (#9188) 2026-05-05 00:18:16 -04:00
licenses move remaining pieces of sbt subproject to sbt_pending and fix notices 2010-09-21 21:55:50 -04:00
lm-core [2.x] Add Test configuration to evictionWarningOptions (#9102) 2026-04-23 23:06:54 -04:00
lm-coursier Use Files.readString instead of readAllBytes 2026-05-13 21:21:18 +09:00
lm-ivy/src [2.x] test: Port tests to use lm-coursier (#9205) 2026-05-10 04:40:15 -04:00
main [2.x] feat: Print cross-project test failure recap at end of aggregated run (#9214) 2026-05-15 15:41:39 -04:00
main-actions/src [2.x] feat: Print cross-project test failure recap at end of aggregated run (#9214) 2026-05-15 15:41:39 -04:00
main-command/src [2.x] fix: Fixes ctrl-c handling 2026-04-25 03:36:32 -04:00
main-settings/src [2.x] Fix Scala 3 .previous expansion for unstable path (#9041) 2026-04-07 22:45:01 -04:00
notes [2.x] feat: Add cacheVersion setting for global cache invalidation (#8993) 2026-04-01 11:23:10 +09:00
project [2.x] Zinc 2.0.0-M18 (#9219) 2026-05-14 23:50:10 -04:00
protocol/src [2.x] refactor: Use exists instead of find and isDefined (#9111) 2026-04-19 00:27:39 -04:00
run [2.x] Add ForkOptions.connectionTimeout (#9172) 2026-05-03 13:51:09 -04:00
sbt-app/src [2.x] feat: Print cross-project test failure recap at end of aggregated run (#9214) 2026-05-15 15:41:39 -04:00
sbt-ivy/src/main/scala/sbt [2.x] refactor: Use Files.writeString instead of Files.write (#9093) 2026-04-15 22:29:19 -04:00
sbt-remote-cache/src/main/scala/sbt remove unnecessary `case` 2025-02-22 08:48:29 +09:00
sbtw [2.x] Improve --help (#9180) 2026-05-03 21:24:16 -04:00
scripted-sbt [2.x] refactor: Replace string Array with ju.List (#9138) 2026-04-27 00:22:30 -04:00
scripts Fix lm-coursier scripted 2024-10-11 14:30:55 +02:00
server-test/src [2.x] feat: Implement BSP buildTarget/dependencyModules (#9085) 2026-04-14 23:07:51 -04:00
src [2.x] Add scripted test for #7838 (#8541) 2026-01-20 12:13:27 -05:00
tasks Use enum instead of scala.Enumeration in sbt.Execute.State (#8788) 2026-02-22 22:21:29 -05:00
tasks-standard Add parentheses (#9000) 2026-03-31 13:48:59 -04:00
testing [2.x] feat: Forward test events to listeners as they are emitted (#9087) 2026-04-16 00:58:06 -04:00
util-cache [2.x] feat: Execution log (#9203) 2026-05-14 02:27:38 -04:00
util-collection [2.x] refactor: Fix warning in Settings.scala (#8999) 2026-03-31 02:00:15 -04:00
util-tracking [2.x] test: Migrate TrackedSpec.scala to verify.BasicTestSuite (#8547) 2026-01-15 22:51:29 -05:00
worker/src [2.x] feat: ClassLoaderStrategy.Raw (#9161) 2026-04-30 12:35:30 -04:00
zinc-lm-integration/src [2.x] test: Port tests to use lm-coursier (#9205) 2026-05-10 04:40:15 -04:00
.git-blame-ignore-revs [2.x] blame ignore commits (#8814) 2026-02-25 10:51:21 -05:00
.gitattributes [2.x] Update .gitattributes for contraband files (#9076) 2026-04-12 13:51:06 -04:00
.gitignore [2.x] fix : BSP compile returns StatusCode.Error on failure (#8104) (#8709) 2026-02-07 11:01:49 -05:00
.gitmodules Move metadata to lm-coursier/metadata 2024-10-09 09:44:42 +02:00
.java-version Scala 3.8.0 2026-01-24 04:52:28 -05:00
.jvmopts Add .jvmopts 2023-11-25 01:06:30 -05:00
.mailmap Add mailmap 2019-06-11 09:30:14 +02:00
.sbtopts Restore .sbtopts file 2020-11-19 12:42:26 -08:00
.scala-steward.conf Pin slf4j-api 2023-01-02 22:06:46 -05:00
.scalafix.conf [2.x] ci: Add scalafix DisableSyntax.noReturns (#8922) 2026-03-19 10:48:10 -04:00
.scalafmt.conf Add scalafmt newlines.topLevelStatementBlankLines setting (#8949) 2026-03-21 02:58:49 -04:00
AGENTS.md [2.x] fix: Fix spelling and link in AGENTS docs (#8837) 2026-03-01 00:25:09 -05:00
CONTRIBUTING.md [2.x] fix: Fix typo in CONTRIBUTING guide 2026-02-28 20:44:19 -06:00
LICENSE Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
NOTICE Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
PROFILING.md docs: Update flamegraph guide --lines 2025-11-09 18:06:13 -05:00
README.md [2.x] docs: Move to CONTRIBUTING (#8629) 2026-01-25 15:48:09 -05:00
SUPPORT.md Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
build.sbt [2.x] fix: Invalidate on JDK version (#9216) 2026-05-14 03:13:16 -04:00
sbt [2.x] Improve --help (#9180) 2026-05-03 21:24:16 -04:00
sbt-allsources.sh Merge remote-tracking branch 'lm/wip/sbt-2.x' into 2.x-lm-coursier 2024-10-09 08:50:03 +02:00
sbt.sh Implement sbt-launch.jar download 2021-04-19 23:43:15 -04:00
server.md setting query is "sbt/setting" 2017-10-03 01:45:06 -04:00

README.md

CI Latest version Discord

sbt

sbt is a build tool for Scala, Java, and more.

For general documentation, see https://www.scala-sbt.org/.

sbt 2.x

This is the 2.x series of sbt. The source code of sbt is split across several GitHub repositories, including this one.

  • sbt/io hosts sbt.io module.
  • sbt/zinc hosts Zinc, an incremental compiler for Scala.
  • sbt/sbt, this repository hosts modules that implement the build tool.
  • Setup: Describes getting started with the latest binary release.
  • FAQ: Explains how to get help and more.
  • sbt/sbt-zero-seven: hosts sbt 0.7.7 and earlier versions

Issues and Pull Requests

Please read CONTRIBUTING carefully before opening a GitHub Issue or a pull request.

If you're looking for an idea for a contribution, issues labeled with good first issue or help wanted might be good starting points.

If you would like to ask questions about sbt, there's sbt channel on Scala Discord, but it would be good to gather questions on Stackoverflow.

license

See LICENSE.