diff options
Diffstat (limited to 'pkgtools/pkglint/files/globaldata.go')
-rw-r--r-- | pkgtools/pkglint/files/globaldata.go | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/pkgtools/pkglint/files/globaldata.go b/pkgtools/pkglint/files/globaldata.go index 4bf6699bfb6..6a7ae1e8cc8 100644 --- a/pkgtools/pkglint/files/globaldata.go +++ b/pkgtools/pkglint/files/globaldata.go @@ -138,23 +138,7 @@ func (gd *GlobalData) loadTools() { fname := G.globalData.Pkgsrcdir + "/mk/tools/" + basename lines := LoadExistingLines(fname, true) for _, line := range lines { - if m, varname, _, _, _, value, _ := MatchVarassign(line.Text); m { - if varname == "TOOLS_CREATE" && (value == "[" || matches(value, `^?[-\w.]+$`)) { - reg.Register(value) - - } else if m, toolname := match1(varname, `^_TOOLS_VARNAME\.([-\w.]+|\[)$`); m { - reg.RegisterVarname(toolname, value) - - } else if m, toolname := match1(varname, `^(?:TOOLS_PATH|_TOOLS_DEPMETHOD)\.([-\w.]+|\[)$`); m { - reg.Register(toolname) - - } else if m, toolname := match1(varname, `_TOOLS\.(.*)`); m { - reg.Register(toolname) - for _, tool := range splitOnSpace(value) { - reg.Register(tool) - } - } - } + reg.ParseToolLine(line) } } @@ -580,3 +564,23 @@ func (tr *ToolRegistry) Trace() { traceStep("tool %+v", tr.byName[toolname]) } } + +func (tr *ToolRegistry) ParseToolLine(line *Line) { + if m, varname, _, _, _, value, _ := MatchVarassign(line.Text); m { + if varname == "TOOLS_CREATE" && (value == "[" || matches(value, `^?[-\w.]+$`)) { + tr.Register(value) + + } else if m, toolname := match1(varname, `^_TOOLS_VARNAME\.([-\w.]+|\[)$`); m { + tr.RegisterVarname(toolname, value) + + } else if m, toolname := match1(varname, `^(?:TOOLS_PATH|_TOOLS_DEPMETHOD)\.([-\w.]+|\[)$`); m { + tr.Register(toolname) + + } else if m, toolname := match1(varname, `_TOOLS\.(.*)`); m { + tr.Register(toolname) + for _, tool := range splitOnSpace(value) { + tr.Register(tool) + } + } + } +} |