47 lines
1.6 KiB
Scala
47 lines
1.6 KiB
Scala
// import Mill dependency
|
|
import mill._
|
|
import mill.define.Sources
|
|
import mill.modules.Util
|
|
import mill.scalalib.scalafmt.ScalafmtModule
|
|
import mill.scalalib.TestModule.ScalaTest
|
|
import mill.scalalib._
|
|
// support BSP
|
|
import mill.bsp._
|
|
|
|
object playground extends SbtModule with ScalafmtModule { m =>
|
|
val useChisel3 = false
|
|
override def millSourcePath = os.pwd / "src"
|
|
override def scalaVersion = if (useChisel3) "2.13.10" else "2.13.14"
|
|
override def scalacOptions = Seq(
|
|
"-language:reflectiveCalls",
|
|
"-deprecation",
|
|
"-feature",
|
|
"-Xcheckinit"
|
|
)
|
|
override def sources = T.sources {
|
|
super.sources() ++ Seq(PathRef(millSourcePath / "main"))
|
|
}
|
|
override def ivyDeps = Agg(
|
|
if (useChisel3) ivy"edu.berkeley.cs::chisel3:3.6.0" else
|
|
ivy"org.chipsalliance::chisel:6.4.0"
|
|
)
|
|
override def scalacPluginIvyDeps = Agg(
|
|
if (useChisel3) ivy"edu.berkeley.cs:::chisel3-plugin:3.6.0" else
|
|
ivy"org.chipsalliance:::chisel-plugin:6.4.0"
|
|
)
|
|
object test extends SbtModuleTests with TestModule.ScalaTest with ScalafmtModule {
|
|
override def sources = T.sources {
|
|
super.sources() ++ Seq(PathRef(this.millSourcePath / "test"))
|
|
}
|
|
override def ivyDeps = super.ivyDeps() ++ Agg(
|
|
if (useChisel3) ivy"edu.berkeley.cs::chiseltest:0.6.0" else
|
|
ivy"edu.berkeley.cs::chiseltest:6.0.0"
|
|
)
|
|
}
|
|
def repositoriesTask = T.task { Seq(
|
|
coursier.MavenRepository("https://repo.scala-sbt.org/scalasbt/maven-releases"),
|
|
coursier.MavenRepository("https://oss.sonatype.org/content/repositories/releases"),
|
|
coursier.MavenRepository("https://oss.sonatype.org/content/repositories/snapshots"),
|
|
) ++ super.repositoriesTask() }
|
|
}
|