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