cavis/scalnet/build.sbt

81 lines
2.3 KiB
Scala

import scala.sys.process._
name := "ScalNet"
version := "1.0.0-SNAPSHOT"
description := "A Scala wrapper for Deeplearning4j, inspired by Keras. Scala + DL + Spark + GPUs"
scalaVersion := "2.11.12"
resolvers in ThisBuild ++= Seq(
Resolver.sonatypeRepo("snapshots")
)
cleanFiles += baseDirectory.value / "lib"
val mvnInstall = Seq("mvn", "install", "-q", "-f", "sbt-pom.xml")
val operatingSystem = sys.props("os.name").toLowerCase.substring(0, 3)
update := {
operatingSystem match {
case "win" => { Seq("cmd", "/C") ++ mvnInstall !; update.value }
case _ => { mvnInstall !; update.value }
}
}
libraryDependencies ++= {
val dl4j = "1.0.0-SNAPSHOT"
val logback = "1.2.3"
val scalaCheck = "1.13.5"
val scalaTest = "3.0.5"
Seq(
"org.deeplearning4j" % "deeplearning4j-core" % dl4j,
"org.slf4j" % "slf4j-api" % "1.7.25",
"ch.qos.logback" % "logback-classic" % logback,
"org.nd4j" % "nd4j-native" % dl4j % "test",
"org.scalacheck" %% "scalacheck" % scalaCheck % "test",
"org.scalatest" %% "scalatest" % scalaTest % "test"
)
}
scalacOptions in ThisBuild ++= Seq("-language:postfixOps",
"-language:implicitConversions",
"-language:existentials",
"-feature",
"-deprecation")
lazy val standardSettings = Seq(
organization := "org.deeplearning4j",
organizationName := "Skymind",
startYear := Some(2016),
licenses += ("Apache-2.0", url("http://www.apache.org/licenses/LICENSE-2.0.html")),
homepage := Some(url("https://github.com/deeplearning4j/ScalNet")),
crossScalaVersions := Seq("2.11.12", "2.10.7"),
scalacOptions ++= Seq(
"-encoding",
"UTF-8",
"-Xlint",
"-deprecation",
"-Xfatal-warnings",
"-feature",
"-language:postfixOps",
"-unchecked"
)
)
parallelExecution in Test := false
scalafmtOnCompile in ThisBuild := true
scalafmtTestOnCompile in ThisBuild := true
test in assembly := {}
assemblyMergeStrategy in assembly := {
case PathList("META-INF", xs @ _*) => MergeStrategy.discard
case x => MergeStrategy.first
}
lazy val root = (project in file("."))
.enablePlugins(AutomateHeaderPlugin)
.settings(standardSettings)
.settings(
name := "ScalNet",
fork := true
)