diff --git a/builder/command/command.go b/builder/command/command.go index dd24ee44c550c0dc03d300fa0afe12f0fb2f12d2..16544f0267c07375f43fb09ff9853c276670829d 100644 --- a/builder/command/command.go +++ b/builder/command/command.go @@ -22,6 +22,7 @@ const ( // Commands is list of all Dockerfile commands var Commands = map[string]struct{}{ Env: {}, + Label: {}, Maintainer: {}, Add: {}, Copy: {}, diff --git a/builder/dispatchers.go b/builder/dispatchers.go index 965fd68c039f65942e7ba2fe7ed834764a74e254..3cb3a9fb3afecc18a5d0ede2d2934757304cb007 100644 --- a/builder/dispatchers.go +++ b/builder/dispatchers.go @@ -91,7 +91,7 @@ func maintainer(b *Builder, args []string, attributes map[string]bool, original // func label(b *Builder, args []string, attributes map[string]bool, original string) error { if len(args) == 0 { - return fmt.Errorf("LABEL is missing arguments") + return fmt.Errorf("LABEL requires at least one argument") } if len(args)%2 != 0 { // should never get here, but just in case diff --git a/builder/evaluator.go b/builder/evaluator.go index aee60426c15f1c78f47c11e2ebf40230b9c10bda..9808a3c42de1ce36f950a168341c4dc0c078d359 100644 --- a/builder/evaluator.go +++ b/builder/evaluator.go @@ -49,6 +49,7 @@ var ( // Environment variable interpolation will happen on these statements only. var replaceEnvAllowed = map[string]struct{}{ command.Env: {}, + command.Label: {}, command.Add: {}, command.Copy: {}, command.Workdir: {}, diff --git a/builder/parser/line_parsers.go b/builder/parser/line_parsers.go index 06115e831a542d6d5784c361ac44eb8101aef315..45c929ee69e33547502b7b32f0044f6f5014b3dc 100644 --- a/builder/parser/line_parsers.go +++ b/builder/parser/line_parsers.go @@ -137,7 +137,7 @@ func parseNameVal(rest string, key string) (*Node, map[string]bool, error) { } if len(words) == 0 { - return nil, nil, fmt.Errorf(key + " requires at least one argument") + return nil, nil, nil } // Old format (KEY name value)