sbt, the interactive build tool
Go to file
Dream 9a48ed818f
[2.x] fix: Preserve configuration visibility in ivy.xml when publishing with coursier (#8988)
**Problem**
When publishing with coursier, the `visibility` attribute of `<conf />`
elements in `ivy.xml` was hardcoded to `"public"`. Configurations
defined as hidden (e.g. `scala-tool`) were incorrectly published with
`visibility="public"` instead of `"private"`.

The root cause was that `Inputs.configExtendsSeq` only extracted config
names and extends relationships, discarding the `isPublic` flag from
sbt's `Configuration` objects.

**Solution**
Add a `privateConfigNames: Set[String]` field to the lmcoursier
`Project` data class (with `@since` for backward compatibility).
Populate it from `Configuration.isPublic` in `CoursierInputsTasks`,
and use it in both `IvyXml` implementations to set the correct
visibility attribute.

Fixes sbt/sbt#5455
2026-03-29 00:37:00 -04:00
.github build(deps): bump nick-fields/retry from 3.0.2 to 4.0.0 (#8965) 2026-03-23 19:41:56 -04:00
buildfile/src [2.x] fix: support comma-separated imports in build.sbt (#8829) 2026-02-28 19:12:38 -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] fix: Fix spelling typos in contributing docs (#8835) 2026-02-28 23:51:01 -05:00
core-macros/src [2.x] fix: Reject java.io.File as cached task output type (#8766) 2026-02-21 01:35:46 -05:00
internal [2.x] Replace defunct link (#8950) 2026-03-21 14:23:26 -04:00
launch [2.x] feat: repositories_force support (#8761) 2026-02-20 01:52:59 -05:00
launcher-package fix: Use sbt script in BSP config instead of hardcoded Java path (#8920) 2026-03-19 20:57:53 -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] feat: Add dependencyMode setting to control classpath transitivity (#8960) 2026-03-23 16:30:16 -04:00
lm-coursier [2.x] fix: Preserve configuration visibility in ivy.xml when publishing with coursier (#8988) 2026-03-29 00:37:00 -04:00
lm-ivy/src [2.x] Update ErrorMessageAuthenticator. Remove unnecessary reflection (#8976) 2026-03-24 23:59:50 -04:00
main [2.x] fix: Preserve configuration visibility in ivy.xml when publishing with coursier (#8988) 2026-03-29 00:37:00 -04:00
main-actions/src [2.x] fix: Fixes explicitlySpecified and selectors for testOnly (#8727) 2026-02-13 09:19:05 -08:00
main-command/src [2.x] fix: server-test and related refactoring (#8904) 2026-03-21 23:45:37 -04:00
main-settings/src [2.x] Fix misleading error message when .evaluated is used outside macro context (#8951) 2026-03-21 19:27:53 -04:00
notes [2.x] fix: addressing review comments 2026-03-13 09:34:32 +03:00
project [2.x] Update to Zinc 2.0.0-M15 (#8980) 2026-03-25 01:15:21 -04:00
protocol/src [2.x] fix: server-test and related refactoring (#8904) 2026-03-21 23:45:37 -04:00
run [2.x] fix: Fixes double quotes handling in fork mode (#8765) 2026-02-24 23:22:48 -05:00
sbt-app/src [2.x] fix: Fix ProjectMatrix base directory resolution for source dependencies (#8983) 2026-03-25 22:41:56 -04:00
sbt-ivy/src/main/scala/sbt [2.x] fix: Preserve configuration visibility in ivy.xml when publishing with coursier (#8988) 2026-03-29 00:37:00 -04:00
sbt-remote-cache/src/main/scala/sbt remove unnecessary `case` 2025-02-22 08:48:29 +09:00
sbtw fix: Use sbt script in BSP config instead of hardcoded Java path (#8920) 2026-03-19 20:57:53 -04:00
scripted-sbt [2.x] fix: Avoid following symlinks during scripted test cleanup (#8985) 2026-03-28 13:10:06 -04:00
scripts Fix lm-coursier scripted 2024-10-11 14:30:55 +02:00
server-test/src [2.x] fix: server-test and related refactoring (#8904) 2026-03-21 23:45:37 -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 Use SAM-conversion if possible (#8477) 2026-01-11 07:21:28 -05:00
testing [2.x] fix: Fixes testing EventHandler race condition 2026-02-09 10:55:06 -05:00
util-cache [2.x] fix: fall back to the onsite task when cache fails (#8890) 2026-03-11 01:34:01 -04:00
util-collection Add scalafmt newlines.topLevelStatementBlankLines setting (#8949) 2026-03-21 02:58:49 -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] ci: Update java file formatter plugin (#8892) 2026-03-10 11:19:48 -04:00
zinc-lm-integration/src [2.x] test: Update ZincComponentCompilerSpec (#8979) 2026-03-25 01:18:14 -04:00
.git-blame-ignore-revs [2.x] blame ignore commits (#8814) 2026-02-25 10:51:21 -05:00
.gitattributes Fix line endings in msi 2021-11-19 20:41:39 -05: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] feat: Add dependencyMode setting to control classpath transitivity (#8960) 2026-03-23 16:30:16 -04:00
sbt fix: Use sbt script in BSP config instead of hardcoded Java path (#8920) 2026-03-19 20:57:53 -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.