/ build.mill
build.mill
 1  //| mill-version: 1.1.0-RC3
 2  //| mill-jvm-version: temurin:17
 3  //| mvnDeps:
 4  //|   - org.typelevel::scalac-options:0.1.8
 5  
 6  package build
 7  
 8  import mill.*
 9  import mill.api.*
10  import mill.scalalib.*
11  import mill.scalalib.publish.*
12  import mill.javalib.TestModule.Utest
13  import mill.util.VcsVersion
14  
15  object `package` extends ScalaModule, PublishModule:
16    def millVersion    = "1.0.6"
17    def scalaVersion   = "3.7.4"
18    def jvmId          = "11"
19    def platformSuffix = "_mill1"
20  
21    def mvnDeps = Seq(
22      mvn"com.lihaoyi::mill-libs:$millVersion"
23    )
24  
25    def cutterboxVersionIsStable0(using ctx: TaskCtx) = ctx.env.contains("CUTTERBOX_VERSION_IS_STABLE")
26    def cutterboxVersionIsStable: T[Boolean] = Task.Input(cutterboxVersionIsStable0)
27  
28    def cutterboxVersion = Task.Input:
29      val vcsState = VcsVersion.calcVcsState(Task.log)
30      if cutterboxVersionIsStable0 then
31        vcsState.format("0.0.0")
32      else
33        f"SNAPSHOT"
34  
35    def publishVersion = cutterboxVersion()
36  
37    def pomSettings    = PomSettings(
38      description = "Miscellaneous utilities for Mill builds",
39      organization = "com.alt0r.cutterbox",
40      url = "https://forgejo.alt0r.com/cutterbox/cutterbox",
41      licenses = Seq(License.`EUPL-1.2`),
42      versionControl = VersionControl(
43        browsableRepository = Some("https://forgejo.alt0r.com/cutterbox/cutterbox"),
44        connection = Some("scm:git:https://forgejo.alt0r.com/cutterbox/cutterbox.git"),
45        developerConnection = Some("scm:git:ssh://git@forgejo.alt0r.com:2222/cutterbox/cutterbox.git")
46      ),
47      developers = Seq(
48        Developer("seb", "Sebastien Braun")
49      )
50    )
51  
52    object test extends ScalaTests, Utest:
53      def mvnDeps = Seq(
54        mvn"com.lihaoyi::utest:0.9.5",
55        mvn"com.lihaoyi::mill-testkit:$millVersion"
56      )