From af6a074fd6afc482b112b082823c2f16b5b2a72d Mon Sep 17 00:00:00 2001 From: Priya Wadhwa Date: Fri, 16 Mar 2018 13:35:00 -0700 Subject: [PATCH] Set escape token in separate function --- executor/cmd/root.go | 4 ++++ pkg/dockerfile/dockerfile.go | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/executor/cmd/root.go b/executor/cmd/root.go index a34a5f3cd..974db7d26 100644 --- a/executor/cmd/root.go +++ b/executor/cmd/root.go @@ -67,6 +67,10 @@ func execute() error { if err != nil { return err } + // Set the escape token + if err := dockerfile.SetEscapeToken(d); err != nil { + return err + } baseImage := stages[0].BaseName // Unpack file system to root diff --git a/pkg/dockerfile/dockerfile.go b/pkg/dockerfile/dockerfile.go index c96a1724c..5e036be7c 100644 --- a/pkg/dockerfile/dockerfile.go +++ b/pkg/dockerfile/dockerfile.go @@ -31,10 +31,18 @@ func Parse(b []byte) ([]instructions.Stage, error) { if err != nil { return nil, err } - EscapeToken = p.EscapeToken stages, _, err := instructions.Parse(p.AST) if err != nil { return nil, err } return stages, err } + +func SetEscapeToken(b []byte) error { + p, err := parser.Parse(bytes.NewReader(b)) + if err != nil { + return err + } + EscapeToken = p.EscapeToken + return nil +}