Commit Graph

11371 Commits

Author SHA1 Message Date
Eugene Yokota 39bcfee937 Fix ClassCastException
Ref #6592
When there's an issue like timeout, currently it throws a
ClassCastException because I made some assumption about the underlying
error. This removes the unnecessary casting.
2021-09-05 01:02:37 -04:00
eugene yokota a199875e1d
Merge pull request #6630 from Nirvikalpa108/timings-help-bug 2021-08-21 06:39:39 -04:00
Amina Adewusi 3c9826f4f4 Fixes shutdown hook error in timing report
This fixes the closed channel exception generated when running
sbt -timings help. This bug was introduced in sbt 1.4 where a wrapper
was created (Terminal.scala) around the terminal. This meant that the
shutdown hook which had been used previously was no longer working.

This has been fixed by avoiding the use of the JVM shutdown hook and
instead manually running the thunk at a place in the code where
the programme is still able to respond.
2021-08-20 17:45:14 +01:00
eugene yokota 2a26e81868
Merge pull request #6616 from sbt/dependabot/github_actions/olafurpg/setup-scala-13
Bump olafurpg/setup-scala from 12 to 13
2021-08-09 10:25:02 -04:00
dependabot[bot] db0465e881
Bump olafurpg/setup-scala from 12 to 13
Bumps [olafurpg/setup-scala](https://github.com/olafurpg/setup-scala) from 12 to 13.
- [Release notes](https://github.com/olafurpg/setup-scala/releases)
- [Commits](https://github.com/olafurpg/setup-scala/compare/v12...v13)

---
updated-dependencies:
- dependency-name: olafurpg/setup-scala
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-09 04:03:01 +00:00
eugene yokota 8586e19f62
Merge pull request #6611 from Nirvikalpa108/remote-cache-again
Virtualize Sync.sync so it can be cached remotely for resources dir syncing
2021-07-31 14:56:29 -04:00
eugene yokota 60890eb7d9
Update main-actions/src/main/scala/sbt/Sync.scala 2021-07-31 14:22:25 -04:00
eugene yokota 7efbbf2f34
Update main-actions/src/main/scala/sbt/Sync.scala 2021-07-31 14:07:25 -04:00
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
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 9c10fe4c12
Merge pull request #6480 from adpi2/mk-scala-instance 2021-07-08 08:45:34 -04: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
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
Adrien Piquerez ef7d8b68f6 [BSP] add server test on custom failure when compiling 2021-06-25 10:41:10 +02:00