Add verbose option to print filename when modified
Adds the -v option which prints the name of the files that have been modified.
This commit is contained in:
19
main.go
19
main.go
@@ -49,6 +49,7 @@ var (
|
|||||||
license = flag.String("l", "apache", "license type: apache, bsd, mit")
|
license = flag.String("l", "apache", "license type: apache, bsd, mit")
|
||||||
licensef = flag.String("f", "", "license file")
|
licensef = flag.String("f", "", "license file")
|
||||||
year = flag.String("y", fmt.Sprint(time.Now().Year()), "copyright year(s)")
|
year = flag.String("y", fmt.Sprint(time.Now().Year()), "copyright year(s)")
|
||||||
|
verbose = flag.Bool("v", false, "verbose mode: print the name of the files that are modified")
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -95,11 +96,15 @@ func main() {
|
|||||||
for f := range ch {
|
for f := range ch {
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func(f *file) {
|
go func(f *file) {
|
||||||
err := addLicense(f.path, f.mode, t, data)
|
defer wg.Done()
|
||||||
|
modified, err := addLicense(f.path, f.mode, t, data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("%s: %v", f.path, err)
|
log.Printf("%s: %v", f.path, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if *verbose && modified {
|
||||||
|
log.Printf("%s modified", f.path)
|
||||||
}
|
}
|
||||||
wg.Done()
|
|
||||||
}(f)
|
}(f)
|
||||||
}
|
}
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
@@ -132,12 +137,12 @@ func walk(ch chan<- *file, start string) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func addLicense(path string, fmode os.FileMode, tmpl *template.Template, data *copyrightData) error {
|
func addLicense(path string, fmode os.FileMode, tmpl *template.Template, data *copyrightData) (bool, error) {
|
||||||
var lic []byte
|
var lic []byte
|
||||||
var err error
|
var err error
|
||||||
switch fileExtension(path) {
|
switch fileExtension(path) {
|
||||||
default:
|
default:
|
||||||
return nil
|
return false, nil
|
||||||
case ".c", ".h":
|
case ".c", ".h":
|
||||||
lic, err = prefix(tmpl, data, "/*", " * ", " */")
|
lic, err = prefix(tmpl, data, "/*", " * ", " */")
|
||||||
case ".js", ".jsx", ".tsx", ".css", ".tf", ".ts":
|
case ".js", ".jsx", ".tsx", ".css", ".tf", ".ts":
|
||||||
@@ -160,12 +165,12 @@ func addLicense(path string, fmode os.FileMode, tmpl *template.Template, data *c
|
|||||||
lic, err = prefix(tmpl, data, "(**", " ", "*)")
|
lic, err = prefix(tmpl, data, "(**", " ", "*)")
|
||||||
}
|
}
|
||||||
if err != nil || lic == nil {
|
if err != nil || lic == nil {
|
||||||
return err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
||||||
b, err := ioutil.ReadFile(path)
|
b, err := ioutil.ReadFile(path)
|
||||||
if err != nil || hasLicense(b) {
|
if err != nil || hasLicense(b) {
|
||||||
return err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
||||||
line := hashBang(b)
|
line := hashBang(b)
|
||||||
@@ -177,7 +182,7 @@ func addLicense(path string, fmode os.FileMode, tmpl *template.Template, data *c
|
|||||||
lic = append(line, lic...)
|
lic = append(line, lic...)
|
||||||
}
|
}
|
||||||
b = append(lic, b...)
|
b = append(lic, b...)
|
||||||
return ioutil.WriteFile(path, b, fmode)
|
return true, ioutil.WriteFile(path, b, fmode)
|
||||||
}
|
}
|
||||||
|
|
||||||
func fileExtension(name string) string {
|
func fileExtension(name string) string {
|
||||||
|
|||||||
Reference in New Issue
Block a user