Commit Graph

74 Commits

Author SHA1 Message Date
Adrien Piquerez 62f077e657 fix BuildServerTest 2024-03-21 15:07:29 +01:00
Adrien Piquerez b5afcf8a0c Fix server completion tests 2024-03-19 17:06:09 +01:00
Adrien Piquerez 03ca5365f5 Fix BuildServerTest 2024-03-19 17:06:09 +01:00
Adrien Piquerez 924150851c Port server tests to scalatest and fix 2024-03-19 17:06:09 +01:00
Eugene Yokota cba7a0efc3 Refactor to build mainProj 2023-01-15 23:48:11 -05:00
Eugene Yokota bb40e1bc87 Merge branch '1.9.x' into wip/merge-1.9.x 2022-12-31 16:28:47 -05:00
Eugene Yokota b00792a3a7 Scala 2.12.17
This bumps up scala-xml to 2.x.
2022-09-17 04:09:52 -04:00
Krzysztof Pado 2bffb2731e Add support for BSP's buildTarget/outputPaths method 2022-08-03 10:13:48 +02:00
Krzysztof Pado 58f0ff612c Add support for BSP's buildTarget/outputPaths method 2022-08-01 19:31:43 -07:00
Jason Pickens 5c933679fa
fix: change BSP JVM environment working directory to be a path 2022-07-27 11:56:27 +12:00
Kamil Podsiadlo 7921cab7e3 fix: publishing bsp diagnostics
* do not publish bsp diagnostics if there were and there are no problems
* publish diagnostics if problems needs to be updated
2022-06-25 11:14:51 +02:00
Kamil Podsiadlo e8d60efbb4 fix: publishing bsp diagnostics
* do not publish bsp diagnostics if there were and there are no problems
* publish diagnostics if problems needs to be updated
2022-06-23 08:25:36 +02:00
Eugene Yokota d5889d3ce3 Bump to Scala 2.12.16 2022-06-13 01:27:24 -04:00
Kamil Podsiadlo f16412c3dd tests: run&test environment requests 2022-04-12 20:09:39 +02:00
Rikito Taniguchi f5e9ab8424 Add test to verify server doesn't send notifications 2022-03-27 00:12:30 -04:00
Kamil Podsiadlo ce978a19ed tests: add test case for framework field in scala test classes request 2022-03-10 19:56:49 +01:00
Eugene Yokota 6c68b843d5 Fixes tab completion of global keys
Fixes #1373
Fixes #6715

Following my own PR #2855 around `ThisBuild`, this attempts to fix the
tab completion of globally scoped keys from the shell.
2021-11-16 19:23:25 -05:00
Adrien Piquerez 75d3bf2b5f [BSP] remove duplicated sources in sbt build target
Also remove the base directory (`./project/`) from the list of source directories
2021-10-29 15:40:00 +02:00
Adrien Piquerez e64c71dd58 [BSP] Support base source files 2021-10-29 15:40:00 +02:00
Eugene Yokota 0413727796 Drop TrapExit
Fixes https://github.com/sbt/sbt/issues/6558

Problem
-------
sbt uses SecurityManager feature of JDK to trap `sys.exit` call during
`run`-like tasks, since we emulate `run` and `console` as function calls.
JDK 17 deprecated SecurityManager and it's printing warnings.

