sbt, the interactive build tool
Go to file
Lukas Rytz 893997d1b6 Update scala libraries according to dependency graph
There are a couple of settings / configs that affect this, summary
below. The change in this PR seems to be the most narrow.

`scalaModuleInfo.value.overrideScalaVersion` in sbt
  - affects how sbt to sets coursier's `forceScalaVersion` (see below)
  - used by librarymanagement.ivy. If true, add a OverrideScalaMediator
    See sbt/sbt#2634. Probably not relevant when using coursier.

`autoScalaLibrary` setting in sbt
  - automatically add `scala-library` (or `scala3-library`) as a project
    dependency
  - also used for `forceScalaVersion` (see below)

`CoursierConfiguration.autoScalaLibrary`
  - if `true` then Coursier `ResolutionParams.forceScalaVersion` is set
    to to `true`
  - initialized by sbt to
    `autoScalaLibrary.value &&
     !ScalaArtifacts.isScala3(sv) &&
     !Classpaths.isScala213(sv) &&        // added in this commit
     scalaModuleInfo.forall(_.overrideScalaVersion)`

coursier `ResolutionParams.forceScalaVersion`
  - if true, `scala-library` / `scala-reflect` / `scala-compiler` /
    `scalap` are forced to the scala version, not actually resolved
  - for Scala 3, the `scala3-library` and `scala3-compiler` versions
    are forced
2024-02-26 13:49:04 +01:00
.github Bump actions/cache from 3 to 4 2024-01-22 04:14:49 +00:00
client Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
core-macros/src/main/scala/sbt/internal/util/appmacro Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
dependency-tree/src/main/scala/sbt/plugins Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
internal Add missing logger methods that take Java Supplier 2023-12-05 10:15:51 +01:00
launch Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
launcher-package Fix VM argument passing by .sbtopts file and JAVA_TOOL_OPTIONS environmental variable (#7393) 2023-10-06 12:31:27 -04:00
licenses move remaining pieces of sbt subproject to sbt_pending and fix notices 2010-09-21 21:55:50 -04:00
main Update scala libraries according to dependency graph 2024-02-26 13:49:04 +01:00
main-actions/src some trivial refactoring 2023-06-25 08:57:41 +09:00
main-command/src Merge branch '1.10.x' into commands-progress 2023-10-04 09:49:05 +02:00
main-settings/src Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
notes fix typo 2023-06-24 20:05:52 +09:00
project upgrade lm-coursier-shaded tp 2.1.3 2024-02-18 16:00:22 +02:00
protocol/src/main add noOp field in BSP compile report 2024-02-15 15:50:02 +01:00
run fix typo 2023-06-24 20:05:52 +09:00
sbt-app/src Use the ordinary compiler classpath for scala-library 2024-02-26 13:49:04 +01:00
scripted-plugin/src/main/scala/sbt Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
scripted-sbt-old/src/main/scala/sbt/test Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
scripted-sbt-redux Keep the close method 2023-07-23 01:01:23 -04:00
server-test/src add noOp field in BSP compile report 2024-02-15 15:50:02 +01:00
src/main/conscript sbt 1.3.0 2019-09-04 01:24:08 -04:00
tasks fix scaladoc warnings 2023-06-25 08:04:17 +09:00
tasks-standard some trivial refactoring 2023-06-25 08:57:41 +09:00
testing Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
util-cache Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
util-tracking Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
zinc-lm-integration/src Use the ordinary compiler classpath for scala-library 2024-02-26 13:49:04 +01:00
.gitattributes Fix line endings in msi 2021-11-19 20:41:39 -05:00
.gitignore sbt 1.9.7 2023-11-27 23:27:35 -05:00
.java-version Configure JVM 1.8 in .java-version 2016-10-07 08:48:23 -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
.scalafmt.conf SourcePositionMacro for Scala 3 2021-11-16 16:32:31 +09:00
CONTRIBUTING.md Minor updates on development guide 2023-10-21 21:00:31 -04:00
DEVELOPING.md Minor updates on development guide 2023-10-21 21:00:31 -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 fix typo 2018-07-08 22:18:57 +09:00
README.md Update badges 2022-07-04 11:11:49 -04:00
SUPPORT.md Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
build.sbt Bump the version number 2023-12-20 10:51:54 -05:00
reset.sh 1.0.3-SNAPSHOT 2017-09-16 15:52:58 -04:00
sbt Fix VM argument passing by .sbtopts file and JAVA_TOOL_OPTIONS environmental variable (#7393) 2023-10-06 12:31:27 -04:00
sbt-allsources.sh Build from fresh modules 2020-11-14 14:23:48 -05: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 1.x

This is the 1.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/librarymanagement hosts sbt.librarymanagement module that wraps Ivy.
  • 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.