sbt, the interactive build tool
Go to file
Francluob 4976ec7dc7 Fix #8344: Skip interactive prompt in batch mode when project loading fails
When project loading fails in batch mode, sbt was showing an interactive
prompt asking the user to choose between retry, quit, last, or ignore.
However, in batch mode there is no interactive terminal, causing the
process to hang waiting for input that will never come.

This fix checks if we're in batch mode (Prompt.Batch) and automatically
exits with failure (equivalent to 'q' quit option) without prompting the
user. This prevents infinite retry loops on persistent errors and allows
batch mode scripts to fail fast, which is appropriate for CI/CD environments.

The interactive behavior remains unchanged for non-batch mode.
2026-01-08 19:29:35 +01:00
.github Bump dessant/lock-threads from 5 to 6 2025-12-15 04:00:59 +00:00
buildfile/src remove unused code 2025-10-04 19:16:22 +09:00
client Bye jansi 2024-11-07 22:07:07 -08:00
core-macros/src Use scala.transient to denote the empty cache level 2025-08-16 01:27:14 -04:00
internal Show warnings when scalaVersion is missing 2026-01-04 15:23:05 -05:00
launch Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
launcher-package Add regression test for debug options in SBT_OPTS (#8100) 2026-01-06 14:21:03 +02: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] fix: Resolver.combineDefaultResolvers 2025-12-25 01:49:57 -05:00
lm-coursier fix: Change URL usage to URI 2025-08-10 18:32:04 -04:00
lm-ivy/src Update to Contraband 0.8.0 2025-09-19 00:46:34 -04:00
main Fix #8344: Skip interactive prompt in batch mode when project loading fails 2026-01-08 19:29:35 +01:00
main-actions/src Use TCP for the fork test 2026-01-04 01:48:45 -05:00
main-command/src Fix `help` command arguments parsing 2025-12-18 17:49:32 +01:00
main-settings/src [2.x] Show warnings when scalaVersion is missing 2025-12-27 23:49:43 -05:00
notes Spelling (#8028) 2025-02-04 01:11:28 -05:00
project [2.x] Zinc 2.0.0-M11 2026-01-05 01:01:37 -05:00
protocol/src/main Update to Contraband 0.8.0 2025-09-19 00:46:34 -04:00
run Merge branch '1.12.x' into wip/merge-1.12.x 2025-11-24 02:14:17 -05:00
sbt-app/src Merge branch '1.12.x' into wip/merge-1.12.x 2026-01-05 00:08:21 -05:00
sbt-remote-cache/src/main/scala/sbt remove unnecessary `case` 2025-02-22 08:48:29 +09:00
scripted-sbt remove unnecessary `case` 2025-02-22 08:48:29 +09:00
scripts Fix lm-coursier scripted 2024-10-11 14:30:55 +02:00
server-test/src Merge branch '1.12.x' into wip/merge-1.12.x 2026-01-05 00:08:21 -05:00
src/main/conscript sbt 1.3.0 2019-09-04 01:24:08 -04:00
tasks remove unnecessary `case` 2025-02-22 08:48:29 +09:00
tasks-standard Remove deprecated methods 2025-05-11 05:23:41 -04:00
testing Apply Contraband 2025-09-28 21:28:21 -04:00
util-cache [2.x] fix: Workaround for NoSuchFileException 2025-12-25 04:38:43 -05:00
util-collection remove redundant `val` modifier 2025-10-06 09:28:27 +09:00
util-tracking Remove deprecated methods 2025-05-11 05:23:41 -04:00
worker/src Use TCP for the fork test 2026-01-04 01:48:45 -05:00
zinc-lm-integration/src Merge branch '1.12.x' into wip/merge-1.12.x 2026-01-05 00:08:21 -05:00
.git-blame-ignore-revs Add .git-blame-ignore-revs 2024-10-09 13:38:02 +02:00
.gitattributes Fix line endings in msi 2021-11-19 20:41:39 -05:00
.gitignore Merge branch '1.11.x' into wip/merge-1.11.x 2025-08-25 02:29:12 -04:00
.gitmodules Move metadata to lm-coursier/metadata 2024-10-09 09:44:42 +02: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
.scalafmt.conf update scalafmt config. re-format build files 2025-09-23 10:28:38 +09:00
CONTRIBUTING.md Minor updates on development guide 2023-10-21 21:00:31 -04:00
DEVELOPING.md Merge branch '1.11.x' into wip/merge-1.11.x 2025-09-17 23:35:59 -04: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 update README 2025-09-06 19:08:43 +09:00
SUPPORT.md Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
build.sbt Merge branch '1.12.x' into wip/merge-1.12.x 2026-01-05 00:08:21 -05:00
reset.sh 1.0.3-SNAPSHOT 2017-09-16 15:52:58 -04:00
sbt Merge branch '1.12.x' into wip/merge-1.12.x 2026-01-05 00:08:21 -05: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 implements 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.

The short version: try searching or asking on StackOverflow.

license

See LICENSE.