Skip to content

Commit ac557dc

Browse files
committed
Use sbt-snowplow-release to build docker images (close #278)
1 parent 5f019ce commit ac557dc

File tree

3 files changed

+10
-33
lines changed

3 files changed

+10
-33
lines changed

build.sbt

+3-3
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ lazy val main = project.in(file("modules/main"))
2222
libraryDependencies ++= Dependencies.mainDependencies,
2323
excludeDependencies ++= Dependencies.mainExclusions
2424
)
25-
.enablePlugins(JavaAppPackaging, DockerPlugin)
25+
.enablePlugins(JavaAppPackaging, SnowplowDockerPlugin)
2626

2727
lazy val distroless = project.in(file("modules/distroless"))
2828
.settings(BuildSettings.distrolessSettings)
@@ -31,7 +31,7 @@ lazy val distroless = project.in(file("modules/distroless"))
3131
libraryDependencies ++= Dependencies.mainDependencies,
3232
excludeDependencies ++= Dependencies.mainExclusions
3333
)
34-
.enablePlugins(JavaAppPackaging, DockerPlugin, LauncherJarPlugin)
34+
.enablePlugins(JavaAppPackaging, SnowplowDistrolessDockerPlugin)
3535

3636
lazy val lzo = project.in(file("modules/lzo"))
3737
.settings(BuildSettings.lzoSettings)
@@ -40,6 +40,6 @@ lazy val lzo = project.in(file("modules/lzo"))
4040
excludeDependencies ++= Dependencies.hadoopExclusions
4141
)
4242
.dependsOn(main % "compile->compile; test->test")
43-
.enablePlugins(JavaAppPackaging, DockerPlugin)
43+
.enablePlugins(JavaAppPackaging, SnowplowDockerPlugin)
4444

4545
shellPrompt := { _ => "s3-loader> " }

project/BuildSettings.scala

+6-28
Original file line numberDiff line numberDiff line change
@@ -50,36 +50,14 @@ object BuildSettings {
5050
}
5151
)
5252

53-
lazy val dockerSettingsFocal = Seq(
54-
Docker / maintainer := "Snowplow Analytics Ltd. <[email protected]>",
55-
Docker / daemonUser := "daemon",
56-
Docker / packageName := "snowplow/snowplow-s3-loader",
57-
dockerBaseImage := "eclipse-temurin:11-jre-focal",
58-
dockerUpdateLatest := true,
59-
)
60-
61-
lazy val dockerSettingsDistroless = Seq(
62-
Docker / maintainer := "Snowplow Analytics Ltd. <[email protected]>",
63-
dockerBaseImage := "gcr.io/distroless/java11-debian11:nonroot",
64-
Docker / daemonUser := "nonroot",
65-
Docker / daemonGroup := "nonroot",
66-
dockerRepository := Some("snowplow"),
67-
Docker / daemonUserUid := None,
68-
Docker / defaultLinuxInstallLocation := "/home/snowplow",
69-
dockerEntrypoint := Seq("java", "-jar",s"/home/snowplow/lib/${(packageJavaLauncherJar / artifactPath).value.getName}"),
70-
dockerPermissionStrategy := DockerPermissionStrategy.CopyChown,
71-
dockerAlias := dockerAlias.value.withTag(Some(version.value + "-distroless")),
72-
dockerUpdateLatest := false
73-
)
74-
75-
lazy val lzoDockerSettingsFocal = dockerSettingsFocal ++ Seq(
53+
lazy val lzoDockerSettings = Seq(
7654
dockerCommands := {
7755
val installLzo = Seq(Cmd("RUN", "mkdir -p /var/lib/apt/lists/partial && apt-get update && apt-get install -y lzop && apt-get purge -y"))
7856
val (h, t) = dockerCommands.value.splitAt(dockerCommands.value.size-4)
7957
h ++ installLzo ++ t
8058
},
81-
dockerAlias := dockerAlias.value.withTag(Some(version.value + "-lzo")),
82-
dockerUpdateLatest := false
59+
Docker / packageName := "snowplow-s3-loader",
60+
dockerAlias := dockerAlias.value.withTag(Some(version.value + "-lzo"))
8361
)
8462

8563
// Makes our SBT app settings available from within the app
@@ -132,15 +110,15 @@ object BuildSettings {
132110

133111
lazy val commonSettings = basicSettings ++ scalifySettings ++ sbtAssemblySettings ++ addExampleConfToTestCp
134112

135-
lazy val mainSettings = commonSettings ++ dockerSettingsFocal ++ Seq(
113+
lazy val mainSettings = commonSettings ++ Seq(
136114
name := "snowplow-s3-loader"
137115
)
138116

139-
lazy val distrolessSettings = commonSettings ++ dockerSettingsDistroless ++ Seq(
117+
lazy val distrolessSettings = commonSettings ++ Seq(
140118
name := "snowplow-s3-loader"
141119
)
142120

143-
lazy val lzoSettings = commonSettings ++ lzoDockerSettingsFocal ++ Seq(
121+
lazy val lzoSettings = commonSettings ++ lzoDockerSettings ++ Seq(
144122
name := "snowplow-s3-loader-lzo",
145123
Compile / discoveredMainClasses := Seq(),
146124
Compile / mainClass := Some("com.snowplowanalytics.s3.loader.lzo.Main")

project/plugins.sbt

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
addSbtPlugin("io.github.davidgregory084" % "sbt-tpolecat" % "0.1.18")
22
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.10")
3-
addSbtPlugin("com.github.sbt" % "sbt-native-packager" % "1.9.7")
4-
addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.9.2")
53
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.0")
64
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.6.1")
75
addSbtPlugin("org.scoverage" % "sbt-coveralls" % "1.2.7")
86
addSbtPlugin("com.dwijnand" % "sbt-dynver" % "4.1.1")
7+
addSbtPlugin("com.snowplowanalytics" % "sbt-snowplow-release" % "0.2.1")

0 commit comments

Comments
 (0)