in lint/lint_license.go [93:120]
func (l *LicenseLinter) fix_file(f string) error {
if !license.support(f) {
return nil
}
// read file
b, err := os.ReadFile(f)
if err != nil {
panic(err)
}
s := string(b)
// xml with header
ext := filepath.Ext(f)
x := `<?xml version="1.0" encoding="UTF-8"?>`
if ext == ".xml" && strings.Contains(s, x) {
nx := strings.Replace(s, x, x+"\n\n"+license.get(f)+"\n\n", 1)
if err := os.WriteFile(f, []byte(nx), 0644); err != nil {
return err
}
} else {
// common
if err := os.WriteFile(f, []byte(fmt.Sprintf("%s\n\n%s", license.get(f), b)), 0644); err != nil {
return err
}
}
return nil
}