INNER CODE UNIT · Go
writeJSON
Clever/microplane · cmd/helpers.go:24
func writeJSON(obj interface{}, path string) error {
b, err := json.MarshalIndent(obj, "", " ")
if err != nil {
return err
}
return ioutil.WriteFile(path, b, 0644)
}
func parallelize(repos []lib.Repo, f func(lib.Repo, context.Context) error) error {
return parallelizeLimited(repos, f, 10)
}
// parallelize take a list of repos and applies a function (clone, plan, ...) to them
func parallelizeLimited(repos []lib.Repo, f func(lib.Repo, context.Context) error, parallelismLimit int64) error {
ctx := context.Background()
var eg errgroup.Group
parallelLimit := semaphore.NewWeighted(parallelismLimit)
for _, r := range repos {