diff options
Diffstat (limited to 'CommonBuild.sc')
| -rw-r--r-- | CommonBuild.sc | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/CommonBuild.sc b/CommonBuild.sc deleted file mode 100644 index a9a4e1a2..00000000 --- a/CommonBuild.sc +++ /dev/null @@ -1,94 +0,0 @@ -import ammonite.ops._ -import mill._ -import mill.scalalib._ - -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 - if (scalaVersion.startsWith("2.11.")) { - Seq() - } else { - Seq( - "-Xsource:2.11", - "-Ywarn-unused:imports", - "-Ywarn-unused:locals" - ) - } - } -} - -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. - if (scalaVersion.startsWith("2.11.")) { - Seq("-source", "1.7", "-target", "1.7") - } else { - Seq("-source", "1.8", "-target", "1.8") - } - } -} - -// Define our own BuildInfo since mill doesn't currently have one. -trait BuildInfo extends ScalaModule { outer => - - def buildInfoObjectName: String = "BuildInfo" - - def buildInfoMembers: T[Map[String, String]] = T { - Map.empty[String, String] - } - - private def generateBuildInfo(outputPath: Path, members: Map[String, String]) = { - val outputFile = outputPath / "BuildInfo.scala" - val packageName = members.getOrElse("buildInfoPackage", "") - val packageDef = if (packageName != "") { - s"package ${packageName}" - } else { - "" - } - val internalMembers = - members - .map { - case (name, value) => s""" val ${name}: String = "${value}"""" - } - .mkString("\n") - write(outputFile, - s""" - |${packageDef} - |case object ${buildInfoObjectName}{ - |$internalMembers - | override val toString: String = { - | "buildInfoPackage: %s, version: %s, scalaVersion: %s" format ( - | buildInfoPackage, version, scalaVersion - | ) - | } - |} - """.stripMargin) - outputPath - } - - override def generatedSources = T { - super.generatedSources() :+ PathRef(generateBuildInfo(T.ctx().dest, buildInfoMembers())) - } -} - -// Define some file filters to exclude unwanted files from created jars. -type JarFileFilter = (Path, RelPath) => Boolean -// Exclude any `.DS_Store` files -val noDS_StoreFiles: JarFileFilter = (p: Path, relPath: RelPath) => { - relPath.last != ".DS_Store" -} - -// Exclude non-source files - accept all resource files, but only *.{java,scala} from source paths -val onlySourceFiles: JarFileFilter = (p: Path, relPath: RelPath) => { - p.last == "resources" || (relPath.ext == "scala" || relPath.ext == "java") -} - -// Apply a sequence of file filters - only accept files which satisfy all filters. -// We expect this to be curried, the resulting file filter passed to createJar() -def forallFilters(fileFilters: Seq[JarFileFilter])(p: Path, relPath: RelPath): Boolean = { - fileFilters.forall(f => f(p, relPath)) -} |
