Bump jsonrpclib#210
Conversation
Replace jsoniter with circe in tracer
Bump jsonrpclib
| import io.circe.DecodingFailure | ||
|
|
||
| private[langoustine] object jsonrpcIntegration: | ||
| object jsonrpcIntegration: |
There was a problem hiding this comment.
thought: needed to make this public so that it can be used in the test.core.testkit class
| ): Option[t.In] = | ||
| for | ||
| js <- scala.util.Try(ujson.read(writeToArray(p))).toOption | ||
| js <- scala.util.Try(ujson.read(writeToArray(p.data))).toOption |
There was a problem hiding this comment.
question: would it be possible for langoustine to switch from ujson to circe? That would help a lot with all these conversions.
There was a problem hiding this comment.
In the end I was forced to switch to circe in #213, for many different reasons
|
tests passed but |
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? :) |
Co-authored-by: Jakub Kozłowski <kubukoz@gmail.com>
|
@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")
|
|
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. |
No description provided.