From d28ac35ff7c6d602435c15f09bd689c2f011bb7b Mon Sep 17 00:00:00 2001 From: anqiansong Date: Mon, 10 May 2021 19:57:12 +0800 Subject: [PATCH] fix issue: https://github.com/zeromicro/goctl-swagger/issues/6 (#680) --- tools/goctl/api/parser/g4/ast/apiparser.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/goctl/api/parser/g4/ast/apiparser.go b/tools/goctl/api/parser/g4/ast/apiparser.go index ce14f1a3..892048b1 100644 --- a/tools/goctl/api/parser/g4/ast/apiparser.go +++ b/tools/goctl/api/parser/g4/ast/apiparser.go @@ -18,6 +18,7 @@ type ( debug bool log console.Console antlr.DefaultErrorListener + src string } // ParserOption defines an function with argument Parser @@ -94,7 +95,8 @@ func (p *Parser) parse(filename, content string) (*Api, error) { var apiAstList []*Api apiAstList = append(apiAstList, root) for _, imp := range root.Import { - path := imp.Value.Text() + dir := filepath.Dir(p.src) + path := filepath.Join(dir, imp.Value.Text()) data, err := p.readContent(path) if err != nil { return nil, err @@ -420,6 +422,7 @@ func (p *Parser) readContent(filename string) (string, error) { return "", err } + p.src = abs data, err := ioutil.ReadFile(abs) if err != nil { return "", err