Skip to content
46 changes: 25 additions & 21 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,16 @@ import xerial.sbt.Sonatype.sonatypeCentralHost
val scala212 = "2.12.20"
val scala213 = "2.13.16"
val scala3 = "3.3.6"
val fs2Version = "3.12.0"
val circeVersion = "0.14.8"
val fs2Version = "3.13.0-M6"
val circeVersion = "0.14.14"
val circeExtrasVersion = "0.14.2"
val playVersion = "3.0.5"
val shapeless2Version = "2.3.11"
val shapeless3Version = "3.4.1"
val shapeless2Version = "2.3.13"
val shapeless3Version = "3.5.0"
val scalaJavaTimeVersion = "2.6.0"
val diffsonVersion = "4.6.0"
val literallyVersion = "1.1.0"
val weaverVersion = "0.8.4"
val diffsonVersion = "5.0-8cf53fd-SNAPSHOT"
val literallyVersion = "1.2.0"
val weaverVersion = "0.11-b0644b4-SNAPSHOT"

ThisBuild / tlBaseVersion := "1.12"

Expand All @@ -50,18 +50,20 @@ ThisBuild / tlJdkRelease := Some(11)
ThisBuild / sonatypeCredentialHost := sonatypeCentralHost
ThisBuild / githubWorkflowJavaVersions := Seq(JavaSpec.temurin("11"))

ThisBuild / resolvers += Resolver.sonatypeCentralSnapshots

val commonSettings = List(
versionScheme := Some("early-semver"),
libraryDependencies ++= List(
"co.fs2" %%% "fs2-core" % fs2Version,
"org.scala-lang.modules" %%% "scala-collection-compat" % "2.11.0",
"org.scala-lang.modules" %%% "scala-collection-compat" % "2.13.0",
"io.circe" %%% "circe-parser" % circeVersion % "test",
"io.circe" %%% "circe-jawn" % circeVersion % "test",
"io.circe" %%% "circe-generic" % circeVersion % "test",
"co.fs2" %%% "fs2-io" % fs2Version % "test",
"com.disneystreaming" %%% "weaver-cats" % weaverVersion % "test",
"com.disneystreaming" %%% "weaver-scalacheck" % weaverVersion % Test,
"com.eed3si9n.expecty" %%% "expecty" % "0.16.0" % "test",
"org.typelevel" %%% "weaver-cats" % weaverVersion % "test",
"org.typelevel" %%% "weaver-scalacheck" % weaverVersion % Test,
"com.eed3si9n.expecty" %%% "expecty" % "0.17.0" % "test",
"org.portable-scala" %%% "portable-scala-reflect" % "1.1.3" cross CrossVersion.for3Use2_13
) ++ PartialFunction
.condOpt(CrossVersion.partialVersion(scalaVersion.value)) { case Some((2, _)) =>
Expand Down Expand Up @@ -126,7 +128,7 @@ lazy val text = crossProject(JVMPlatform, JSPlatform, NativePlatform)
name := "fs2-data-text",
description := "Utilities for textual data format",
libraryDependencies ++= List(
"org.typelevel" %%% "cats-collections-core" % "0.9.8"
"org.typelevel" %%% "cats-collections-core" % "0.9.10"
),
mimaBinaryIssueFilters ++= List(
// private class
Expand Down Expand Up @@ -278,7 +280,7 @@ lazy val json = crossProject(JVMPlatform, JSPlatform, NativePlatform)
description := "Streaming JSON manipulation library",
libraryDependencies ++= List(
"org.typelevel" %%% "literally" % literallyVersion,
"org.typelevel" %%% "cats-parse" % "1.0.0"
"org.typelevel" %%% "cats-parse" % "1.1.0"
) ++ PartialFunction
.condOpt(CrossVersion.partialVersion(scalaVersion.value)) { case Some((2, _)) =>
"org.scala-lang" % "scala-reflect" % scalaVersion.value
Expand Down Expand Up @@ -436,7 +438,7 @@ lazy val scalaXml = crossProject(JVMPlatform, JSPlatform, NativePlatform)
.settings(
name := "fs2-data-xml-scala",
description := "Support for Scala XML ASTs",
libraryDependencies += "org.scala-lang.modules" %%% "scala-xml" % "2.2.0",
libraryDependencies += "org.scala-lang.modules" %%% "scala-xml" % "2.4.0",
tlVersionIntroduced := Map("3" -> "1.4.0", "2.13" -> "1.4.0", "2.12" -> "1.4.0"),
mimaBinaryIssueFilters ++= List(
// Changed from implicit object to implicit val, seems impossible to stub. Second is Scala 3 only
Expand Down Expand Up @@ -534,7 +536,9 @@ lazy val benchmarks = crossProject(JVMPlatform)
)
.dependsOn(csv, scalaXml, jsonCirce, msgpack)

lazy val exampleJq = crossProject(JVMPlatform, NativePlatform, JSPlatform)
// NOTE: cross build disabled for NativePlatform due to decline-effect missing on native
// lazy val exampleJq = crossProject(JVMPlatform, NativePlatform, JSPlatform)
lazy val exampleJq = crossProject(JVMPlatform, JSPlatform)
Comment on lines 540 to 541
Copy link
Author

Choose a reason for hiding this comment

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

Do you think this should be a blocker? or we're good like this for now?

Copy link
Member

Choose a reason for hiding this comment

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

Ideally we would have it for the final release, but we can start and merge this PR without native support for the example.

Copy link

Choose a reason for hiding this comment

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

Note that there's already a PR ready in Decline to re-enable the effect module: bkirwi/decline#618

Once CE has a stable release hopefully it will be merged.

.crossType(CrossType.Pure)
.in(file("examples/jqlike"))
.enablePlugins(NoPublishPlugin)
Expand All @@ -543,18 +547,18 @@ lazy val exampleJq = crossProject(JVMPlatform, NativePlatform, JSPlatform)
name := "jq-like",
libraryDependencies ++= List(
"co.fs2" %%% "fs2-io" % fs2Version,
"com.monovore" %%% "decline-effect" % "2.4.1"
"com.monovore" %%% "decline-effect" % "2.5.0"
)
)
.jvmSettings(
assembly / mainClass := Some("fs2.data.example.jqlike.JqLike"),
assembly / assemblyJarName := "jq-like.jar"
)
.nativeSettings(nativeConfig ~= {
_.withLTO(LTO.thin)
.withMode(Mode.releaseFast)
.withGC(GC.immix)
})
// .nativeSettings(nativeConfig ~= {
// _.withLTO(LTO.thin)
// .withMode(Mode.releaseFast)
// .withGC(GC.immix)
// })
.jsSettings(
scalaJSUseMainModuleInitializer := true,
scalaJSLinkerConfig ~= (_.withModuleKind(ModuleKind.CommonJSModule))
Expand Down
2 changes: 1 addition & 1 deletion project/plugins.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.7")
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.19.0")
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.3.2")

addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.17")
addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.5.8")
addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.3.2")

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "2.3.1")
Loading