forked from mirror/pkger
clown strike
This commit is contained in:
parent
b28e301e65
commit
158a7644ca
6
apply.go
6
apply.go
|
@ -1,16 +1,20 @@
|
||||||
package pkger
|
package pkger
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/markbates/pkger/pkging"
|
"github.com/markbates/pkger/pkging"
|
||||||
|
"github.com/markbates/pkger/pkging/pkgutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
var current pkging.Pkger
|
var current pkging.Pkger
|
||||||
var gil = &sync.RWMutex{}
|
var gil = &sync.RWMutex{}
|
||||||
|
|
||||||
func Apply(pkg pkging.Pkger, err error) error {
|
func Apply(pkg pkging.Pkger, err error) error {
|
||||||
if err != nil {
|
if err := pkgutil.Dump(os.Stdout, pkg); err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
gil.Lock()
|
gil.Lock()
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
package pkgutil
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"io"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"github.com/markbates/pkger/here"
|
||||||
|
"github.com/markbates/pkger/pkging"
|
||||||
|
)
|
||||||
|
|
||||||
|
func Dump(w io.Writer, pkg pkging.Pkger) error {
|
||||||
|
d := struct {
|
||||||
|
Info here.Info
|
||||||
|
Paths map[string]os.FileInfo
|
||||||
|
}{
|
||||||
|
Paths: map[string]os.FileInfo{},
|
||||||
|
}
|
||||||
|
|
||||||
|
info, err := pkg.Current()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
d.Info = info
|
||||||
|
|
||||||
|
err = pkg.Walk("/", func(path string, info os.FileInfo, err error) error {
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
d.Paths[path] = info
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
enc := json.NewEncoder(w)
|
||||||
|
enc.SetIndent("", " ")
|
||||||
|
|
||||||
|
if err := enc.Encode(d); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
Loading…
Reference in New Issue