13 steps lead down

This commit is contained in:
Mark Bates 2019-10-30 11:31:39 -04:00
parent 13275eea7b
commit 4481d6120d
11 changed files with 61 additions and 33 deletions

View File

@ -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

View File

@ -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,
})

View File

@ -5,6 +5,7 @@ import (
"go/parser"
"go/token"
"os"
"path/filepath"
"github.com/markbates/pkger/here"
)
@ -30,14 +31,22 @@ func fromSource(her here.Info) (Decls, error) {
return nil, fmt.Errorf("%q is not a directory", root)
}
fset := token.NewFileSet()
var decls Decls
pkgs, err := parser.ParseDir(fset, root, nil, 0)
err = filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
if err != nil {
return nil, err
return err
}
var decls Decls
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 {
@ -50,11 +59,13 @@ func fromSource(her here.Info) (Decls, error) {
x, err := f.find()
if err != nil {
return nil, err
return err
}
decls = append(decls, x...)
}
}
return nil
})
return decls, nil
return decls, err
}

View File

@ -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",

View File

@ -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,
})

View File

@ -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

View File

@ -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,
},
},
}

View File

@ -0,0 +1,7 @@
package models
import "github.com/markbates/pkger"
func Stat() {
pkger.Stat("/locales/all.en-us.yaml")
}

View File

@ -0,0 +1,3 @@
body {
color: red;
}

View File

@ -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 {

View File

@ -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 {