Files
summercms-initial-research/build.mill
Jakub Zych aedb45fc13 feat(01-01): create Mill build configuration with ZIO dependencies
- Mill 1.1.1 build file with Scala 3.3.4
- ZIO 2.1.14, zio-http 3.0.1, zio-config 4.0.2
- Quill 4.8.5, PostgreSQL driver 42.7.4, Flyway 10.21.0
- Assembly rules for fat JAR with service file merging
- .gitignore for Mill artifacts (out/, mill executable)
2026-02-04 21:38:53 +01:00

50 lines
1.1 KiB
Plaintext

package build
import mill._
import mill.scalalib._
import mill.scalalib.Assembly._
object summercms extends ScalaModule {
def scalaVersion = "3.3.4"
def mvnDeps = Seq(
// ZIO Core
mvn"dev.zio::zio:2.1.14",
// ZIO HTTP
mvn"dev.zio::zio-http:3.0.1",
// ZIO Config
mvn"dev.zio::zio-config:4.0.2",
mvn"dev.zio::zio-config-typesafe:4.0.2",
mvn"dev.zio::zio-config-magnolia:4.0.2",
// Database - Quill with ZIO
mvn"io.getquill::quill-jdbc-zio:4.8.5",
// PostgreSQL JDBC Driver
mvn"org.postgresql:postgresql:42.7.4",
// Flyway for migrations
mvn"org.flywaydb:flyway-core:10.21.0",
mvn"org.flywaydb:flyway-database-postgresql:10.21.0"
)
def scalacOptions = Seq(
"-deprecation",
"-feature",
"-unchecked",
"-Xfatal-warnings"
)
// Assembly configuration for fat JAR
def assemblyRules = super.assemblyRules ++ Seq(
// Merge service files
Rule.Append("META-INF/services/.*"),
// Exclude signature files
Rule.Exclude("META-INF/.*\\.SF"),
Rule.Exclude("META-INF/.*\\.DSA"),
Rule.Exclude("META-INF/.*\\.RSA")
)
}