Commit Graph

10323 Commits

Author SHA1 Message Date
Adrien Piquerez 3d863a59f8 Add scripted scala3-scala-home 2020-12-23 21:20:59 +01:00
Adrien Piquerez ccb63e9eaa Add scripted scala3-compiler-bridge-binary 2020-12-23 21:20:59 +01:00
Adrien Piquerez 28ad11b07f Add scripted scala3-auto-scala-library 2020-12-23 21:20:59 +01:00
Adrien Piquerez 4b91541a69 Fix MetaBuildLoader on local snapshot deps 2020-12-23 21:20:59 +01:00
Adrien Piquerez 2d75cbd3b9 Manage .tasty files in Scala 3 2020-12-23 21:20:59 +01:00
Adrien Piquerez 08b83d6b31 Fetch Scala 3 compiler bridge binary module
Contrary to Scala 2, Scala 3 compiler bridges are tied to the compiler
version. There is one compiler bridge foreach compiler version.
Scala compiler bridges are pure java so they are binary compatible with
all Scala version. Consequently, we can fetch the binary module directly
without using the ZincCompilerBridgeProvider.
2020-12-23 21:20:59 +01:00
Adrien Piquerez c9478529e6 Manage Scala 3 instances 2020-12-23 21:20:24 +01:00
eugene yokota 1b0c251a69
Merge pull request #6227 from eed3si9n/wip/bump_zinc
Zinc 1.5.0-M1
2020-12-23 15:13:42 -05:00
Eugene Yokota 45ebeb6d32 Adjust to new Contraband 2020-12-23 13:41:29 -05:00
Eugene Yokota adb23cde89 Zinc 1.5.0-M1 2020-12-23 13:41:15 -05:00
eugene yokota f9d8d8c45f
Merge pull request #6221 from eed3si9n/wip/eviction_error
Replace EvictionWarning with EvictionError
2020-12-23 13:03:30 -05:00
eugene yokota 6b15b17eb1
Merge pull request #6226 from er1c/bsp-debug-messages
Add bsp DebugSession messages
2020-12-23 10:40:57 -05:00
Eric Peters bc53ea45b2 Add bsp DebugSession messages 2020-12-22 14:16:49 -08:00
eugene yokota 7e1cc051f6
Merge pull request #6225 from jtjeferreira/feature/contraband_regen
regen contraband
2020-12-21 12:47:20 -05:00
João Ferreira 08eaa9fb3b regen contraband 2020-12-21 17:21:54 +00:00
eugene yokota 5a7e41c681
Merge pull request #6222 from jtjeferreira/feature/contraband
update sbt-contraband to 0.5.1
2020-12-21 12:00:39 -05:00
João Ferreira 4595faebd8 bump contraband 2020-12-21 13:41:32 +00:00
Eugene Yokota 1111ed09ad Replace EvictionWarning with EvictionError
Fixes https://github.com/sbt/sbt/issues/5976
Ref https://eed3si9n.com/enforcing-semver-with-sbt-strict-update

This removes the guess-based EvictionWarning, and runs EvictionError instead.
EvictionError uses the `ThisBuild / versionScheme` information supplied by the library authors in addition to `libraryDependencySchemes` that the build users could provide:

```scala
ThisBuild / libraryDependencySchemes += "com.example" %% "name" % "early-semver"
```

as the version scheme "early-semver", "semver-spec", "pvp", "strict", or "always" may be used.
Here's an example of `update` failure:

```
[error]  * org.typelevel:cats-effect_2.13:3.0.0-M4 (early-semver) is selected over {2.2.0, 2.0.0, 2.0.0, 2.2.0}
[error]      +- com.example:use2_2.13:0.1.0-SNAPSHOT               (depends on 3.0.0-M4)
[error]      +- org.http4s:http4s-core_2.13:0.21.11                (depends on 2.2.0)
[error]      +- io.chrisdavenport:vault_2.13:2.0.0                 (depends on 2.0.0)
[error]      +- io.chrisdavenport:unique_2.13:2.0.0                (depends on 2.0.0)
[error]      +- co.fs2:fs2-core_2.13:2.4.5                         (depends on 2.2.0)
[error]
[error]
[error] this can be overridden using libraryDependencySchemes or evictionErrorLevel
```

