Commit Graph

10434 Commits

Author SHA1 Message Date
Adrien Piquerez 0789fd7be6 Use java command in BspConnectionDetails 2020-05-25 13:32:48 +02:00
Adrien Piquerez b184be860f Add headers 2020-05-25 10:43:54 +02:00
Adrien Piquerez 914b592fb2 scalafmt 2020-05-25 09:40:54 +02:00
Adrien Piquerez 18505c4a50 Add Mima filters for sbt.internal 2020-05-22 19:07:02 +02:00
Adrien Piquerez 4f00abf1ba BSP is part of the JVM plugin 2020-05-22 13:39:59 +02:00
Adrien Piquerez 6bce0a7b07 update NetworkClient 2020-05-22 11:17:33 +02:00
Adrien Piquerez c11ee3269c Add BspCompilationTaskProgress 2020-05-22 11:15:47 +02:00
eugene yokota 1f3ac6c8cd
Merge pull request #5564 from dwijnand/1.4/oome-null-msg
Avoid making NPEs out of OOMEs!
2020-05-19 20:19:00 -04:00
Dale Wijnand ff97fb6068 Avoid making NPEs out of OOMEs!
(cherry picked from commit ba29f65f17c7b9d9ac5bf79d0934cf23438a16b4)
2020-05-19 21:30:53 +01:00
Eugene Yokota b43f663b0e Automatic conversion to Def.taskIf
When `Def.task`, `:=`, `+=` etc contains `if` and only `if` expression automatically treat it as a conditional task even if the else clause contains `.value`.
2020-05-19 15:02:57 -04:00
Adrien Piquerez a31747758c Create BSP connection file at server startup 2020-05-18 09:35:14 +02:00
eugene yokota 85c1c63176
Merge pull request #5560 from eatkins/remove-sbtopts
Remove .sbtopts
2020-05-18 00:27:56 -04:00
Eugene Yokota 45e8426d27 def taskIf[A](a: A): Initialize[Task[A]]
Make `Def.taskIf` accept pure `A` type, as opposed to `Def.task { ... }`.
2020-05-17 23:44:35 -04:00
Eugene Yokota c6f62293f1 Def.taskIf macro
Def.taskIf accepts an if-expression or a block ending in an if-expression.
2020-05-17 23:36:04 -04:00
Eugene Yokota fc791cc23e Rewrite tasks using Def.ifS 2020-05-17 23:36:04 -04:00
Eugene Yokota 2feecf8a1f Selective functor
This implements Selective functor for `Either[A, B]` "task" (`Initialize[Task[Either[A, B]]]`).
The selective functor allows an encoding of if-expression:

```
  def ifS[A](
      x: Def.Initialize[Task[Boolean]]
  )(t: Def.Initialize[Task[A]])(e: Def.Initialize[Task[A]]): Def.Initialize[Task[A]]
```

