sbt, the interactive build tool
Go to file
bitloi 4dfe68a681 fix: Resolve ThisProject to empty to avoid cycle in aggregate/deps DAG
Resolving ThisProject to ProjectRef(uri, p.id) created a self-reference
in the aggregate (and dependency) list. BuildUtil.checkCycles runs
topological sort on this relation and throws Cyclic when it sees the
self-loop.

Treat ThisProject as no-op: resolve to Vector.empty so the build loads
without error. aggregate(ThisProject) / dependsOn(ThisProject) is
effectively a no-op (self is already included).
2026-02-01 01:59:46 +01:00
.github [2.x] test: Move back the project scripted tests (#8660) 2026-01-31 17:41:45 -05:00
buildfile/src Fix lazy val extraction 2026-01-24 04:52:28 -05: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] Bump to 2.0.0-RC9-bin-SNAPSHOT (#8666) 2026-01-31 18:23:07 -05:00
core-macros/src Add tailrec annotation 2026-01-11 16:33:45 +09:00
internal refactor: Clean up infix etc 2026-01-24 04:52:28 -05:00
launch Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
launcher-package [2.x] fix: Handle paths with parentheses in sbt.bat on Windows (#8656) 2026-01-29 16:51:06 -05: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: Skip eviction warning when winner satisfies version range (#8616) 2026-01-22 15:52:58 -05:00
lm-coursier Scala 3.8.1 2026-01-24 04:52:28 -05:00
lm-ivy/src Drop flaky Ivy test 2026-01-25 01:29:52 -05:00
main fix: Resolve ThisProject to empty to avoid cycle in aggregate/deps DAG 2026-02-01 01:59:46 +01:00
main-actions/src [2.x] fix: Display HTTP response body when bundle upload fails (#8630) 2026-01-28 10:36:45 -05:00
main-command/src [2.x] fix: Detect alias/task key name conflicts (#8659) 2026-01-31 17:56:42 -05:00
main-settings/src refactor: Clean up infix etc 2026-01-24 04:52:28 -05:00
notes Spelling (#8028) 2025-02-04 01:11:28 -05:00
project Scala 3.8.1 2026-01-24 04:52:28 -05:00
protocol/src [2.x] refactor: Scala Instance (#8648) 2026-01-28 02:27:57 -05:00
run [2.x] Delete TrapExitSecurityException (#8503) 2026-01-12 19:11:35 -05:00
sbt-app/src fix: Resolve ThisProject to empty to avoid cycle in aggregate/deps DAG 2026-02-01 01:59:46 +01:00
sbt-remote-cache/src/main/scala/sbt remove unnecessary `case` 2025-02-22 08:48:29 +09:00
scripted-sbt [2.x] feat: Add scriptedKeepTempDirectory setting (#8621) 2026-01-23 21:22:50 -05:00
scripts Fix lm-coursier scripted 2024-10-11 14:30:55 +02:00
server-test/src [2.x] feat: Per-channel project cursor for multi-client server mode (#8649) 2026-01-29 23:15:39 -05:00
src [2.x] Add scripted test for #7838 (#8541) 2026-01-20 12:13:27 -05:00
tasks Fix scaladoc (#8476) 2026-01-11 07:20:40 -05:00
tasks-standard Use SAM-conversion if possible (#8477) 2026-01-11 07:21:28 -05:00
testing [2.x] fix: Lazy cache hostname resolution at object level (#8603) 2026-01-21 20:01:28 -05:00
util-cache [2.x] fix: Fixes ActionCache tests on Windows (#8628) 2026-01-28 15:27:46 -05:00
util-collection Fix scaladoc (#8476) 2026-01-11 07:20:40 -05: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] fix: Prevent fork test cross talk (#8575) 2026-01-19 00:55:16 -05:00
zinc-lm-integration/src [2.x] fix: Add null check for resource URL in ResourceLoader.getPropertiesFor (#8641) 2026-01-28 10:05:03 -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
.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
.scalafmt.conf update scalafmt config. re-format build files 2025-09-23 10:28:38 +09:00
AGENTS.md [2.x] docs: Move to CONTRIBUTING (#8629) 2026-01-25 15:48:09 -05:00
CONTRIBUTING.md Update contributing to clarify AI usages (#8657) 2026-01-29 11:56:45 -05: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] Bump to 2.0.0-RC9-bin-SNAPSHOT (#8666) 2026-01-31 18:23:07 -05:00
reset.sh 1.0.3-SNAPSHOT 2017-09-16 15:52:58 -04:00
sbt [2.x] fix: Fixes the handling of special characters in dot files (#8558) 2026-01-19 14:37:08 -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 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.