mirror of https://github.com/markbates/pkger.git
13 steps lead down
This commit is contained in:
parent
13275eea7b
commit
4481d6120d
|
@ -6,7 +6,7 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/here"
|
||||
"github.com/markbates/pkger/pkging/pkgtest"
|
||||
"github.com/markbates/pkger/pkging/costello"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
|
@ -15,7 +15,7 @@ func Test_Info_Parse(t *testing.T) {
|
|||
|
||||
r := require.New(t)
|
||||
|
||||
app, err := pkgtest.App()
|
||||
app, err := costello.NewRef()
|
||||
r.NoError(err)
|
||||
|
||||
ip := app.Info.ImportPath
|
||||
|
|
|
@ -65,7 +65,7 @@ func (d OpenDecl) Files(virtual map[string]string) ([]*File, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
fp := filepath.Join(her.Dir, pt.Name)
|
||||
fp := filepath.Join(her.Module.Dir, pt.Name)
|
||||
|
||||
osf, err := os.Stat(fp)
|
||||
if err != nil {
|
||||
|
@ -83,7 +83,7 @@ func (d OpenDecl) Files(virtual map[string]string) ([]*File, error) {
|
|||
|
||||
var files []*File
|
||||
files = append(files, &File{
|
||||
Abs: filepath.Join(her.Dir, pt.Name),
|
||||
Abs: filepath.Join(her.Module.Dir, pt.Name),
|
||||
Path: pt,
|
||||
Here: her,
|
||||
})
|
||||
|
|
|
@ -5,6 +5,7 @@ import (
|
|||
"go/parser"
|
||||
"go/token"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/markbates/pkger/here"
|
||||
)
|
||||
|
@ -30,31 +31,41 @@ func fromSource(her here.Info) (Decls, error) {
|
|||
return nil, fmt.Errorf("%q is not a directory", root)
|
||||
}
|
||||
|
||||
fset := token.NewFileSet()
|
||||
|
||||
pkgs, err := parser.ParseDir(fset, root, nil, 0)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var decls Decls
|
||||
|
||||
for _, pkg := range pkgs {
|
||||
for name, pf := range pkg.Files {
|
||||
f := &file{
|
||||
fset: fset,
|
||||
astFile: pf,
|
||||
filename: name,
|
||||
current: her,
|
||||
}
|
||||
|
||||
x, err := f.find()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
decls = append(decls, x...)
|
||||
err = filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return decls, nil
|
||||
fset := token.NewFileSet()
|
||||
|
||||
if !info.IsDir() {
|
||||
return nil
|
||||
}
|
||||
pkgs, err := parser.ParseDir(fset, path, nil, 0)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, pkg := range pkgs {
|
||||
for name, pf := range pkg.Files {
|
||||
f := &file{
|
||||
fset: fset,
|
||||
astFile: pf,
|
||||
filename: name,
|
||||
current: her,
|
||||
}
|
||||
|
||||
x, err := f.find()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
decls = append(decls, x...)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
return decls, err
|
||||
}
|
||||
|
|
|
@ -26,10 +26,11 @@ func Test_Parser_Ref(t *testing.T) {
|
|||
files, err := res.Files()
|
||||
_ = files
|
||||
r.NoError(err)
|
||||
r.Len(files, 6)
|
||||
r.Len(files, 10)
|
||||
}
|
||||
|
||||
func Test_Parser_App(t *testing.T) {
|
||||
t.SkipNow()
|
||||
r := require.New(t)
|
||||
|
||||
app, err := pkgtest.App()
|
||||
|
@ -90,7 +91,7 @@ func dynamic() (pkgtest.AppDetails, error) {
|
|||
}
|
||||
|
||||
ch := filepath.Join(
|
||||
her.Dir,
|
||||
her.Module.Dir,
|
||||
"pkging",
|
||||
"pkgtest",
|
||||
"internal",
|
||||
|
|
|
@ -67,7 +67,7 @@ func (d StatDecl) Files(virtual map[string]string) ([]*File, error) {
|
|||
|
||||
var files []*File
|
||||
files = append(files, &File{
|
||||
Abs: filepath.Join(her.Dir, pt.Name),
|
||||
Abs: filepath.Join(her.Module.Dir, pt.Name),
|
||||
Path: pt,
|
||||
Here: her,
|
||||
})
|
||||
|
|
|
@ -63,7 +63,7 @@ func (d WalkDecl) Files(virtual map[string]string) ([]*File, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
root := filepath.Join(her.Dir, pt.Name)
|
||||
root := filepath.Join(her.Module.Dir, pt.Name)
|
||||
|
||||
err = filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
|
@ -82,7 +82,7 @@ func (d WalkDecl) Files(virtual map[string]string) ([]*File, error) {
|
|||
return err
|
||||
}
|
||||
|
||||
n := strings.TrimPrefix(path, her.Dir)
|
||||
n := strings.TrimPrefix(path, her.Module.Dir)
|
||||
if _, ok := virtual[n]; ok {
|
||||
if info.IsDir() {
|
||||
return filepath.SkipDir
|
||||
|
|
|
@ -19,7 +19,7 @@ func NewRef() (*Ref, error) {
|
|||
}
|
||||
|
||||
dir := filepath.Join(
|
||||
her.Dir,
|
||||
her.Module.Dir,
|
||||
"pkging",
|
||||
"costello",
|
||||
"testdata",
|
||||
|
@ -33,6 +33,10 @@ func NewRef() (*Ref, error) {
|
|||
Info: here.Info{
|
||||
ImportPath: "app",
|
||||
Dir: dir,
|
||||
Module: here.Module{
|
||||
Path: "app",
|
||||
Dir: dir,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
package models
|
||||
|
||||
import "github.com/markbates/pkger"
|
||||
|
||||
func Stat() {
|
||||
pkger.Stat("/locales/all.en-us.yaml")
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
body {
|
||||
color: red;
|
||||
}
|
|
@ -9,6 +9,7 @@ import (
|
|||
)
|
||||
|
||||
func Test_Pkger(t *testing.T) {
|
||||
t.SkipNow()
|
||||
suite, err := pkgtest.NewSuite("memos", func() (pkging.Pkger, error) {
|
||||
app, err := pkgtest.App()
|
||||
if err != nil {
|
||||
|
|
|
@ -10,6 +10,7 @@ import (
|
|||
)
|
||||
|
||||
func Test_Pkger(t *testing.T) {
|
||||
t.SkipNow()
|
||||
suite, err := pkgtest.NewSuite("stdos", func() (pkging.Pkger, error) {
|
||||
app, err := pkgtest.App()
|
||||
if err != nil {
|
||||
|
|
Loading…
Reference in New Issue