This catches the violation of cats-effect_2.13:3.0.0-M4 version scheme (early-semver) without user setting additional overrides. If the user wants to opt-out of this, the user can do so per module:

```scala
ThisBuild / libraryDependencySchemes += "org.typelevel" %% "cats-effect" % "always"
```

or globally as:

```
ThisBuild / evictionErrorLevel := Level.Info
```
2020-12-21 00:24:39 -05:00
Eugene Yokota 3c955abea6 Fix compiler bridge concurrency issue
Fixes https://github.com/sbt/sbt/issues/5785
2020-12-21 00:13:14 -05:00
eugene yokota 21fc19a193
Merge pull request #6220 from eed3si9n/wip/bump_dev
Zinc 1.4.4 + lm 1.5.0-M2 + launcher 1.1.6
2020-12-20 23:13:02 -05:00
Eugene Yokota f5d4a0779e lm 1.5.0-M2 2020-12-20 22:31:17 -05:00
Eugene Yokota 9a3d55b92e Zinc 1.4.4 2020-12-20 22:24:29 -05:00
Eugene Yokota 599ee61251 launcher 1.1.6 2020-12-20 22:23:35 -05:00
eugene yokota 0cb9f37de5
Merge pull request #6218 from eed3si9n/wip/failfast_false
fail-fast: false
2020-12-19 18:18:37 -05:00
Eugene Yokota f27722699b fail-fast: false 2020-12-19 15:20:10 -05:00
eugene yokota 26460f1c30
Merge pull request #6214 from eed3si9n/wip/completions
Fix tab completion perf regression
2020-12-19 07:49:57 -05:00
Eugene Yokota 76c4ae56f0 Revert "Set complete flag in completions"
This reverts commit edf43a473b.
This fixes performance regression of tab completion observerd in https://github.com/sbt/sbt/issues/6204
2020-12-19 00:01:16 -05:00
eugene yokota 8a6c10327b
Merge pull request #6213 from eatkins/rejected-execution
Catch RejectedExecutionException in MainLoop
2020-12-18 20:28:26 -05:00
Ethan Atkins 0a8e8a45d0 Catch RejectedExecutionException in MainLoop
sbt 1.4.x was printing a very verbose and annoying
RejectedExectionException when the user cancelled tasks with ctrl+c.

Fixes #6192
2020-12-18 16:57:27 -08:00
eugene yokota 1dcafebb9c
Merge pull request #6207 from adpi2/scala3-libmanagement
Remove dotty tool dependencies
2020-12-17 11:03:09 -05:00
Adrien Piquerez f38a7272e7 Remove dotty tool dependencies 2020-12-17 10:24:07 +01:00
eugene yokota acc94fd847
Merge pull request #6199 from adpi2/sbt-dotty
Add compiler-interface to the Scala Instance top loader
2020-12-11 13:32:06 -05:00
Adrien Piquerez c9ab2ee558 Put compiler-interface in the Scala Instance top loader 2020-12-11 11:47:08 +01:00
eugene yokota 5d1c394bb4
Merge pull request #6190 from mkurz/fix_onLoad
onLoad now runs with correct FileTreeRepository and CacheStoreFactory
2020-12-03 21:28:34 -05:00
Matthias Kurz 0dc7622969
Use identity 2020-12-04 00:36:48 +01:00
Matthias Kurz 8e48630376
onLoad now runs with correct FileTreeRepository and CacheStoreFactory 2020-12-04 00:01:47 +01:00
eugene yokota 4d1af77701
Merge pull request #6189 from eatkins/jline-console-close
Close jline 3 terminal when console exits
2020-12-03 13:01:59 -05:00
Ethan Atkins 2e208af7c1 Close jline 3 terminal when console exits
The jline 3 Terminal is an autocloseable and should be closed when we're
down with it. I'm not exactly sure what resources we were potentially
leaking, but the jline3term variable is an instance of the jline
AbstractTerminal class which I know can create a thread in some
circumstances. This came up while working on #6185.
2020-12-03 08:30:14 -08:00
eugene yokota 2bbbcfae77
Merge pull request #6174 from hamnis/bsp_connection_file_possibly_disabled
Make it possible to not write the bsp connection file
2020-11-29 11:46:24 -05:00
Erlend Hamnaberg a554976ffb Update main/src/main/scala/sbt/internal/server/BuildServerProtocol.scala
Change from review

