Commit Graph

17940 Commits

Author SHA1 Message Date
Amina Adewusi 696a19f5d7 Virtualize Sync.sync so it can be cached remotely for resources dir syncing
An alternative to https://github.com/sbt/sbt/pull/6554.
2021-07-31 18:23:30 +01:00
eugene yokota 47117020ab
Merge pull request #6605 from ScalaWilliam/more-verbose-server-exception
Building on #6353 to help identify the issue of #6101 for Windows users.
2021-07-31 13:15:34 -04:00
eugene yokota 4f18f7473f
Merge pull request #6609 from adpi2/bsp-resilience
Make BSP requests robust to some target failures
2021-07-30 09:35:51 -04:00
Adrien Piquerez 120ccccaab Make BSP requests robust to some target failures
The request of the form buildTarget/* often take a sequence of build
targets as parameter. So far if there is an error on a single build
target, the entire request fails.
This is not the best because the client wants the result of the other
build targets anyway:
For example:
- workspace/buildTargets: if one build target has an invalid Scala
version we still want to import the other ones
- buildTarget/scalacOptions: if a dependency cannot be resolved we still
want to import the build targets that do not depend on it
- buildTarget/scalaMainClasses: if buildTarget does not compile we still
want the main classes of the other targets
...

The change is to respond to BSP requests with the successful
build targets and  to ignore the failed ones.
This is implemented the same in Bloop since before BSP in sbt.

In  https://github.com/build-server-protocol/build-server-protocol/issues/204,
I made a proposal to also add the failed build targets in the response.
2021-07-30 14:41:00 +02:00
eugene yokota 31a04c9968
Merge pull request #6573 from github-samuel-clarenc/bspStartTry
[BSP] Send information when server process fails
2021-07-28 12:53:50 -04:00
Alexandre Archambault 15c1480d22
Merge pull request #357 from alexarchambault/develop
Update GitHub actions
2021-07-27 10:46:53 +02:00
Alexandre Archambault 4d5b4c2e26 Update coursier/cache-action GitHub action 2021-07-27 00:45:39 +02:00
Alexandre Archambault f7507b7a38 Use coursier/setup-action 2021-07-26 23:56:22 +02:00
Alexandre Archambault 05bebd7927 Enable dependabot updates for GitHub actions 2021-07-26 23:48:05 +02:00
Scala Steward 6adbc239de
Update sbt-ci-release to 1.5.7 (#334) 2021-07-26 23:45:47 +02:00
Samuel CLARENC e3f2371655
Merge branch 'develop' into bspStartTry 2021-07-26 16:12:41 +02:00
eugene yokota a0bb13cd66
Merge pull request #6576 from github-samuel-clarenc/bspProcessServerJavaHome 2021-07-26 09:04:32 -04:00
Samuel CLARENC 964c1cbaa4 Use java home to launch BSP server 2021-07-26 11:40:53 +02:00
Samuel CLARENC 0be658d299
Merge branch 'develop' into bspStartTry 2021-07-26 09:30:28 +02:00
Samuel CLARENC 5cdec34beb Add a Try around process execution 2021-07-26 09:30:08 +02:00
William Narmontas febccde3e7 Building on #6353 to help identify the issue of #6101 for Windows users. 2021-07-24 19:59:00 +01:00
eugene yokota ab05465ef4
Merge pull request #6593 from adpi2/fix-6575
Use `-Dsbt.script` to start sbt server
2021-07-22 12:09:35 -04:00
Adrien Piquerez 966633aa81 Fix duplicated -Dsbt.script 2021-07-22 09:17:22 +02:00
Adrien Piquerez 2287f3e384 Find sbt.bat in windows $PATH 2021-07-22 09:17:22 +02:00
Adrien Piquerez c4e6cf54d2 Use java to start BSP client 2021-07-22 09:17:22 +02:00
Adrien Piquerez c31503cca2 Warn when using -sbt-launch-jar 2021-07-22 09:17:22 +02:00
eugene yokota d4162cce04
Merge pull request #6566 from adpi2/fix-6010
[BSP] Send diagnostics and meaningful error message when reloading fails
2021-07-12 16:01:48 -04:00
Adrien Piquerez c9ca2d4afa Use `-Dsbt.script` to start sbt server
In order to start the sbt server we must use the sbt script because
it is the only way to load the .sbtopts and the .jvmopts file properly.

To do so the sbt script can pass a -Dsbt.script prop to the java server.
It is used in the NetworkClient to start the server, and it is replicated
in the BuildServerConnection file (.bsp/sbt.json).
2021-07-12 14:20:17 +02:00
Adrien Piquerez ba73f87296 add scaladoc in EvalReporter 2021-07-12 09:28:39 +02:00
eugene yokota 5f4798fa76
Merge pull request #6589 from eed3si9n/bport/launch
[1.5.x] launcher 1.3.3
2021-07-11 03:04:45 -04:00
eugene yokota b75895da87
Merge pull request #6588 from eed3si9n/wip/launch
launcher 1.3.3
2021-07-11 02:30:50 -04:00
Eugene Yokota d246059925 launcher 1.3.3
Fixes https://github.com/sbt/sbt/issues/6587
2021-07-11 02:07:44 -04:00
Eugene Yokota 181052fddb launcher 1.3.3
Fixes https://github.com/sbt/sbt/issues/6587
2021-07-11 02:04:48 -04:00
eugene yokota 5ef0af2486
Merge pull request #384 from adpi2/fix-6585
Fix Scala 3 binary version
2021-07-08 23:25:39 -04:00
eugene yokota 9c10fe4c12
Merge pull request #6480 from adpi2/mk-scala-instance 2021-07-08 08:45:34 -04:00
Adrien Piquerez 37234e35ba Fix Scala 3 binary version
- for 3.0.1-bin-nonbootstrapped it should be 3
- for 3.0.1-SNAPSHOT it should be 3
2021-07-08 13:14:16 +02:00
Adrien Piquerez 5490385303 Remove topLoader hack for dotty 2021-07-08 10:03:47 +02:00
Adrien Piquerez 69795cbed7 Move jansiExclusionLoader to scalaInstanceTopLoader 2021-07-08 10:03:47 +02:00
Adrien Piquerez 63dcb1957b Move scalaInstanceTopLoader to compileBase settings 2021-07-08 09:27:20 +02:00
Adrien Piquerez 94cc9a84ac Fix mima binary issues 2021-07-08 09:25:01 +02:00
Adrien Piquerez b4c6299b9c [BSP] Add test on failing workspace/reload 2021-07-08 09:25:01 +02:00
Adrien Piquerez a76e209dde [BSP] send diagnostics when evaluating build.sbt
Since build.sbt is compiled/evaluated in `sbt.compiler.Eval`,
this commit introduces a `BuildServerEvalReporter` to redirect
the compiler errors to the BSP clients.

A new `finalReport` method is added in the new `EvalReporter` base class
to reset the old diagnostics.
2021-07-08 09:25:01 +02:00
Adrien Piquerez 4804cc2fa4 Simplify bspReload cmd by calling doLoadProject
Fixes #6010: Send real error message when realod failed
2021-07-08 08:39:46 +02:00
eugene yokota 1497686e57
Merge pull request #6553 from retronym/topic/bsp-sbt-target
Support the SBT extension in BSP import
2021-07-05 12:51:34 -04:00
eugene yokota 40a2166318
Merge pull request #383 from eed3si9n/wip/conflict_warning
Fix cross-Scala suffix conflict warning
2021-07-05 12:37:47 -04:00
Eugene Yokota 0aa7d69ee6 Fix cross-Scala suffix conflict warning
Fixes https://github.com/sbt/sbt/issues/6578

Problem
-------
The regex currently expects two segments like2.x or 3.x,
but Scala 3 uses _3 as the cross suffix, and it's not caught.

Solution
--------
Change the regex.
2021-07-05 04:11:20 -04:00
Adrien Piquerez a825c115c2 [BSP] Ignore sbt target in resources request 2021-06-30 10:31:43 +02:00
Jason Zaugg 3d92827af3 Fix compilation error in test 2021-06-30 12:12:24 +10:00
Jason Zaugg df5fb17c6f Exclude create/copy methods of PluginData from MiMa's consideration 2021-06-30 11:25:47 +10:00
Jason Zaugg fe046476b1 Refine and test SBT BSP target
- Pass source dirs and current list of files
  - Align display name and URI
2021-06-30 11:19:24 +10:00
Jason Zaugg 0bd736be2a Record build sources in PluginData for BSP 2021-06-28 23:27:33 +10:00
Jason Zaugg 111cc5f473 Add scalacOptions to the SBT targets 2021-06-28 11:02:12 +10:00
Jason Zaugg af14864986 Address review feedback
- Restore old type of `bspWorkspace` key for backwards compat.
    Instead, introduce `bspFullWorkspace` that includes the
    SBT targets
  - Log a warning if the client requests, e.g. `scalaMainClasses`
    for a SBT target
  - Refactor the code that creates the SBT build targets so it
    doesn't depend on `sbtFullWorkspace`.
  - Add a setting `bspSbtEnabled` to let the user opt-opt of
    SBT target export (e.g. to compensate for a client that does
    not yet support them)
2021-06-28 11:02:12 +10:00
Jason Zaugg 45e8e2f90d Support the SBT extension in BSP import
This enables code assist in the .sbt and project/*.scala files
in IntelliJ and any other IDEs that implement this extension.
2021-06-28 11:02:09 +10:00
eugene yokota e4231ac039
Merge pull request #6565 from adpi2/fix-6562
[BSP] Respond error after random failure when compiling
2021-06-25 18:35:01 -04:00