The benefit of this approach is that task dependencies are still visible to inspect command.
2020-05-17 23:36:04 -04:00
Ethan Atkins 8f2d35685b Remove .sbtopts
These prevent sbt from loading with the windows batch script. I think
it's better for each developer to manually decide how much ram they want
to devote to sbt anyway.
2020-05-16 19:28:51 -07:00
Adrien Piquerez c80fe525c6 add BspClient 2020-05-16 09:52:21 +02:00
Adrien Piquerez 2c8a322bd8 bspWorkspace is a setting 2020-05-16 09:52:21 +02:00
Adrien Piquerez f3bce7e976 fix BuildServerReporter 2020-05-16 09:52:21 +02:00
Adrien Piquerez 24f6a6f290 add BSP buildTarget/dependencySources 2020-05-16 09:52:21 +02:00
Adrien Piquerez baa47c88c3 fix BSP logging and response 2020-05-16 09:52:21 +02:00
Adrien Piquerez 98750817c6 fix internal transitive mgmt in BSP 2020-05-16 09:52:21 +02:00
Adrien Piquerez 068fe2ad0a add BuildServerCapabilities 2020-05-16 09:52:21 +02:00
Adrien Piquerez 3ae42ae9c6 fix scala jars and add capabilities in BuildTarget 2020-05-16 09:52:21 +02:00
Adrien Piquerez 5172775b80 fix classpath in buildTarget/scalacOptions 2020-05-16 09:52:21 +02:00
Adrien Piquerez 454ee61289 separate BSP and LSP handlers + add bspWorkspace task 2020-05-16 09:52:21 +02:00
Adrien Piquerez a415cd0cfc replace LSP compiler reporter by BSP one 2020-05-16 09:52:20 +02:00
Adrien Piquerez f89cef1fd0 add bspCompile task 2020-05-16 09:52:20 +02:00
Adrien Piquerez 994e05ef12 Remove obsolete codec formats 2020-05-16 09:52:20 +02:00
Adrien Piquerez e409a677c5 Update .gitignore for metals support 2020-05-16 09:52:20 +02:00
Eugene Yokota f6ff4da1c5 Disable aggregation for global input tasks 2020-05-16 09:52:20 +02:00
Eugene Yokota d2d0a9ca80 buildTarget/scalacOptions 2020-05-16 09:52:20 +02:00
Eugene Yokota 10b2154d2e Refactor bspBuildTargetSources to be an input task + ScopeFilter 2020-05-16 09:52:20 +02:00
Eugene Yokota 1ccff0ca6d Add Scala Build Target 2020-05-16 09:52:20 +02:00
Eugene Yokota 95f3877bae Add stubs for build/shutdown and build/exit 2020-05-16 09:52:20 +02:00
Eugene Yokota cb93d20492 build server protocol
Initial draft for bsp support.

This shows two communication pattern around BSP.
First, if the request can be handled with the build knowledge is readily available in `NetworkChannel` we can reply immediately. `BuildServerImpl#onBspBuildTargets` is an example for that.

Second, if the request requires `State`, then we can forward the parameter into a custom command, and reply back from a command. `BuildServerProtocol.bspBuildTargetSources` is an example of that since it needs to invoke tasks to generate sources.
2020-05-16 09:52:20 +02:00
eugene yokota 7e806effa2
Merge pull request #5555 from alexarchambault/bump-lm-coursier
Update coursier to 2.0.0-RC6-4
2020-05-14 13:01:14 -04:00
Alexandre Archambault f850a9c966 Update coursier to 2.0.0-RC6-4
And warn at start-up if ~/.coursier/cache is found.
2020-05-14 15:54:43 +02:00
eugene yokota 56a613fb82
Merge pull request #5554 from adpi2/fix/relay-appender
fix relay appender
2020-05-13 13:03:15 -04:00
Adrien Piquerez ae1df53033 fix relay appender 2020-05-13 14:11:45 +02:00
eugene yokota 4592493617
Merge pull request #5549 from adpi2/issue/json-response
Prevent more than one response per json RPC request
2020-05-12 22:07:11 -04:00
eugene yokota ea608ccd77
Merge pull request #5540 from bjaglin/service-loader
enable ServiceLoader discovery across classloader layers
2020-05-12 22:05:53 -04:00
Adrien Piquerez c221f57812 code review 2020-05-12 19:20:43 +02:00
Adrien Piquerez 42e4c5a7c0 evict some mima errors in sbt.internal 2020-05-12 19:20:43 +02:00
Adrien Piquerez 8df754eeb1 rename publish to either respond or notify 2020-05-12 16:26:33 +02:00
Adrien Piquerez 255a0a6ea6 send response to the source channel only 2020-05-12 14:44:10 +02:00
Adrien Piquerez df293fbfd5 prevent multiple response to a single request 2020-05-12 10:38:47 +02:00
Adrien Piquerez e040eebd21 "add failing json rpc response tests" 2020-05-12 10:37:48 +02:00
Adrien Piquerez 781584d137 id is mandatory in json rpc responses 2020-05-11 16:51:34 +02:00