Solution
--------
About 10 years go, `exit` was a convenient way of quitting both Scala
REPL and sbt shell. Scala 2.11 broke this by removing the `Predef.exit`.
We still need to worry about `run` potentially calling `sys.exit`
but that can be handled using fork feature.
In the long-run, it probably is better to be JDK 17 compatible.
2021-09-19 12:47:59 -04:00
Eugene Yokota 6564090976 Increase timeout for progress test 2021-09-18 18:45:37 -04:00
Eugene Yokota 8b9cbb3311 Follow up on Scala 2.12.15 bump 2021-09-18 18:08:26 -04:00
Igal Tabachnik 9986fb6eed Adding a test verifying task progress reports (task start/progress/finish) 2021-09-10 13:06:03 +03:00
Igal Tabachnik 20fcab4651 Ensuring both "Rebuild Project" and "Rebuild module" work from IntelliJ 2021-08-28 13:50:12 +03:00
Igal Tabachnik a920693c96 Checking for target .class files present and absent before and after cleanCache 2021-08-27 17:46:41 +03:00
Igal Tabachnik c55880d795 Implementing `buildTarget/cleanCache` to support Rebuild operations from IntelliJ 2021-08-27 17:46:41 +03: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
Adrien Piquerez b4c6299b9c [BSP] Add test on failing workspace/reload 2021-07-08 09:25:01 +02: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
Adrien Piquerez ef7d8b68f6 [BSP] add server test on custom failure when compiling 2021-06-25 10:41:10 +02:00
Samuel CLARENC f3ec202a06 Add resourcesProvider flag to BuildServerCapabilities in BSP contra 2021-06-21 16:51:34 +02:00
Samuel CLARENC a0e3d89855 Implement BSP buildTarget/resources command 2021-06-21 16:51:34 +02:00
Matthias Kurz fbfc272171
Scala 2.12.14 / 2.13.6 2021-05-28 18:13:28 +02:00
Adrien Piquerez 93afa7e892 Improve BSP processing logs
The processing log is sent when a command issued by a request is being
processed, if the request has not yet been responded. In particular,
the processing log of sbtReportResult is filtered out if the client has
already received a response.

The processing log severity is the lowest so that it can be ignored by
the BSP client.
2021-03-09 10:18:12 +01:00
Eugene Yokota 68bd693178 ResponseTest 2021-02-06 23:24:09 -05:00
Ethan Atkins 7e1384608e Fix console when supershell is disabled
The sbt console didn't work with supershell disabled because setting
that parameter was causing the terminal type to be dumb which only works
in some very specific situations. When Terminal.isAnsiSupported was
false, we were setting sbt to use a dumb terminal. We really only want
to use a dumb terminal if virtual io is off. It also doesn't necessarily
make sense to automatically disable general ansi codes even if
supershell is disabled by system property.
2020-11-04 18:47:01 -08:00
Adrien Piquerez 66f4032699 Fix BuildServerReporter and add tests 2020-10-26 09:04:14 +01:00
Ethan Atkins 5fee13ad5a Restore string cancellation test
The cancel on-going task with string id test was failing in CI because
of a race condition involving server log messages. We need to wait for a
notification that the project has been compiled before we wait for the
"Waiting for" message, otherwise we might pick up the "Waiting for"
message from the previous test case and try to cancel the task before it
has been created.
2020-09-28 07:28:24 -07:00
Ethan Atkins 2f5d542965 Don't fork server tests
I was seeing some failures in travis ci where the build crashed because
it wasn't able to open a socket. This failure was happening in the
scalatest fork runner so I decided to avoid forking entirely. An
alternative approach would possibly be just to remove the scalatest
framework from the server test project but not forking is nicer anyway.
2020-09-28 07:28:24 -07:00
Ethan Atkins 8a23f1e440 Add ability to timeout ClientTest cases
It is possible for the test cases in ClientTest to block indefinitely.
To avoid that, we can instead run them on a background thread and cancel
the thread if that happens.
2020-09-28 07:03:28 -07:00
Adrien Piquerez f5753f763c Add BSP buildTarget/test endpoint 2020-09-21 12:17:20 +02:00
Adrien Piquerez 50cf74cc67 Add BSP `buildTarget/scalaTestClasses` endpoint 2020-09-21 12:17:20 +02:00
Adrien Piquerez cfaede2bf6 Increase buildTarget/scalaMainClasses test timeout 2020-09-21 09:18:07 +02:00
Adrien Piquerez 8b8745cb0b Fix completion 2020-09-17 14:23:28 +02:00
Adrien Piquerez 759392aaf0 Add BSP `buildTarget/run` test 2020-09-17 14:23:07 +02:00
Adrien Piquerez 92fb69f370 Add BSP buildTarget/scalaMainClasses endpoint 2020-09-17 13:32:30 +02:00
Adrien Piquerez ac85117841 Add BSP workspace/reload 2020-09-14 13:10:11 +02:00
eugene yokota 91367bb34a
Merge pull request #5749 from eed3si9n/wip/sbtn
Rename to sbtn
2020-08-14 12:10:09 -04:00
Eugene Yokota 0b94b68fb5 Rename to sbtn 2020-08-13 22:56:02 -04:00
Eugene Yokota c85e5b8bc0 Upgrade scala version to 2.12.12
This introduces `Def.unit(...)` to workaround the pure expression does nothing warning.
2020-08-11 23:33:12 -04:00