diff --git a/builder/parser/parser.go b/builder/parser/parser.go index ae721cca46..0061779201 100644 --- a/builder/parser/parser.go +++ b/builder/parser/parser.go @@ -98,11 +98,12 @@ func Parse(rwc io.Reader) (*Node, error) { scanner := bufio.NewScanner(rwc) for scanner.Scan() { - if scanner.Text() == "" { + scannedLine := strings.TrimLeftFunc(scanner.Text(), unicode.IsSpace) + if stripComments(scannedLine) == "" { continue } - line, child, err := parseLine(strings.TrimLeftFunc(scanner.Text(), unicode.IsSpace)) + line, child, err := parseLine(scannedLine) if err != nil { return nil, err } @@ -111,7 +112,7 @@ func Parse(rwc io.Reader) (*Node, error) { for scanner.Scan() { newline := scanner.Text() - if newline == "" { + if stripComments(strings.TrimSpace(newline)) == "" { continue } diff --git a/builder/parser/testfiles/continueIndent/Dockerfile b/builder/parser/testfiles/continueIndent/Dockerfile index 6ce6c06fb7..454fdcc628 100644 --- a/builder/parser/testfiles/continueIndent/Dockerfile +++ b/builder/parser/testfiles/continueIndent/Dockerfile @@ -26,3 +26,10 @@ frog RUN echo good\ bye\ frog + +RUN echo hello \ +# this is a comment + +# this is a comment with a blank line surrounding it + +this is some more useful stuff diff --git a/builder/parser/testfiles/continueIndent/result b/builder/parser/testfiles/continueIndent/result index e440b836d4..9605558106 100644 --- a/builder/parser/testfiles/continueIndent/result +++ b/builder/parser/testfiles/continueIndent/result @@ -7,3 +7,4 @@ (run "echo hi world goodnight") (run "echo goodbyefrog") (run "echo goodbyefrog") +(run "echo hello this is some more useful stuff")