Files
demoapp/build.sbt
davidtio 68ce73bb55 Switch to Greenfossil Thorium 0.10.10 on Scala 3.7.1
- Update group ID from io.github.nicoburniske to com.greenfossil
- Downgrade thoriumVersion to 0.10.10
- Expand assemblyMergeStrategy for Armeria/Netty service files and module-info.class
- Fix Dockerfile COPY path to scala-3.7.1

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 13:42:01 +08:00

46 lines
1.5 KiB
Scala

// Greenfossil Thorium is optimized for Scala 3.7.1+
val scala3Version = "3.7.1"
val thoriumVersion = "0.10.10"
lazy val root = project
.in(file("."))
.settings(
name := "demoapp",
version := "0.1.0",
scalaVersion := scala3Version,
// Updated to Greenfossil group ID
libraryDependencies ++= Seq(
"com.greenfossil" %% "thorium" % thoriumVersion,
"com.typesafe" % "config" % "1.4.3",
"ch.qos.logback" % "logback-classic" % "1.5.6"
),
assembly / mainClass := Some("Main"),
assembly / assemblyJarName := "demoapp.jar",
// Essential merge strategy for Armeria/Netty based apps
assembly / assemblyMergeStrategy := {
// Handle Armeria/Netty service files
case PathList("META-INF", "services", _*) => MergeStrategy.concat
case PathList("META-INF", "native-image", _*) => MergeStrategy.first
// Handle module-info.class duplicates common in newer JDK libraries
case "module-info.class" => MergeStrategy.discard
case PathList(_, "module-info.class") => MergeStrategy.discard
// Standard config merging
case "reference.conf" => MergeStrategy.concat
case x if x.endsWith(".conf") => MergeStrategy.concat
// Clean up META-INF
case PathList("META-INF", xs @ _*) =>
xs match {
case "MANIFEST.MF" :: Nil => MergeStrategy.discard
case "INDEX.LIST" :: Nil => MergeStrategy.discard
case _ => MergeStrategy.first
}
case _ => MergeStrategy.first
}
)