@@ -5,21 +5,18 @@ import Keys._
5
5
import universal ._
6
6
import sbt ._
7
7
8
- import sbt .Keys .cacheDirectory
9
- import universal .Keys .stage
10
-
11
- trait DockerPlugin extends Plugin with UniversalPlugin with DockerKeys {
8
+ trait DockerPlugin extends Plugin with UniversalPlugin {
12
9
val Docker = config(" docker" ) extend Universal
13
10
14
11
private [this ] final def makeDockerContent (dockerBaseImage : String , dockerBaseDirectory : String , maintainer : String , daemonUser : String , name : String ) = {
15
12
Dockerfile (
16
13
Cmd (" FROM" , dockerBaseImage),
17
14
Cmd (" MAINTAINER" , maintainer),
18
15
Cmd (" ADD" , " files /" ),
19
- Cmd (" WORKDIR" , " %s/bin " format dockerBaseDirectory),
20
- ExecCmd (" RUN" , " chown" , " -R" , daemonUser, " .. " ),
16
+ Cmd (" WORKDIR" , " %s" format dockerBaseDirectory),
17
+ ExecCmd (" RUN" , " chown" , " -R" , daemonUser, " ." ),
21
18
Cmd (" USER" , daemonUser),
22
- ExecCmd (" ENTRYPOINT" , name),
19
+ ExecCmd (" ENTRYPOINT" , " bin/%s " format name),
23
20
ExecCmd (" CMD" )
24
21
).makeContent
25
22
}
@@ -42,32 +39,33 @@ trait DockerPlugin extends Plugin with UniversalPlugin with DockerKeys {
42
39
}
43
40
44
41
inConfig(Docker )(Seq (
45
- mappings <<= (mappings in Universal , defaultDockerInstallLocation ) map { (mappings, dest) =>
42
+ mappings <<= (mappings in Universal , defaultLinuxInstallLocation ) map { (mappings, dest) =>
46
43
renameDests(mappings, dest)
47
- },
48
- mappings <++= dockerPackageMappings
44
+ }
49
45
))
50
46
}
51
47
52
48
def dockerSettings : Seq [Setting [_]] = Seq (
49
+ dockerBaseImage := " dockerfile/java" ,
53
50
sourceDirectory in Docker <<= sourceDirectory apply (_ / " docker" ),
54
51
target in Docker <<= target apply (_ / " docker" )
55
52
) ++ mapGenericFilesToDocker ++ inConfig(Docker )(Seq (
56
53
daemonUser := " daemon" ,
57
- dockerBaseImage := " dockerfile/java " ,
58
- defaultDockerInstallLocation := " /opt/docker" ,
59
- dockerPackageMappings <<= (sourceDirectory in Docker ) map { dir =>
54
+ publishArtifact := false ,
55
+ defaultLinuxInstallLocation := " /opt/docker" ,
56
+ dockerPackageMappings <<= (sourceDirectory) map { dir =>
60
57
MappingsHelper contentOf dir
61
58
},
62
- stage <<= dockerGenerateContext.dependsOn(dockerGenerateConfig),
59
+ mappings <++= dockerPackageMappings,
60
+ stage <<= (dockerGenerateConfig, dockerGenerateContext) map { (configFile, contextDir) => () },
63
61
dockerGenerateContext <<= (cacheDirectory, mappings, target) map {
64
62
(cacheDirectory, mappings, t) =>
65
63
val contextDir = t / " files"
66
64
stageFiles(" docker" )(cacheDirectory, contextDir, mappings)
67
65
contextDir
68
66
},
69
67
dockerGenerateConfig <<=
70
- (dockerBaseImage, defaultDockerInstallLocation , maintainer in Docker , daemonUser in Docker , normalizedName in Docker , target in Docker ) map {
68
+ (dockerBaseImage, defaultLinuxInstallLocation , maintainer, daemonUser, normalizedName, target) map {
71
69
case (dockerBaseImage, baseDirectory, maintainer, daemonUser, normalizedName, target) =>
72
70
generateDockerConfig(dockerBaseImage, baseDirectory, maintainer, daemonUser, normalizedName, target)
73
71
}
0 commit comments