Browse Source

builder: strip blank lines before processing any line continuations.

Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Erik Hollensbe 10 năm trước cách đây
mục cha
commit
a1ef2207dd

+ 4 - 0
builder/parser/parser.go

@@ -98,6 +98,10 @@ func Parse(rwc io.Reader) (*Node, error) {
 	scanner := bufio.NewScanner(rwc)
 
 	for scanner.Scan() {
+		if scanner.Text() == "" {
+			continue
+		}
+
 		line, child, err := parseLine(strings.TrimLeftFunc(scanner.Text(), unicode.IsSpace))
 		if err != nil {
 			return nil, err

+ 6 - 0
builder/parser/testfiles/escapes/Dockerfile

@@ -5,4 +5,10 @@ RUN apt-get \update && \
   apt-get \"install znc -y
 ADD \conf\\" /.znc
 
+RUN foo \
+
+bar \
+
+baz
+
 CMD [ "\/usr\\\"/bin/znc", "-f", "-r" ]

+ 1 - 0
builder/parser/testfiles/escapes/result

@@ -2,4 +2,5 @@
 (maintainer "Erik \\\\Hollensbe <erik@hollensbe.org>\\\"")
 (run "apt-get \\update &&   apt-get \\\"install znc -y")
 (add "\\conf\\\\\"" "/.znc")
+(run "foo bar baz")
 (cmd "/usr\\\"/bin/znc" "-f" "-r")