|
- 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 := "chisel-module-template"
-
- version := "3.1.0"
-
- scalaVersion := "2.12.4"
-
- 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)) })
-
- scalacOptions ++= scalacOptionsVersion(scalaVersion.value)
- scalacOptions ++= Seq("-language:reflectiveCalls")
-
- javacOptions ++= javacOptionsVersion(scalaVersion.value)
|