func scanner()

in pkg/license/identifier.go [42:67]


func scanner() *licensecheck.Scanner {
	scannerOnce.Do(func() {
		licenses := licensecheck.BuiltinLicenses()
		if bs, err := assets.Asset("urls.yaml"); err == nil {
			licenseURLs := make(map[string][]string)
			if err := yaml.Unmarshal(bs, &licenseURLs); err == nil {
				logger.Log.Debug("license URLs:", licenseURLs)
				for id, urls := range licenseURLs {
					for _, url := range urls {
						licenses = append(licenses, licensecheck.License{
							ID:   id,
							URL:  strings.ToLower(url),
							Type: licensecheck.Unknown,
						})
					}
				}
			}
		}
		var err error
		_scanner, err = licensecheck.NewScanner(licenses)
		if err != nil {
			logger.Log.Fatalf("licensecheck.NewScanner: %v", err)
		}
	})
	return _scanner
}