I have a multi-project SBT / Play2 application, and I need to publish a Docker image for the main project (which integrates the rest).
The problem is that sbt-native-packager publish in my local repo image for all PLAY projects. The root image works fine, but I have 2 more images that should not be published.
What I added to my plugins.sbt
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.0.0-RC1")
And this is my build.sbt
import Dependencies.Library._ import PlayKeys._ import com.typesafe.sbt.packager.docker._ lazy val root = (project in file(".")) .enablePlugins(PlayScala) .enablePlugins(DockerPlugin) .settings( packageName in Docker := "docking-station", version in Docker := "latest", NativePackagerKeys.dockerBaseImage := "dockerfile/java:oracle-java8", NativePackagerKeys.dockerExposedPorts := Seq(9000, 9443), NativePackagerKeys.dockerExposedVolumes := Seq("/opt/docker/logs"), ) .dependsOn(module1).aggregate(module1) .dependsOn(module2).aggregate(module2) .dependsOn(core).aggregate(core) lazy val module1 = (project in file("modules/1")) .enablePlugins(PlayScala) .dependsOn(core) .dependsOn(entities) lazy val module2 = (project in file("modules/2")) .enablePlugins(PlayScala) .dependsOn(core) lazy val core = (project in file("modules/core"))
And this is what I get
sbt docker: publishLocal
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE docking-station latest 0d81792dd1ff 2 seconds ago 873.3 MB module1 0.0.1 6d73e3623d2c 3 seconds ago 810.3 MB module2 0.0.1 c847913663c2 3 seconds ago 809.9 MB
Do you know how to configure sbt-native-packager to not publish an image for these subprojects?
Thanks for your help:)
source share