(logger *text.Logger, pkgBuildDirs map[string]string, errIsFatal bool)
| 102 | } |
| 103 | |
| 104 | func ParseSrcinfoFilesByBase(logger *text.Logger, pkgBuildDirs map[string]string, errIsFatal bool) (map[string]*gosrc.Srcinfo, error) { |
| 105 | srcinfos := make(map[string]*gosrc.Srcinfo) |
| 106 | |
| 107 | k := 0 |
| 108 | for base, dir := range pkgBuildDirs { |
| 109 | logger.OperationInfoln(gotext.Get("(%d/%d) Parsing SRCINFO: %s", k+1, len(pkgBuildDirs), text.Cyan(base))) |
| 110 | |
| 111 | pkgbuild, err := gosrc.ParseFile(filepath.Join(dir, ".SRCINFO")) |
| 112 | if err != nil { |
| 113 | if !errIsFatal { |
| 114 | logger.Warnln(gotext.Get("failed to parse %s -- skipping: %s", base, err)) |
| 115 | continue |
| 116 | } |
| 117 | |
| 118 | return nil, errors.New(gotext.Get("failed to parse %s: %s", base, err)) |
| 119 | } |
| 120 | |
| 121 | srcinfos[base] = pkgbuild |
| 122 | k++ |
| 123 | } |
| 124 | |
| 125 | return srcinfos, nil |
| 126 | } |
no test coverage detected