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)
This commit is contained in:
15
.gitignore
vendored
Normal file
15
.gitignore
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# Mill build tool
|
||||||
|
out/
|
||||||
|
mill
|
||||||
|
mill.*
|
||||||
|
|
||||||
|
# IDE
|
||||||
|
.idea/
|
||||||
|
.metals/
|
||||||
|
.bloop/
|
||||||
|
.bsp/
|
||||||
|
*.iml
|
||||||
|
|
||||||
|
# OS files
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
1
.mill-version
Normal file
1
.mill-version
Normal file
@@ -0,0 +1 @@
|
|||||||
|
1.1.1
|
||||||
49
build.mill
Normal file
49
build.mill
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
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")
|
||||||
|
)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user