mirror of https://github.com/docker/docs.git
46 lines
1.1 KiB
Go
46 lines
1.1 KiB
Go
package evaluator
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
func env(b *buildFile, args ...string) error {
|
|
if len(args) != 2 {
|
|
return fmt.Errorf("ENV accepts two arguments")
|
|
}
|
|
|
|
// the duplication here is intended to ease the replaceEnv() call's env
|
|
// handling. This routine gets much shorter with the denormalization here.
|
|
key := args[0]
|
|
b.env[key] = args[1]
|
|
b.config.Env = append(b.config.Env, strings.Join("=", key, b.env[key]))
|
|
|
|
return b.commit("", b.config.Cmd, fmt.Sprintf("ENV %s", value))
|
|
}
|
|
|
|
func maintainer(b *buildFile, args ...string) error {
|
|
if len(args) != 1 {
|
|
return fmt.Errorf("MAINTAINER requires only one argument")
|
|
}
|
|
|
|
b.maintainer = args[0]
|
|
return b.commit("", b.config.Cmd, fmt.Sprintf("MAINTAINER %s", b.maintainer))
|
|
}
|
|
|
|
func add(b *buildFile, args ...string) error {
|
|
if len(args) != 2 {
|
|
return fmt.Errorf("ADD requires two arguments")
|
|
}
|
|
|
|
return b.runContextCommand(args, true, true, "ADD")
|
|
}
|
|
|
|
func dispatchCopy(b *buildFile, args ...string) error {
|
|
if len(args) != 2 {
|
|
return fmt.Errorf("COPY requires two arguments")
|
|
}
|
|
|
|
return b.runContextCommand(args, false, false, "COPY")
|
|
}
|