chore(deps): update dependency sbt/sbt to v1 #2915
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.13.18
->1.8.3
Release Notes
sbt/sbt
v1.8.3
: 1.8.3Compare Source
Security fix
sbt.io.IO.withTemporaryFile
not limiting access on Unix-like systems in io#344/zinc#1185 by @eed3si9nIO.withTemporaryFile fix
sbt 1.8.3 fixes
sbt.io.IO.withTemporaryFile
etc not limiting access on Unix-like systems. Prior to this patch release, some functions were usingjava.io.File.createTempFile
, which does not set strict file permissions, as opposed to the NIO-equivalent that does.This means that on a shared Unix-like systems, build user or plugin's use of
sbt.io.IO.withTemporaryFile
etc would have exposed the information to other users.This issue was reported by Oleksandr Zolotko at IBM, and was fixed by Eugene Yokota (@eed3si9n) in io#344/zinc#1185.
Other updates
sbt 1.8.3 backports Zinc and IO fixes from 1.9.0-RC2 as well.
-Vdebug
by @som-snytt in zinc#1141java.net.URL
constructor by @xuwei-k in io#341ClassFileManager
fromIncOptions
inIncremental.prune
by @lrytz in zinc1148FileFilter.nothing
andFileFilter.everything
by @mdedetrich in io#340v1.8.2
: 1.8.2Compare Source
updates
v1.8.1
: 1.8.1Compare Source
Bug fixes
PATH
environment variable case insensitive by #7085 by @dos65Updates
New Contributors
Full Changelog: sbt/sbt@v1.8.0...v1.8.1
v1.8.0
: 1.8.0Compare Source
Security fixes
Changes with compatibility implications
Bug fixes
Other updates
-Dsbt.argsfile=false
orSBT_ARGSFILE
environment variable) #7010 by @easelbuildTarget/outputPaths
method of Build Server Protocol. #6985 by @povderNew Contributors
Full Changelog: sbt/sbt@v1.7.1...v1.8.0
v1.7.3
: 1.7.3Compare Source
updates
new contributors
Full Changelog: sbt/sbt@v1.7.2...v1.7.3
v1.7.2
: 1.7.2Compare Source
See https://github.com/sbt/sbt/releases/tag/v1.7.0 for the details on sbt 1.7.x.
testQuick
task #6903 by @gontard/tmp/.sbt/
collision for domain socket #7041 by @eed3si9ndependencyBrowseGraph
with sometimes missing node #6978 by @frosforeversbt new
by default to use Giter8 0.15.0 #7038 by @eed3si9ndiagnosticCode
anddiagnosticRelatedInforamation
(sic) toInterfaceUtil.problem(...)
#7006 by @ckipp01diagnosticCode
to BSP #6998 by @ckipp01v1.7.1
: 1.7.1Compare Source
See https://github.com/sbt/sbt/releases/tag/v1.7.0 for the details on sbt 1.7.x.
Bug fix
Full Changelog: sbt/sbt@v1.7.0...v1.7.1
v1.7.0
: 1.7.0Compare Source
Changes with compatibility implications
++
is stricter. See below.XDG_RUNTIME_DIR
and/tmp
#6887 by @AlonsoM45Resolver.sonatypeRepo
and addsResolver.sonatypeOssRepos
, which includes https://s01.oss.sonatype.org/ by @armanbilge in lm#393++
command updatesPrior to sbt 1.7
++ <sv> <command1>
filtered subprojects usingcrossScalaVersions
having the same ABI suffix as<sv>
. This behavior was generally not well understood, and also created incorrect result for Scala 3.x since++ 3.0.1 test
could downgrade subproject that may require 3.1 or above.sbt 1.7.0 fixes this by requiring
++ <sv> <command1>
so<sv>
part can be given as a semantic version selector expression, such as3.1.x
or2.13.x
. Note that the expression may match at most one Scala version to switch into. In sbt 1.7.0, a concrete version such as++ 3.0.1
equires exact version to be present incrossScalaVersion
.This contribution was a collaborated effort among Arnout Engelen #6894, Rui Gonçalves lm#400, and Eugene Yokota.
Scala 3 compiler error improvements
In zinc#1082, Toshiyuki Takahashi contributed a fix to ignore
Problem#rendered
passed from the compiler when sbt uses position mapper to transform the position. This is aimed at fixing the error reporting for Play on Scala 3.In #6874, Chris Kipp extended
xsbti.Problem
to track richer information available in Scala 3. This is aimed at enhancing the compilation errors reported to BSP client such as Metals.BSP updates
build/publishDiagnostics
in BSP #6847/#6929 by @tanishiking and @kpodsiadOther updates
/tmp
ipc#23 by @eed3si9n-a="b c"
pattern #6816 by @Nirvikalpa108ThisBuild / includePluginResolvers
#6849 by @bjaglinproxyInputStream#available
, which affected sbt-sitepreviewSite
#6965 by @eed3si9nv1.6.2
: 1.6.2Compare Source
readLine
catchingInterruptedException
#6803 by @tpetillotsbt --help
by removing unimplemented-S-X
option #6799 by @Nirvikalpa108License
sbt 1.6.2 adds
License
object that defines predefined license values:Predefined values are
License.Apache2
,License.MIT
,License.CC0
, andLicense.GPL3_or_later
. lm#395 by @eed3si9nv1.6.1
: 1.6.1Compare Source
v1.6.0
: 1.6.0Compare Source
Changes with compatibility implications
build.sbt
is updated to Scala 2.12.15, which improves the compatibility with JDK 17+. The metabuild is compiled with-Xsource:3
flag #6664 by @Nirvikalpa108 + @eed3si9nsbt.TrapExit
is dropped due to Security Manager being deprecated in JDK 17. Callingsys.exit
inrun
ortest
would shutdown the sbt session. Use forking to prevent it #6665 by @eed3si9nSBT_CREDENTIALS
environment variable, following sbt launcher #6724 by @daddykotexBSP improvements
.sbtopts
not getting picked up when sbt server is started by Metals #6593 by @adpi2java
is not onPATH
#6576 by @github-samuel-clarencbuildTarget/cleanCache
, which fixes IntelliJrebuild
#6638 by @hmemcpybuild/taskProgress
notifications #6642 by @hmemcpysbtn
buffer not printing out all the outputs on system out #6703 by @adpi2<macro>
, which are occasionally returned by the compiler #6730 by @eed3si9nsbt shutdownall
to shutdown all sbt server instances #6697 by @er1csbt --no-server
to not start the server or use a virtual terminal #6728 by @eed3si9nZinc improvements
Analysis
file zinc#995 by @dwijnandRemote caching improvements
sbt 1.6.0 improves remote caching of
resources
directory by virtualizing the internal sync state (copy-resources.txt
). This allows incrementalresource
directory synching to be resumed from the remote cache, similar to how Zinc has been able to resume incremental compilation from the remote cache. This was contributed by Amina Adewusi (@Nirvikalpa108) as #6611.Dependency tree improvements
dependencyTree
to useasciiGraphWidth
setting 6693 by @kijukydependencyBrowseTree
#6675 by @nimatruewaydependencyBrowseTree
to use Contraband data types instead ofscala.util.parsing.json
#6699 by @Nirvikalpa108Other updates
scalaVersion
#6753 by @eed3si9nClassCastException
inXMainConfiguration
#6649 by @eed3si9nscalaInstanceTopLoader
tocompileBase
settings #6480 by @adpi2crossSbtVersions
included intolintBuild
#6656 by @Nirvikalpa108realpathish
function insbt
runner script #6641 by @darabosConfigRef
to reduce heap usage lm#390 by @eed3si9nscripted / javaHome
#6673 by @kxbmapmaven.repo.local
system property configures local Maven repository lm#391 by @peter-janssenv1.5.8
: 1.5.8Compare Source
v1.5.7
: 1.5.7Compare Source
v1.5.6
: 1.5.6Compare Source
v1.5.5
: 1.5.5Compare Source
NoClassDefFoundError
when launching sbt 1.4.0 - 1.4.2 launcher#98 by @eed3si9n_3
lm#383 by @eed3si9nbinaryScalaVersion
of3.0.1-SNAPSHOT
lm#384 by @adpi2buildTarget/resources
support for BSP #6552 by @samuelClarencTeadsbuild.sbt
support for BSP import #6553 by @retronymOriginalTreeAttachments
in Scala 2.13 zinc#985 by @ephemeristv1.5.4
: 1.5.4Compare Source
compilerJars.toList
(For Scala 3, this drops support for 3.0.0-M2) #6538 by @adpi2-release
flag zinc#982 by @retronymbuild/exit
notification not closing BSP channel #6539 by @adpi2v1.5.3
: 1.5.3Compare Source
scalacOptions
not getting forwarded to ScalaDoc in Scala 3 #6499 by @pikinier20sbtPlugin := true
#6517 by @Nirvikalpa108inputFile
resolving to incorrect files when file specific globs are used io#319 by @eatkinsrun
is scoped #6523 by @eatkinsunmanagedSourceDirectories
when Scala version is 3.0.0 #6511 by @bjaglinResolvers.sonatypeRepo("releases")
lm#379/#5405 by @mkurzmakeScalaInstance
public #6504 by @adpi2sbtn
downloading insbt
runner script #6514 by @eed3si9nv1.5.2
: 1.5.2Compare Source
ConcurrentModificationException
while compiling Scala 2.13.4 and Java sources zinc#974 by @lefou-client
by making it the same as--client
#6500 by @Nirvikalpa108util-interface
#6493 by @adpi2-Duser.home
instead of$HOME
to download launcher JAR #6483 by @rdesgroppessbt new
leaving behindtarget
directory #6488 by @eed3si9npushRemoteCache
#6497 by @eed3si9nv1.5.1
: 1.5.1Compare Source
sbt-launch.jar
downloadsbt
runner script to minimize bandwidthNullPointerException
caused by the launcher implementation #6434/launcher#96 by @eed3si9n and @adpi2Test
configurations #6425 by @ashleymerceritSettings
overriding settings inCompile
configuration #6436 by @steinybotv1.5.0
: 1.5.0Compare Source
The headline features of sbt 1.5.0 are:
Scala 3 support
sbt 1.5.0 adds built-in Scala 3 support, contributed by Scala Center. Main implementation was done by Adrien Piquerez (@adpi2) based on EPFL/LAMP's sbt-dotty. You can now use Scala 3.0.0-RC2 like any other Scala version.
This will compile the following
Hello.scala
:Note: To support cross testing of various Scala 3.x releases,
crossTarget
directory will contain the full Scala version. #6415Scala 2.13-3.x sandwich
Scala 3.0.x shares the standard library with Scala 2.13, and since Scala 2.13.4, they can mutually consume the output of each other as external library. This allows you to create Scala 2.13-3.x sandwich, a layering of dependencies coming from different Scala versions.
Warning: Library authors should generally treat Scala 3.0 as any other major version, and prefer to cross publish
_3
variant to avoid the conflict. Some libraries may encode a particular notion in different ways for Scala 2.13 and 3.0. For example, arity abstraction may use Shapeless HList in Scala 2.13, but built-in Tuple types in Scala 3.0. Thus it's generally not safe to have_2.13
and_3
versions of the same library in the classpath, even transitively. Application developers should be free to use.cross(CrossVersion.for3Use2_13)
as long as the transitive dependency graph will not introduce_2.13
variant of a library you already have in_3
variant.sbt 1.5.0 introduces new cross building operand to use
_3
variant whenscalaVersion
is 2.13.x, and vice versa:lm#361 by @adpi2
Deprecation of sbt 0.13 syntax
sbt 1.5.0 deprecates both the sbt 0.13 style shell syntax
proj/config:intask::key
and sbt 0.13 style build.sbt DSLkey in (Compile, intask)
in favor of the unified slash syntax.There's a syntactic Scalafix rule for unified slash syntax
to semi-automatically rewrite existing sbt 0.13 syntax to the slash syntax. Currently it requires the use of scalafix CLI
and it's not very precise (because it's a syntactic rule that only looks at the shape of the code) but it gets most of the job done.
See https://www.scala-sbt.org/1.x/docs/Migrating-from-sbt-013x.html#slash for details.
Eviction error
sbt 1.5.0 removes eviction warning, and replaces it with stricter eviction error. Unlike the eviction warning that was based on speculation, eviction error only uses the
ThisBuild / versionScheme
information supplied by the library authors.For example:
The above build will fail to build
use/compile
with the following error:This is because Cats Effect 2.x and 3.x are found in the classpath, and Cats Effect has declared that it uses early-semver. If the user wants to opt-out of this, the user can do so per module:
or globally as:
On the other hand, if you want to bring back the guessing feature in eviction warning, you can do using the following settings:
@eed3si9n implemented this in #6221, inspired in part by Scala Center's sbt-eviction-rules, which was implemented by Alexandre Archambault (@alxarchambault) and Julien Richard-Foy (@julienrf).
ThisBuild / packageTimestamp setting
In sbt 1.4.0 we started wiping out the timestamps in JAR to make the builds more repeatable. This had an unintended consequence of breaking Play's last-modified response header.
To opt out of this default, the user can use:
#6237 by @eed3si9n
Coursier-based launcher
sbt launcher shipped in the official installer of sbt is a generic launcher that is able to launch all versions of sbt. For the sbt launcher shipped with sbt 1.5.0 installer, its internal dependency resolver used to resolve sbt itself was updated from Apache Ivy to Coursier (Dependency resolver for the built has been updated to Coursier in sbt 1.3.0).
You can use
-Dsbt.launcher.coursier=false
to opt out of using Coursier and used Apache Ivy instead. launcher#86 by @eed3si9nOther updates
SemanticdbPlugin
creating duplicatescalacOptions
or dropping-Yrangepos
#6296/#6316 by @bjaglin and @eed3si9nCompile
,Test
, etc #6283 by @eed3si9nStashOnFailure
#6266 by @melezovtestQuick
#6326 by @RafalSumislawskireload
memory fix by @jtjeferreira and behind-the-proxy IntelliJ import fix added by @eed3si9nThisBuild / versionScheme
is missing while publishing #6310 by @eed3si9nscripted
#6351 by @steinybotv1.4.9
: 1.4.9Compare Source
Changes since 1.4.9
sbt 1.4.9 fixes JLine 2 fork + JAnsi version to match that of JLine 3.19.0 to fix line reading, which among other things affected IntelliJ import.
Changes with compatibility implications
sbt 1.4.9 is published to Sonatype OSS without going through Bintray.
sbt-launcher
was published twice undersbt-launch.jar
and Maven-compatiblesbt-launch-<version>.jar
. We're no longer going to publish the Maven incompatible form of the launcher JAR. The latest sbt-extras has already migrated to the correct URL, but CI environments using and older version of it may experience disruptions. As the fix, curl*.tgz
from GitHub release.*.tgz
from GitHub release.Migration note for Travis CI
If you're using Travis CI, you might run into the above issue because it's using an older version of sbt-extras. Here's how you can use the official sbt launcher script instead:
Fixes
sourcePositionMappers
added by Play not getting called #6352 by @mkurztestQuick
leading to an infinite loop #6326 by @RafalSumislawskiZipEntry
timestamp to 2010-01-01 to prevent negative value #6290 by @takezoev1.4.8
: 1.4.8Compare Source
Changes with compatibility implications
sbt 1.4.8 is published to Sonatype OSS without going through Bintray.
sbt-launcher
was published twice undersbt-launch.jar
and Maven-compatiblesbt-launch-<version>.jar
. We're no longer going to publish the Maven incompatible form of the launcher JAR. The latest sbt-extras has already migrated to the correct URL, but CI environments using and older version of it may experience disruptions. As the fix, curl*.tgz
from GitHub release.*.tgz
from GitHub release.Migration note for Travis CI
If you're using Travis CI, you might run into the above issue because it's using an older version of sbt-extras. Here's how you can use the official sbt launcher script instead:
Fixes
sourcePositionMappers
added by Play not getting called #6352 by @mkurztestQuick
leading to an infinite loop #6326 by @RafalSumislawskiZipEntry
timestamp to 2010-01-01 to prevent negative value #6290 by @takezoeConfiguration
📅 Schedule: Branch creation - "every 3 weeks on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.