Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions build.mill
Original file line number Diff line number Diff line change
Expand Up @@ -113,15 +113,15 @@ object Deps {
val play =
Seq(Play_3_0, Play_2_9, Play_2_8, Play_2_7, Play_2_6).map(p => (p.playBinVersion, p)).toMap

val acyclic = ivy"com.lihaoyi:::acyclic:0.3.15"
val ammoniteVersion = "3.0.1"
val acyclic = ivy"com.lihaoyi:::acyclic:0.3.18"
val ammoniteVersion = "3.0.2"
val asmTree = ivy"org.ow2.asm:asm-tree:9.8"
val bloopConfig = ivy"ch.epfl.scala::bloop-config:1.5.5"

val classgraph = ivy"io.github.classgraph:classgraph:4.8.179"
val coursierVersion = "2.1.25-M13"
val classgraph = ivy"io.github.classgraph:classgraph:4.8.181"
val coursierVersion = "2.1.25-M18"
val coursier = ivy"io.get-coursier::coursier:$coursierVersion"
val coursierInterface = ivy"io.get-coursier:interface:1.0.29-M1"
val coursierInterface = ivy"io.get-coursier:interface:1.0.29-M2"
val coursierJvm = ivy"io.get-coursier::coursier-jvm:$coursierVersion"
val coursierJvmIndexVersion = "0.0.4-111-eb6e08"

Expand Down Expand Up @@ -149,7 +149,7 @@ object Deps {
val jnaPlatform = ivy"net.java.dev.jna:jna-platform:${jnaVersion}"

val junitInterface = ivy"com.github.sbt:junit-interface:0.13.3"
val commonsIo = ivy"commons-io:commons-io:2.18.0"
val commonsIo = ivy"commons-io:commons-io:2.20.0"
val log4j2Core = ivy"org.apache.logging.log4j:log4j-core:2.24.3"
val osLibVersion = "0.11.5-M8"
val osLib = ivy"com.lihaoyi::os-lib:${osLibVersion}"
Expand Down Expand Up @@ -178,7 +178,7 @@ object Deps {
def scalaXml = ivy"org.scala-lang.modules::scala-xml:2.3.0"
// keep in sync with doc/antora/antory.yml
val semanticDBscala = ivy"org.scalameta:::semanticdb-scalac:4.12.4"
val semanticDbJava = ivy"com.sourcegraph:semanticdb-java:0.10.3"
val semanticDbJava = ivy"com.sourcegraph:semanticdb-java:0.11.1"
val sourcecode = ivy"com.lihaoyi::sourcecode:0.4.2"
val upickle = ivy"com.lihaoyi::upickle:3.3.1"
// Using "native-terminal-no-ffm" rather than just "native-terminal", as the GraalVM releases currently
Expand All @@ -187,10 +187,10 @@ object Deps {
val zinc = ivy"org.scala-sbt::zinc:1.11.0"
// keep in sync with doc/antora/antory.yml
val bsp4j = ivy"ch.epfl.scala:bsp4j:2.2.0-M2"
val fansi = ivy"com.lihaoyi::fansi:0.5.0"
val jarjarabrams = ivy"com.eed3si9n.jarjarabrams::jarjar-abrams-core:1.14.0"
val fansi = ivy"com.lihaoyi::fansi:0.5.1"
val jarjarabrams = ivy"com.eed3si9n.jarjarabrams::jarjar-abrams-core:1.15.0"
val requests = ivy"com.lihaoyi::requests:0.9.0"
val logback = ivy"ch.qos.logback:logback-classic:1.5.16"
val logback = ivy"ch.qos.logback:logback-classic:1.5.18"
// We can't update to a newer client because it bumps up `upickle` version and it starts failing
// with `[2451] upickle.core.AbortException: expected string got sequence at index 59` in a
// bunch of locations :(
Expand Down
124 changes: 62 additions & 62 deletions example/package.mill
Original file line number Diff line number Diff line change
Expand Up @@ -21,111 +21,111 @@ import mill.define.Cross
import $meta._

object `package` extends RootModule with Module {
def exampleModules: Seq[ExampleCrossModule] = millInternal
def exampleModules: Seq[ExampleCrossModule] = moduleInternal
.modules
.collect { case m: ExampleCrossModule => m }

object android extends Module {
object javalib
extends Cross[ExampleCrossModuleAndroid](build.listIn(millSourcePath / "javalib"))
extends Cross[ExampleCrossModuleAndroid](build.listIn(moduleDir / "javalib"))
object kotlinlib
extends Cross[ExampleCrossModuleAndroid](build.listIn(millSourcePath / "kotlinlib"))
extends Cross[ExampleCrossModuleAndroid](build.listIn(moduleDir / "kotlinlib"))
}
object javalib extends Module {

object basic extends Cross[ExampleCrossModuleJava](build.listIn(millSourcePath / "basic"))
object module extends Cross[ExampleCrossModuleJava](build.listIn(millSourcePath / "module"))
object basic extends Cross[ExampleCrossModuleJava](build.listIn(moduleDir / "basic"))
object module extends Cross[ExampleCrossModuleJava](build.listIn(moduleDir / "module"))
object dependencies
extends Cross[ExampleCrossModuleJava](build.listIn(millSourcePath / "dependencies"))
object testing extends Cross[ExampleCrossModuleJava](build.listIn(millSourcePath / "testing"))
object linting extends Cross[ExampleCrossModuleJava](build.listIn(millSourcePath / "linting"))
extends Cross[ExampleCrossModuleJava](build.listIn(moduleDir / "dependencies"))
object testing extends Cross[ExampleCrossModuleJava](build.listIn(moduleDir / "testing"))
object linting extends Cross[ExampleCrossModuleJava](build.listIn(moduleDir / "linting"))
object publishing
extends Cross[ExampleCrossModuleJava](build.listIn(millSourcePath / "publishing"))
object web extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "web"))
extends Cross[ExampleCrossModuleJava](build.listIn(moduleDir / "publishing"))
object web extends Cross[ExampleCrossModule](build.listIn(moduleDir / "web"))
}
object kotlinlib extends Module {
object basic extends Cross[ExampleCrossModuleKotlin](build.listIn(millSourcePath / "basic"))
object module extends Cross[ExampleCrossModuleKotlin](build.listIn(millSourcePath / "module"))
object basic extends Cross[ExampleCrossModuleKotlin](build.listIn(moduleDir / "basic"))
object module extends Cross[ExampleCrossModuleKotlin](build.listIn(moduleDir / "module"))
object dependencies
extends Cross[ExampleCrossModuleKotlin](build.listIn(millSourcePath / "dependencies"))
object testing extends Cross[ExampleCrossModuleKotlin](build.listIn(millSourcePath / "testing"))
object linting extends Cross[ExampleCrossModuleKotlin](build.listIn(millSourcePath / "linting"))
extends Cross[ExampleCrossModuleKotlin](build.listIn(moduleDir / "dependencies"))
object testing extends Cross[ExampleCrossModuleKotlin](build.listIn(moduleDir / "testing"))
object linting extends Cross[ExampleCrossModuleKotlin](build.listIn(moduleDir / "linting"))
object publishing
extends Cross[ExampleCrossModuleKotlin](build.listIn(millSourcePath / "publishing"))
object web extends Cross[ExampleCrossModuleKotlin](build.listIn(millSourcePath / "web"))
extends Cross[ExampleCrossModuleKotlin](build.listIn(moduleDir / "publishing"))
object web extends Cross[ExampleCrossModuleKotlin](build.listIn(moduleDir / "web"))
}
object scalalib extends Module {
object basic extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "basic"))
object module extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "module"))
object basic extends Cross[ExampleCrossModule](build.listIn(moduleDir / "basic"))
object module extends Cross[ExampleCrossModule](build.listIn(moduleDir / "module"))
object dependencies
extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "dependencies"))
object testing extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "testing"))
object linting extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "linting"))
object publishing extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "publishing"))
object web extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "web"))
object native extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "native"))
object spark extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "spark"))
extends Cross[ExampleCrossModule](build.listIn(moduleDir / "dependencies"))
object testing extends Cross[ExampleCrossModule](build.listIn(moduleDir / "testing"))
object linting extends Cross[ExampleCrossModule](build.listIn(moduleDir / "linting"))
object publishing extends Cross[ExampleCrossModule](build.listIn(moduleDir / "publishing"))
object web extends Cross[ExampleCrossModule](build.listIn(moduleDir / "web"))
object native extends Cross[ExampleCrossModule](build.listIn(moduleDir / "native"))
object spark extends Cross[ExampleCrossModule](build.listIn(moduleDir / "spark"))
}