Co-authored-by: Adrien Piquerez <adrien.piquerez@gmail.com>
2020-11-29 16:36:38 +01:00
Erlend Hamnaberg 341e09a07e Make it possible to not write the bsp connection file
Made the bspConfig task dependendant on the bspConfig value.
Changed the bspConfig setting to use a attributeKey so we can use it in the server as well.
2020-11-27 20:00:12 +01:00
João Ferreira e1d8f0cafd
Updates to Coursier 2.0.7 (#6120)
* Updates to Coursier 2.0.7

https://github.com/coursier/sbt-coursier/releases/tag/v2.0.4 which includes https://github.com/coursier/coursier/releases/tag/v2.0.7

> Memo-ize classes that can be created at a high rate

coursier.core.{Dependency, Module, Publication} are now memo-ized (using weak references). This can lower the amount of duplicate instances of these objects, and lower GC pressure.
2020-11-26 19:25:37 -05:00
eugene yokota 29358529f9
Merge pull request #6171 from eatkins/ctrl-c-watch
Fix ctrl+c handling after exiting watch
2020-11-26 12:30:59 -05:00
Ethan Atkins 5c508e4275 Fix waitWatch failure handling
The waitWatch command is very similar to shell in that it should
override the onFailure command to be itself. It also enqueues itself to
remaining commands whenever it reads a new command which made it
unnecessary to append waitWatch to the runCommmand in Continuous.
2020-11-25 14:54:13 -08:00
Ethan Atkins 90ca463c70 Add signal registration in LineReader
It is possible for the signal handler to get in a state where it has no
effect in the shell. When this happens, entering ctrl+c does not exit
the shell. To ensure that ctrl+c always exits the shell, we can register
a signal handler in the line reader that write -1 to the terminal input
stream, which should cause the line reader to return an exit command.
2020-11-25 14:31:29 -08:00
Ethan Atkins c24e7da844 Rethrow InterruptedException instead of ClosedException
There are cases where sbt will incorrectly shutdown if the jline reader
is interrupted while filling the input buffer. To fix this we can throw
an InterruptedException instead of a ClosedException.

The repro for this was start `sbt`, input `~compile` and while sbt was
starting up, open a source file with vim using the metals bsp
integration. sbt server would end up shutting down everytime after a
single compilation iteration.
2020-11-25 14:31:29 -08:00
eugene yokota d46d5dfff5
Merge pull request #6168 from eatkins/ipcsocket-upgrade
Update ipcsocket
2020-11-25 11:49:15 -05:00
Ethan Atkins d5ddf0f8ce
Merge branch 'develop' into ipcsocket-upgrade 2020-11-25 08:25:11 -08:00
eugene yokota 1051690d61
Merge pull request #5515 from jtjeferreira/better_file_input
introduce a new Input/Output: FileInput/FileOutput
2020-11-25 11:11:04 -05:00
Ethan Atkins 3f3e219e0f Update ipcsocket
The new version provides an apple silicon arm64 jni implementation of
the ipcsocket api. It also adds a jni implementation for getting the max
socket length which is necessary because jna isn't supported on the
apple arm64 platform yet.
2020-11-25 07:34:11 -08:00