| import SharedSettings._ |
| import sbtassembly.AssemblyPlugin.autoImport._ |
| import sbtdocker.DockerPlugin.autoImport._ |
| |
| lazy val common = (project in file("common")) |
| .settings(commonSettings: _*) |
| .settings(assembleArtifact in assembly := false) |
| |
| lazy val analyticsETLGitCommits = (project in file("gitcommits")) |
| .enablePlugins(GitVersioning) |
| .enablePlugins(DockerPlugin) |
| .settings(commonSettings: _*) |
| .settings(commonDockerSettings(projectName = "gitcommits")) |
| .settings( |
| dockerfile in docker := { |
| val artifact: File = assembly.value |
| val entryPointBase = s"/app" |
| |
| baseDockerfile( |
| projectName = "gitcommits", |
| artifact, |
| artifactTargetPath = s"$entryPointBase/${name.value}-assembly.jar" |
| ).copy( |
| baseDirectory(_ / "scripts" / "gerrit-analytics-etl-gitcommits.sh").value, |
| file(s"$entryPointBase/gerrit-analytics-etl-gitcommits.sh") |
| ) |
| .copy( |
| baseDirectory(_ / "scripts" / "wait-for-elasticsearch.sh").value, |
| file(s"$entryPointBase/wait-for-elasticsearch.sh") |
| ) |
| .cmd(s"/bin/sh", s"$entryPointBase/gerrit-analytics-etl-gitcommits.sh") |
| } |
| ) |
| .dependsOn(common % "compile->compile;test->test") |
| |
| lazy val analyticsETLAuditLog = (project in file("auditlog")) |
| .enablePlugins(GitVersioning) |
| .enablePlugins(DockerPlugin) |
| .settings(commonSettings: _*) |
| .settings(commonDockerSettings(projectName = "auditlog")) |
| .settings( |
| dockerfile in docker := { |
| val artifact: File = assembly.value |
| val entryPointBase = s"/app" |
| baseDockerfile( |
| projectName = "auditlog", |
| artifact, |
| artifactTargetPath = s"$entryPointBase/${name.value}-assembly.jar" |
| ).copy( |
| baseDirectory(_ / "scripts" / "gerrit-analytics-etl-auditlog.sh").value, |
| file(s"$entryPointBase/gerrit-analytics-etl-auditlog.sh") |
| ) |
| .copy( |
| baseDirectory(_ / "scripts" / "wait-for-elasticsearch.sh").value, |
| file(s"$entryPointBase/wait-for-elasticsearch.sh") |
| ) |
| .volume(s"$entryPointBase/events/") |
| .volume(s"$entryPointBase/data/") |
| .cmd(s"/bin/sh", s"$entryPointBase/gerrit-analytics-etl-auditlog.sh") |
| } |
| ) |
| .dependsOn(common % "compile->compile;test->test") |
| |
| lazy val root = (project in file(".")) |
| .disablePlugins(AssemblyPlugin) |
| .settings(test in assembly := {}) |
| .aggregate(analyticsETLGitCommits, analyticsETLAuditLog) |