object migrating extends Module {
object javalib
extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "javalib"))
extends Cross[ExampleCrossModule](build.listIn(moduleDir / "javalib"))
object scalalib
extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "scalalib"))
extends Cross[ExampleCrossModule](build.listIn(moduleDir / "scalalib"))
}
object javascriptlib extends Module {
object basic extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "basic"))
object testing extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "testing"))
object module extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "module"))
object basic extends Cross[ExampleCrossModule](build.listIn(moduleDir / "basic"))
object testing extends Cross[ExampleCrossModule](build.listIn(moduleDir / "testing"))
object module extends Cross[ExampleCrossModule](build.listIn(moduleDir / "module"))
object dependencies
extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "dependencies"))
object publishing extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "publishing"))
object linting extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "linting"))
extends Cross[ExampleCrossModule](build.listIn(moduleDir / "dependencies"))
object publishing extends Cross[ExampleCrossModule](build.listIn(moduleDir / "publishing"))
object linting extends Cross[ExampleCrossModule](build.listIn(moduleDir / "linting"))
}
object pythonlib extends Module {
object basic extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "basic"))
object basic extends Cross[ExampleCrossModule](build.listIn(moduleDir / "basic"))
object dependencies
extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "dependencies"))
object linting extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "linting"))
object publishing extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "publishing"))
object module extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "module"))
object web extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "web"))
object testing extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "testing"))
extends Cross[ExampleCrossModule](build.listIn(moduleDir / "dependencies"))
object linting extends Cross[ExampleCrossModule](build.listIn(moduleDir / "linting"))
object publishing extends Cross[ExampleCrossModule](build.listIn(moduleDir / "publishing"))
object module extends Cross[ExampleCrossModule](build.listIn(moduleDir / "module"))
object web extends Cross[ExampleCrossModule](build.listIn(moduleDir / "web"))
object testing extends Cross[ExampleCrossModule](build.listIn(moduleDir / "testing"))
}

