package main import ( "encoding/json" "flag" "fmt" "os" "gitea.ckfah.com/go-script/file" "gitea.ckfah.com/go-script/logger" ) var ( rp string ) type FilterS struct { Filter []string `json:"filter"` } func main() { flag.StringVar(&rp, "p", "", "") flag.Parse() if rp == "" { logger.FatalF("rp path is nil") } path, err := file.GetFilePath(".") if err != nil { logger.FatalF("rp path not found, err=%s", err) } filePath, err := file.GetFilePath("filter-config.json") if err != nil { logger.FatalF("filter-config.json not found, err=%s", err) } configF, err := os.Open(filePath) if err != nil { logger.FatalF("open file err,err=%s", err) } defer configF.Close() filter := new(FilterS) err = json.NewDecoder(configF).Decode(filter) if err != nil { logger.FatalF("json config decode err,err=%s", err) } if filter.Filter == nil || len(filter.Filter) == 0 { success() } err = file.ReplacePackageV2(path, filter.Filter, []string{"vendor", ".git", "bin", ".DS_Store", "LICENSE"}) if err != nil { logger.FatalF("rp err,err=%s", err) } success() } func success() { fmt.Println("replace all success") os.Exit(-1) }