@@ -44,22 +44,38 @@ case class ExecCmd(cmd: String, args: String*) extends CmdLike {
44
44
*
45
45
* @example
46
46
* {{{
47
- * val add = Cmd("ADD", "src/resource/LICENSE.txt /opt/docker/LICENSE.txt")
47
+ * val add = Cmd("ADD", "src/resource/LICENSE.txt", "/opt/docker/LICENSE.txt")
48
+ * }}}
49
+ *
50
+ * @example
51
+ * {{{
52
+ * val copy = Cmd("COPY", "src/resource/LICENSE.txt", "/opt/docker/LICENSE.txt")
53
+ * }}}
54
+ *
55
+ * @example
56
+ * {{{
57
+ * val env = Cmd("ENV", "APP_SECRET", "7sdfy7s9hfisdufuusud")
48
58
* }}}
49
59
*/
50
- case class Cmd (cmd : String , arg : String ) extends CmdLike {
51
- def makeContent = " %s %s\n " format (cmd, arg )
60
+ case class Cmd (cmd : String , args : String * ) extends CmdLike {
61
+ def makeContent = " %s %s\n " format (cmd, args.mkString( " " ) )
52
62
}
53
63
54
64
/**
55
- * Environment command
65
+ * A command that consists of a CMD string and an CmdLike object
56
66
*
57
- * @example {{{
58
- * EnvCmd("FOO_BAR_SECRET_KEY", "HGkhjGKjhgJhgjkhgHKJ")
67
+ * @example
68
+ * {{{
69
+ * val onBuildAdd = CombinedCmd("ONBUILD", Cmd("ADD", "src/resource/LICENSE.txt", "/opt/docker/LICENSE.txt"))
70
+ * }}}
71
+ *
72
+ * @example
73
+ * {{{
74
+ * val onBuildEnv = CombinedCmd("ONBUILD", Cmd("ENV", "APP_SECRET", "7sdfy7s9hfisdufuusud"))
59
75
* }}}
60
76
*/
61
- case class EnvCmd ( key : String , value : String ) extends CmdLike {
62
- def makeContent = " ENV %s %s\n " format (key, value )
77
+ case class CombinedCmd ( cmd : String , arg : CmdLike ) extends CmdLike {
78
+ def makeContent = " %s %s\n " format (cmd, arg.makeContent )
63
79
}
64
80
65
81
/** Represents dockerfile used by docker when constructing packages. */
0 commit comments