object cli extends Module {
object builtins extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "builtins"))
object builtins extends Cross[ExampleCrossModule](build.listIn(moduleDir / "builtins"))
}

object fundamentals extends Module {

object dependencies
extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "dependencies"))
object tasks extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "tasks"))
object modules extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "modules"))
object cross extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "cross"))
object `out-dir` extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "out-dir"))
object libraries extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "libraries"))
extends Cross[ExampleCrossModule](build.listIn(moduleDir / "dependencies"))
object tasks extends Cross[ExampleCrossModule](build.listIn(moduleDir / "tasks"))
object modules extends Cross[ExampleCrossModule](build.listIn(moduleDir / "modules"))
object cross extends Cross[ExampleCrossModule](build.listIn(moduleDir / "cross"))
object `out-dir` extends Cross[ExampleCrossModule](build.listIn(moduleDir / "out-dir"))
object libraries extends Cross[ExampleCrossModule](build.listIn(moduleDir / "libraries"))
}

object depth extends Module {

object sandbox extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "sandbox"))
object javahome extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "javahome"))
object sandbox extends Cross[ExampleCrossModule](build.listIn(moduleDir / "sandbox"))
object javahome extends Cross[ExampleCrossModule](build.listIn(moduleDir / "javahome"))
}
object large extends Module {

object selective extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "selective"))
object multi extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "multi"))
object selective extends Cross[ExampleCrossModule](build.listIn(moduleDir / "selective"))
object multi extends Cross[ExampleCrossModule](build.listIn(moduleDir / "multi"))
}

object extending extends Module {
object imports extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "imports"))
object metabuild extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "metabuild"))
object plugins extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "plugins"))
object jvmcode extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "jvmcode"))
object python extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "python"))
object typescript extends Cross[ExampleCrossModule](build.listIn(millSourcePath / "typescript"))
object imports extends Cross[ExampleCrossModule](build.listIn(moduleDir / "imports"))
object metabuild extends Cross[ExampleCrossModule](build.listIn(moduleDir / "metabuild"))
object plugins extends Cross[ExampleCrossModule](build.listIn(moduleDir / "plugins"))
object jvmcode extends Cross[ExampleCrossModule](build.listIn(moduleDir / "jvmcode"))
object python extends Cross[ExampleCrossModule](build.listIn(moduleDir / "python"))
object typescript extends Cross[ExampleCrossModule](build.listIn(moduleDir / "typescript"))
}

trait ExampleCrossModuleKotlin extends ExampleCrossModuleJava {
Expand Down Expand Up @@ -222,10 +222,10 @@ object `package` extends RootModule with Module {

trait ExampleCrossModule extends build.integration.IntegrationTestModule {
// disable scalafix because these example modules don't have sources causing it to misbehave
def testRepoSourceRoot: T[PathRef] = Task.Source(millSourcePath)
def testRepoSourceRoot: T[PathRef] = Task.Source(moduleDir)
def testRepoRoot: T[PathRef] = Task { testRepoSourceRoot() }

def sources0 = Task.Sources(millSourcePath)
def sources0 = Task.Sources(moduleDir)
def sources = Task {
sources0()
.flatMap(pathRef => os.walk(pathRef.path))
Expand Down Expand Up @@ -254,7 +254,7 @@ object `package` extends RootModule with Module {

def rendered = Task {
var seenCode = false
val examplePath = millSourcePath.subRelativeTo(Task.workspace)
val examplePath = moduleDir.subRelativeTo(Task.workspace)
os.write(
Task.dest / "example.adoc",
parsed()
Expand Down Expand Up @@ -310,7 +310,7 @@ object `package` extends RootModule with Module {
"gatling" -> ("gatling/gatling", "3870fda86e6bca005fbd53108c60a65db36279b6"),
"arrow" -> ("arrow-kt/arrow", "bc9bf92cc98e01c21bdd2bf8640cf7db0f97204a")
)
object thirdparty extends Cross[ThirdPartyModule](build.listIn(millSourcePath / "thirdparty"))
object thirdparty extends Cross[ThirdPartyModule](build.listIn(moduleDir / "thirdparty"))
trait ThirdPartyModule extends ExampleCrossModule {
val (repoPath, repoHash) = repoInfo(crossValue)
def repoSlug = repoPath.split("/").last
Expand Down
Loading