diff --git a/build.sbt b/build.sbt
index 82e72f8..2a1b5d6 100644
--- a/build.sbt
+++ b/build.sbt
@@ -10,15 +10,19 @@
   .enablePlugins(GitVersioning)
   .enablePlugins(DockerPlugin)
   .settings(commonSettings: _*)
-  .settings(commonDockerSettings(projectName="gitcommits"))
+  .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"))
+      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")
     }
   )
@@ -28,14 +32,18 @@
   .enablePlugins(GitVersioning)
   .enablePlugins(DockerPlugin)
   .settings(commonSettings: _*)
-  .settings(commonDockerSettings(projectName="auditlog"))
+  .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"))
+      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")
@@ -46,4 +54,4 @@
 lazy val root = (project in file("."))
   .disablePlugins(AssemblyPlugin)
   .settings(test in assembly := {})
-  .aggregate(analyticsETLGitCommits,analyticsETLAuditLog)
+  .aggregate(analyticsETLGitCommits, analyticsETLAuditLog)
