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>
This commit is contained in:
@@ -29,8 +29,8 @@ FROM eclipse-temurin:25-jre-alpine
|
|||||||
RUN addgroup -S app && adduser -S app -G app
|
RUN addgroup -S app && adduser -S app -G app
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Adjust path for Scala 3.8.2
|
# Adjust path for Scala 3.7.1
|
||||||
COPY --from=build --chown=app:app /app/target/scala-3.8.2/demoapp.jar ./demoapp.jar
|
COPY --from=build --chown=app:app /app/target/scala-3.7.1/demoapp.jar ./demoapp.jar
|
||||||
|
|
||||||
USER app
|
USER app
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
|
|||||||
29
build.sbt
29
build.sbt
@@ -1,5 +1,6 @@
|
|||||||
|
// Greenfossil Thorium is optimized for Scala 3.7.1+
|
||||||
val scala3Version = "3.7.1"
|
val scala3Version = "3.7.1"
|
||||||
val thoriumVersion = "0.11.39"
|
val thoriumVersion = "0.10.10"
|
||||||
|
|
||||||
lazy val root = project
|
lazy val root = project
|
||||||
.in(file("."))
|
.in(file("."))
|
||||||
@@ -7,22 +8,38 @@ lazy val root = project
|
|||||||
name := "demoapp",
|
name := "demoapp",
|
||||||
version := "0.1.0",
|
version := "0.1.0",
|
||||||
scalaVersion := scala3Version,
|
scalaVersion := scala3Version,
|
||||||
|
|
||||||
|
// Updated to Greenfossil group ID
|
||||||
libraryDependencies ++= Seq(
|
libraryDependencies ++= Seq(
|
||||||
"io.github.nicoburniske" %% "thorium" % thoriumVersion,
|
"com.greenfossil" %% "thorium" % thoriumVersion,
|
||||||
"com.typesafe" % "config" % "1.4.3",
|
"com.typesafe" % "config" % "1.4.3",
|
||||||
"ch.qos.logback" % "logback-classic" % "1.5.6"
|
"ch.qos.logback" % "logback-classic" % "1.5.6"
|
||||||
),
|
),
|
||||||
|
|
||||||
assembly / mainClass := Some("Main"),
|
assembly / mainClass := Some("Main"),
|
||||||
assembly / assemblyJarName := "demoapp.jar",
|
assembly / assemblyJarName := "demoapp.jar",
|
||||||
|
|
||||||
|
// Essential merge strategy for Armeria/Netty based apps
|
||||||
assembly / assemblyMergeStrategy := {
|
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 @ _*) =>
|
case PathList("META-INF", xs @ _*) =>
|
||||||
xs match {
|
xs match {
|
||||||
case "MANIFEST.MF" :: Nil => MergeStrategy.discard
|
case "MANIFEST.MF" :: Nil => MergeStrategy.discard
|
||||||
case "services" :: _ => MergeStrategy.concat
|
case "INDEX.LIST" :: Nil => MergeStrategy.discard
|
||||||
case _ => MergeStrategy.discard
|
case _ => MergeStrategy.first
|
||||||
}
|
}
|
||||||
case "reference.conf" => MergeStrategy.concat
|
|
||||||
case x if x.endsWith(".conf") => MergeStrategy.concat
|
|
||||||
case _ => MergeStrategy.first
|
case _ => MergeStrategy.first
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user