Codebase list golang-github-gobuffalo-packr / b6bd3213-a4b0-49f9-b282-41a9a0a1a00a/main builder / clean.go
b6bd3213-a4b0-49f9-b282-41a9a0a1a00a/main

Tree @b6bd3213-a4b0-49f9-b282-41a9a0a1a00a/main (Download .tar.gz)

clean.go @b6bd3213-a4b0-49f9-b282-41a9a0a1a00a/mainraw · history · blame

package builder

import (
	"os"
	"path/filepath"

	"github.com/gobuffalo/packr/v2/jam/parser"
	"github.com/gobuffalo/packr/v2/jam/store"
)

// Clean up an *-packr.go files
func Clean(root string) error {
	defer func() {
		packd := filepath.Join(root, "packrd")
		os.RemoveAll(packd)
	}()

	p, err := parser.NewFromRoots([]string{root}, &parser.RootsOptions{
		IgnoreImports: true,
	})
	if err != nil {
		return err
	}

	boxes, err := p.Run()
	if err != nil {
		return err
	}

	d := store.NewDisk("", "")
	for _, box := range boxes {
		if err := d.Clean(box); err != nil {
			return err
		}
	}
	return nil
}