@@ -4,8 +4,7 @@ import com.typesafe.sbt.packager.archetypes.JavaAppPackaging
4
4
import com .typesafe .sbt .packager .docker .Cmd
5
5
import com .typesafe .sbt .packager .docker .DockerPlugin .autoImport ._
6
6
import com .typesafe .sbt .packager .universal .UniversalDeployPlugin
7
- import common .Libs
8
- import common .CommonPlayModule
7
+ import common .{CommonPlayModule , Libs }
9
8
import sbt .Keys ._
10
9
import sbt ._
11
10
import webscalajs .WebScalaJS .autoImport ._
@@ -33,16 +32,23 @@ object AdminServer extends AdminModule with CommonPlayModule {
33
32
// dockerImageCreationTask := (publishLocal in Docker).value,
34
33
dockerBaseImage := " openjdk:9-slim" ,
35
34
mappings in (Compile , packageDoc) := Seq (),
35
+ publishArtifact in (Compile , packageDoc) := false ,
36
36
37
- dockerCommands := (dockerCommands.value match {
38
- case Seq (from@ Cmd (" FROM" , _), rest@_* ) =>
39
- Seq (
40
- from,
41
- // set JVM TTL, see https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-jvm-ttl.html
42
- Cmd (" RUN" , " mkdir" , " -p" , " $JAVA_HOME/jre/lib/security" ),
43
- Cmd (" RUN" , " echo" , " networkaddress.cache.ttl=60" , " >>" , " $JAVA_HOME/jre/lib/security/java.security" )
44
- ) ++ rest
45
- })
37
+ dockerCommands := {
38
+ val commands = dockerCommands.value
39
+ val lines = commands.map(_.makeContent)
40
+ val splitIndex = lines.indexWhere(_.startsWith(" COPY --from=stage0" ))
41
+ if (splitIndex < 0 ) {
42
+ throw new IllegalStateException (s " Expected COPY --from=stage0 command in Dockerfile: \n ${lines.mkString}" )
43
+ }
44
+
45
+ val (part1, part2) = commands.splitAt(splitIndex)
46
+ part1 ++ Seq (
47
+ // set JVM TTL, see https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-jvm-ttl.html
48
+ Cmd (" RUN" , " mkdir" , " -p" , " $JAVA_HOME/jre/lib/security" ),
49
+ Cmd (" RUN" , " echo" , " networkaddress.cache.ttl=60" , " >>" , " $JAVA_HOME/jre/lib/security/java.security" )
50
+ ) ++ part2
51
+ }
46
52
)
47
53
}
48
54
0 commit comments