chisel-playground/build.sc

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() }
}