summaryrefslogtreecommitdiff
path: root/pkgtools/pkglint/files/globaldata.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkgtools/pkglint/files/globaldata.go')
-rw-r--r--pkgtools/pkglint/files/globaldata.go38
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)
+ }
+ }
+ }
+}