Skip to content

Bump jsonrpclib#210

Closed
ghostbuster91 wants to merge 20 commits into
neandertech:mainfrom
ghostbuster91:bump-jsonrpclib
Closed

Bump jsonrpclib#210
ghostbuster91 wants to merge 20 commits into
neandertech:mainfrom
ghostbuster91:bump-jsonrpclib

Conversation

@ghostbuster91

Copy link
Copy Markdown

No description provided.

import io.circe.DecodingFailure

private[langoustine] object jsonrpcIntegration:
object jsonrpcIntegration:

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thought: needed to make this public so that it can be used in the test.core.testkit class

Comment thread modules/tests/src/test/scala/LSPTests.scala
): Option[t.In] =
for
js <- scala.util.Try(ujson.read(writeToArray(p))).toOption
js <- scala.util.Try(ujson.read(writeToArray(p.data))).toOption

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: would it be possible for langoustine to switch from ujson to circe? That would help a lot with all these conversions.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@keynmol thoughts?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the end I was forced to switch to circe in #213, for many different reasons

@ghostbuster91

Copy link
Copy Markdown
Author

tests passed but java.net.ProtocolException: Server redirected too many times (20)

@kubukoz

kubukoz commented May 28, 2025

Copy link
Copy Markdown
Contributor

tests passed but java.net.ProtocolException: Server redirected too many times (20)

nothing new here, think the repo isn't set up for snapshot publishing. Revert my change from ci.yml and it'll go away.

or figure out what's missing :)

@kubukoz

kubukoz commented May 28, 2025

Copy link
Copy Markdown
Contributor

tests passed but java.net.ProtocolException: Server redirected too many times (20)

nothing new here, think the repo isn't set up for snapshot publishing. Revert my change from ci.yml and it'll go away.

or figure out what's missing :)

I think the secrets are simply not visible in the job due to running in a fork. @keynmol grant us some restricted write access please? :)

Comment thread build.sbt Outdated
@ghostbuster91 ghostbuster91 marked this pull request as ready for review July 11, 2025 16:03
@kubukoz

kubukoz commented Apr 11, 2026

Copy link
Copy Markdown
Contributor

@ghostbuster91 moving the needle a bit:

commit 0863dec068c10dbc3dc770485374ad2e6209091e
Author: Jakub Kozłowski <kubukoz@gmail.com>
Date:   Sat Apr 11 11:43:16 2026

    Partial upgrade to SN0.5 - upickle macros are gone, somebody's gotta
    replace them

diff --git a/build.sbt b/build.sbt
index be2fda93d..67e22b745 100644
--- a/build.sbt
+++ b/build.sbt
@@ -27,17 +27,17 @@ inThisBuild(
 )
 
 val V = new {
-  val scala           = "3.3.6"
-  val scribe          = "3.13.2"
-  val upickle         = "2.0.0"
-  val cats            = "2.10.0"
-  val jsonrpclib      = "0.1.0"
-  val fs2             = "3.10.0"
-  val http4s          = "0.23.26"
+  val scala           = "3.3.7"
+  val scribe          = "3.19.0"
+  val upickle         = "4.4.3"
+  val cats            = "2.13.0"
+  val jsonrpclib      = "0.1.1"
+  val fs2             = "3.13.0"
+  val http4s          = "0.23.34"
   val laminar         = "0.14.5"
   val decline         = "2.4.1"
   val jsoniter        = "2.28.4"
-  val weaver          = "0.8.4"
+  val weaver          = "0.12.0"
   val circe           = "0.14.5"
   val http4sJdkClient = "0.9.1"
   val fansi           = "0.4.0"
@@ -58,8 +58,7 @@ lazy val noPublishing = Seq(
 )
 
 lazy val enableSnapshots = Seq(
-  resolvers ++= Resolver
-    .sonatypeOssRepos("snapshots")
+  resolvers ++= List(Resolver.sonatypeCentralSnapshots)
     .filter(_ => !sys.env.contains("CI"))
 )
 
@@ -122,12 +121,12 @@ lazy val lsp = projectMatrix
     name := "langoustine-lsp",
     scalacOptions ++= Seq("-Xmax-inlines", "64"),
     testFrameworks += new TestFramework("weaver.framework.CatsEffect"),
-    libraryDependencies += "com.disneystreaming" %%% "weaver-cats" % V.weaver % Test,
-    libraryDependencies += "com.outr"      %%% "scribe"          % V.scribe,
-    libraryDependencies += "com.lihaoyi"   %%% "upickle"         % V.upickle,
-    libraryDependencies += "org.typelevel" %%% "cats-core"       % V.cats,
-    libraryDependencies += "tech.neander"  %%% "jsonrpclib-core" % V.jsonrpclib,
-    test                                    := {}
+    libraryDependencies += "org.typelevel" %%% "weaver-cats" % V.weaver % Test,
+    libraryDependencies += "com.outr"      %%% "scribe"      % V.scribe,
+    libraryDependencies += "com.lihaoyi"   %%% "upickle"     % V.upickle,
+    libraryDependencies += "org.typelevel" %%% "cats-core"   % V.cats,
+    libraryDependencies += "tech.neander" %%% "jsonrpclib-core" % V.jsonrpclib,
+    test                                   := {}
   )
   .jvmPlatform(V.scalaVersions)
   .jsPlatform(V.scalaVersions)
