71 lines
2.2 KiB
Scala
71 lines
2.2 KiB
Scala
def scalacOptionsVersion(scalaVersion: String): Seq[String] = {
|
|
Seq() ++ {
|
|
// If we're building with Scala > 2.11, enable the compile option
|
|
// switch to support our anonymous Bundle definitions:
|
|
// https://github.com/scala/bug/issues/10047
|
|
CrossVersion.partialVersion(scalaVersion) match {
|
|
case Some((2, scalaMajor: Long)) if scalaMajor < 12 => Seq()
|
|
case _ => Seq("-Xsource:2.11")
|
|
}
|
|
}
|
|
}
|
|
|
|
def javacOptionsVersion(scalaVersion: String): Seq[String] = {
|
|
Seq() ++ {
|
|
// Scala 2.12 requires Java 8. We continue to generate
|
|
// Java 7 compatible code for Scala 2.11
|
|
// for compatibility with old clients.
|
|
CrossVersion.partialVersion(scalaVersion) match {
|
|
case Some((2, scalaMajor: Long)) if scalaMajor < 12 =>
|
|
Seq("-source", "1.7", "-target", "1.7")
|
|
case _ =>
|
|
Seq("-source", "1.8", "-target", "1.8")
|
|
}
|
|
}
|
|
}
|
|
|
|
name := "FiveStage"
|
|
|
|
version := "2.0.0"
|
|
|
|
scalaVersion := "2.12.8"
|
|
|
|
crossScalaVersions := Seq("2.11.12", "2.12.4")
|
|
|
|
resolvers ++= Seq(
|
|
Resolver.sonatypeRepo("snapshots"),
|
|
Resolver.sonatypeRepo("releases")
|
|
)
|
|
|
|
// Provide a managed dependency on X if -DXVersion="" is supplied on the command line.
|
|
val defaultVersions = Map(
|
|
"chisel3" -> "3.1.+",
|
|
"chisel-iotesters" -> "1.2.+"
|
|
)
|
|
|
|
libraryDependencies ++= (Seq("chisel3","chisel-iotesters").map {
|
|
dep: String => "edu.berkeley.cs" %% dep % sys.props.getOrElse(dep + "Version", defaultVersions(dep)) })
|
|
|
|
val versionOfScala = "2.12.4"
|
|
|
|
val fs2Version = "0.10.3"
|
|
val catsVersion = "1.1.0"
|
|
val catsEffectVersion = "0.10"
|
|
libraryDependencies ++= Dependencies.backendDeps.value
|
|
scalacOptions ++= scalacOptionsVersion(scalaVersion.value)
|
|
scalacOptions ++= Seq("-language:reflectiveCalls")
|
|
scalacOptions ++= Seq("-Ypartial-unification")
|
|
|
|
javacOptions ++= javacOptionsVersion(scalaVersion.value)
|
|
|
|
// testOptions in Test += Tests.Argument("-oF")
|
|
|
|
resolvers += Resolver.sonatypeRepo("releases")
|
|
addCompilerPlugin("org.spire-math" %% "kind-projector" % "0.9.7")
|
|
addCompilerPlugin("com.olegpy" %% "better-monadic-for" % "0.2.4")
|
|
addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.1" cross CrossVersion.full)
|
|
|
|
|
|
testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-eS")
|
|
|
|
addCompilerPlugin("io.tryp" % "splain" % "0.4.1" cross CrossVersion.patch)
|