summaryrefslogtreecommitdiff
path: root/CommonBuild.sc
diff options
context:
space:
mode:
Diffstat (limited to 'CommonBuild.sc')
-rw-r--r--CommonBuild.sc94
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))
-}