@@ -148,7 +147,7 @@ lazy val app = projectMatrix
     libraryDependencies += "tech.neander" %%% "jsonrpclib-fs2" % V.jsonrpclib,
     libraryDependencies += "co.fs2"       %%% "fs2-io"         % V.fs2,
     libraryDependencies += "com.outr"     %%% "scribe-cats"    % V.scribe,
-    test := {},
+    test                                   := {},
     scalacOptions ++= commonScalacOptions
   )
   .jvmPlatform(V.scalaVersions)
@@ -168,7 +167,7 @@ lazy val `e2e-tests` = projectMatrix
   .settings(noPublishing)
   .settings(
     libraryDependencies += "org.http4s" %% "http4s-jdk-http-client" % V.http4sJdkClient % Test,
-    libraryDependencies += "com.disneystreaming" %%% "weaver-cats" % V.weaver % Test,
+    libraryDependencies += "org.typelevel" %%% "weaver-cats" % V.weaver % Test,
     scalacOptions ++= commonScalacOptions,
     Test / fork := virtualAxes.value.contains(VirtualAxis.jvm),
     Test / envVars := Map(
@@ -199,11 +198,11 @@ lazy val tests = projectMatrix
   .settings(noPublishing)
   .settings(
     libraryDependencies += "org.http4s" %% "http4s-jdk-http-client" % V.http4sJdkClient % Test,
-    libraryDependencies += "com.disneystreaming" %%% "weaver-cats" % V.weaver % Test,
-    libraryDependencies += "com.lihaoyi" %%% "pprint" % "0.8.1" % Test,
-    libraryDependencies += "org.typelevel" %%% "shapeless3-deriving" % "3.4.1" % Test,
-    libraryDependencies += "org.scalacheck" %%% "scalacheck" % "1.17.0" % Test,
-    libraryDependencies += "io.github.irevive" %%% "union-derivation-core" % "0.1.0" % Test,
+    libraryDependencies += "org.typelevel" %%% "weaver-cats" % V.weaver % Test,
+    libraryDependencies += "com.lihaoyi"   %%% "pprint"      % "0.9.6"  % Test,
+    libraryDependencies += "org.typelevel" %%% "shapeless3-deriving" % "3.5.0" % Test,
+    libraryDependencies += "org.scalacheck" %%% "scalacheck" % "1.19.0" % Test,
+    libraryDependencies += "io.github.irevive" %%% "union-derivation-core" % "0.2.1" % Test,
     scalaJSLinkerConfig ~= (_.withModuleKind(ModuleKind.CommonJSModule)),
     Test / fork             := virtualAxes.value.contains(VirtualAxis.jvm),
     snapshotsPackageName    := "tests.core",
@@ -256,7 +255,7 @@ lazy val tracer = projectMatrix
   .settings(
     name                                   := "langoustine-tracer",
     libraryDependencies += "tech.neander" %%% "jsonrpclib-fs2" % V.jsonrpclib,
-    libraryDependencies += "co.fs2"       %%% "fs2-io"              % V.fs2,
+    libraryDependencies += "co.fs2"       %%% "fs2-io"         % V.fs2,
     libraryDependencies += "org.http4s"   %%% "http4s-ember-server" % V.http4s,
     libraryDependencies += "org.http4s"   %%% "http4s-dsl"          % V.http4s,
     libraryDependencies += "com.monovore" %%% "decline"             % V.decline,
diff --git a/modules/tests/src/test/scala/RuntimeTest.scala b/modules/tests/src/test/scala/RuntimeTest.scala
index ff8b0329f..4e4cacf79 100644
--- a/modules/tests/src/test/scala/RuntimeTest.scala
+++ b/modules/tests/src/test/scala/RuntimeTest.scala
@@ -21,20 +21,20 @@ import scala.language.strictEquality
 
 object RuntimeTest extends weaver.FunSuite:
   test("Opt[A] is null at runtime"):
-    assert.all(
+    expect.all(
       Opt.empty == null,
       Opt(null) == null,
       Opt("yo") != null
     )
 
   test("Opt[A] is A at runtime"):
-    assert.all(
+    expect.all(
       Opt(25).asInstanceOf[Int] == 25,
       Opt("hello").asInstanceOf[String] == "hello"
     )
 
   test("Opt[A] <-> Option[A] interop"):
-    assert.all(
+    expect.all(
       Opt("howdy").toOption.contains("howdy"),
       Opt.empty.toOption.isEmpty,
       Opt.fromOption(Some("yesss")) == Opt("yesss"),
@@ -61,7 +61,7 @@ object RuntimeTest extends weaver.FunSuite:
       case Opt.empty => success
 
     val nullChecks =
-      assert.all(Opt.empty == null, Opt(null) == null, Opt("yo") != null)
+      expect.all(Opt.empty == null, Opt(null) == null, Opt("yo") != null)
 
     patternMatchSome && patterMatchNone && nullChecks
 
diff --git a/project/build.properties b/project/build.properties
index cc68b53f1..df061f4fb 100644
--- a/project/build.properties
+++ b/project/build.properties
@@ -1 +1 @@
-sbt.version=1.10.11
+sbt.version=1.12.9
diff --git a/project/plugins.sbt b/project/plugins.sbt
index 0dae27af4..b90fc6e63 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -10,9 +10,9 @@ addSbtPlugin("com.eed3si9n" % "sbt-projectmatrix" % "0.11.0")
 
 addSbtPlugin("de.heikoseeberger" % "sbt-header" % "5.10.0")
 
-addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.19.0")
+addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.21.0")
 
-addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.17")
+addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.5.11")
 
 addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.7.1")
 
@@ -26,7 +26,7 @@ addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "2.3.1")
 
 addSbtPlugin("io.spray" % "sbt-revolver" % "0.10.0")
 
-addSbtPlugin("com.indoorvivants.snapshots" % "sbt-snapshots" % "0.0.6")
+addSbtPlugin("com.indoorvivants.snapshots" % "sbt-snapshots" % "0.0.11")
 
 addSbtPlugin("ch.epfl.scala" % "sbt-tasty-mima" % "1.3.0")
 

@keynmol

keynmol commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

Thanks for you work @ghostbuster91, in the end I had to do a lot more work to bump jsonrpclib an make the codegen look the way I wanted.

As of #213, we should be ready to publish for native and close this PR.

@keynmol keynmol closed this Apr 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants