in util/licenses/licenses.go [63:102]
func decode() {
buffer := bytes.NewBuffer(licensesJSON)
decoder := json.NewDecoder(buffer)
if err := decoder.Decode(&LicenseList); err != nil {
panic(fmt.Sprintf("error decoding spdx license list: %+v", err))
}
if len(LicenseList.Licenses) == 0 {
panic(fmt.Sprintf("could not find any licenses to decode"))
}
// debug
//dirEntry, err := licensesTextJSON.ReadDir("license-list-data/json/details")
//if err != nil {
// panic(fmt.Sprintf("error: %+v", err))
//}
//for _, x := range dirEntry {
// fmt.Printf("Name: %+v\n", x.Name())
//}
for _, license := range LicenseList.Licenses {
//fmt.Printf("ID: %+v\n", license.LicenseID) // debug
f := "license-list-data/json/details/" + strings.TrimPrefix(license.Reference, "./")
data, err := licensesTextJSON.ReadFile(f)
if err != nil {
panic(fmt.Sprintf("error reading spdx license file: %s, error: %+v", f, err))
}
//fmt.Printf("Data: %s\n", string(data)) // debug
buffer := bytes.NewBuffer(data)
decoder := json.NewDecoder(buffer)
if err := decoder.Decode(&license); err != nil {
panic(fmt.Sprintf("error decoding spdx license text: %+v", err))
}
//fmt.Printf("Text: %+v\n", license.Text) // debug
if license.Text == "" {
panic(fmt.Sprintf("could not find any license text for: %s", license.LicenseID))
}
}
}