blob: fb95c4167cd303c46c837accf1f675a0a9332186 [file] [log] [blame]
import sbt.Keys.version
enablePlugins(GitVersioning)
enablePlugins(DockerPlugin)
git.useGitDescribe := true
organization := "gerritforge"
name := "GerritAnalytics"
scalaVersion := "2.11.8"
val sparkVersion = "2.1.1"
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % sparkVersion % "provided"
exclude("org.spark-project.spark", "unused"),
"org.apache.spark" %% "spark-sql" % sparkVersion % "provided",
"org.elasticsearch" %% "elasticsearch-spark-20" % "5.0.2"
excludeAll ExclusionRule(organization = "org.apache.spark"),
// json4s still needed by GerritProjects
"org.json4s" %% "json4s-native" % "3.2.11",
"com.typesafe.scala-logging" %% "scala-logging" % "3.7.2",
"com.github.scopt" %% "scopt" % "3.6.0",
"org.scalactic" %% "scalactic" % "3.0.1" % "test",
"org.scalatest" %% "scalatest" % "3.0.1" % "test"
)
mainClass in (Compile,run) := Some("com.gerritforge.analytics.job.Main")
parallelExecution in Test := false
dockerfile in docker := {
val artifact: File = assembly.value
val artifactTargetPath = s"/app/${name.value}-assembly.jar"
new Dockerfile {
from("gerritforge/jw2017-spark")
runRaw("apk add --no-cache wget")
runRaw("mkdir -p /app")
add(artifact, artifactTargetPath )
}
}
imageNames in docker := Seq(
ImageName(s"${organization.value}/spark-gerrit-analytics-etl:latest"),
ImageName(
namespace = Some(organization.value),
repository = "spark-gerrit-analytics-etl",
tag = Some(version.value)
)
)
buildOptions in docker := BuildOptions(cache = false)