mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Only count known instructions as build steps
stepN is only used in the log line, so if we only produce the log line when there's a message, it should do the right thing. If it's *not* a valid instruction, it gets a line as well, so there's no reason to double up.
This commit is contained in:
parent
6178dc7f1b
commit
4ff649a4ea
1 changed files with 4 additions and 3 deletions
|
@ -488,15 +488,16 @@ func (b *buildFile) Build(context io.Reader) (string, error) {
|
|||
}
|
||||
instruction := strings.ToLower(strings.Trim(tmp[0], " "))
|
||||
arguments := strings.Trim(tmp[1], " ")
|
||||
stepN += 1
|
||||
// FIXME: only count known instructions as build steps
|
||||
fmt.Fprintf(b.out, "Step %d : %s %s\n", stepN, strings.ToUpper(instruction), arguments)
|
||||
|
||||
method, exists := reflect.TypeOf(b).MethodByName("Cmd" + strings.ToUpper(instruction[:1]) + strings.ToLower(instruction[1:]))
|
||||
if !exists {
|
||||
fmt.Fprintf(b.out, "# Skipping unknown instruction %s\n", strings.ToUpper(instruction))
|
||||
continue
|
||||
}
|
||||
|
||||
stepN += 1
|
||||
fmt.Fprintf(b.out, "Step %d : %s %s\n", stepN, strings.ToUpper(instruction), arguments)
|
||||
|
||||
ret := method.Func.Call([]reflect.Value{reflect.ValueOf(b), reflect.ValueOf(arguments)})[0].Interface()
|
||||
if ret != nil {
|
||||
return "", ret.(error)
|
||||
|
|
Loading…
Reference in a new issue