You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ma...@apache.org on 2016/09/07 21:05:04 UTC
incubator-mynewt-newt git commit: MYNEWT-309;
change project.yml config for directories to exclude to be
project.ignore_dirs. Allow full path names, instead of just top-level
directory.
Repository: incubator-mynewt-newt
Updated Branches:
refs/heads/develop 75c540e6b -> e287dae75
MYNEWT-309; change project.yml config for directories to exclude
to be project.ignore_dirs. Allow full path names, instead of just top-level
directory.
Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/commit/e287dae7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/tree/e287dae7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/diff/e287dae7
Branch: refs/heads/develop
Commit: e287dae75c602378affe7c7c6df82d71f62bb743
Parents: 75c540e
Author: Marko Kiiskila <ma...@runtime.io>
Authored: Wed Sep 7 14:00:27 2016 -0700
Committer: Marko Kiiskila <ma...@runtime.io>
Committed: Wed Sep 7 14:00:27 2016 -0700
----------------------------------------------------------------------
newt/pkg/localpackage.go | 39 +++++++++++++++------------------------
newt/project/project.go | 36 ++++++------------------------------
newt/repo/repo.go | 26 +++++++++++++++++++++++++-
3 files changed, 46 insertions(+), 55 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/e287dae7/newt/pkg/localpackage.go
----------------------------------------------------------------------
diff --git a/newt/pkg/localpackage.go b/newt/pkg/localpackage.go
index 5f3b115..0e73d8d 100644
--- a/newt/pkg/localpackage.go
+++ b/newt/pkg/localpackage.go
@@ -371,32 +371,27 @@ func ReadLocalPackageRecursive(repo *repo.Repo,
pkgList map[string]interfaces.PackageInterface, basePath string,
pkgName string) error {
- dirList, err := ioutil.ReadDir(basePath + "/" + pkgName)
+ dirList, err := repo.FilteredSearchList(pkgName)
if err != nil {
return util.NewNewtError(err.Error())
}
- for _, dirEnt := range dirList {
- if !dirEnt.IsDir() {
- continue
- }
-
- name := dirEnt.Name()
+ for _, name := range dirList {
if LocalPackageSpecialName(name) || strings.HasPrefix(name, ".") {
continue
}
if err := ReadLocalPackageRecursive(repo, pkgList, basePath,
- pkgName+"/"+name); err != nil {
+ filepath.Join(pkgName, name)); err != nil {
return err
}
}
- if util.NodeNotExist(basePath + "/" + pkgName + "/" + PACKAGE_FILE_NAME) {
+ if util.NodeNotExist(filepath.Join(basePath, pkgName, PACKAGE_FILE_NAME)) {
return nil
}
- pkg, err := LoadLocalPackage(repo, basePath+"/"+pkgName)
+ pkg, err := LoadLocalPackage(repo, filepath.Join(basePath, pkgName))
if err != nil {
return err
}
@@ -413,11 +408,16 @@ func ReadLocalPackageRecursive(repo *repo.Repo,
return nil
}
-func ReadLocalPackages(repo *repo.Repo, basePath string,
- searchPaths []string) (*map[string]interfaces.PackageInterface, error) {
+func ReadLocalPackages(repo *repo.Repo,
+ basePath string) (*map[string]interfaces.PackageInterface, error) {
pkgList := map[string]interfaces.PackageInterface{}
+ searchPaths, err := repo.FilteredSearchList("")
+ if err != nil {
+ return nil, err
+ }
+
for _, path := range searchPaths {
pkgDir := basePath + "/" + path
@@ -425,23 +425,14 @@ func ReadLocalPackages(repo *repo.Repo, basePath string,
continue
}
- dirList, err := ioutil.ReadDir(pkgDir)
+ dirList, err := repo.FilteredSearchList(path)
if err != nil {
return nil, util.NewNewtError(err.Error())
}
for _, subDir := range dirList {
- name := subDir.Name()
- if filepath.HasPrefix(name, ".") || filepath.HasPrefix(name, "..") {
- continue
- }
-
- if !subDir.IsDir() {
- continue
- }
-
- if err := ReadLocalPackageRecursive(repo, pkgList, pkgDir,
- name); err != nil {
+ if err := ReadLocalPackageRecursive(repo, pkgList, basePath,
+ filepath.Join(path, subDir)); err != nil {
return nil, util.NewNewtError(err.Error())
}
}
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/e287dae7/newt/project/project.go
----------------------------------------------------------------------
diff --git a/newt/project/project.go b/newt/project/project.go
index fc6fb00..78585af 100644
--- a/newt/project/project.go
+++ b/newt/project/project.go
@@ -22,7 +22,6 @@ package project
import (
"bufio"
"fmt"
- "io/ioutil"
"os"
"path"
"strings"
@@ -387,6 +386,10 @@ func (proj *Project) loadRepo(rname string, v *viper.Viper) error {
return err
}
+ for _, ignDir := range ignoreSearchDirs {
+ r.AddIgnoreDir(ignDir)
+ }
+
rd, err := repo.NewRepoDependency(rname, rversreq)
if err != nil {
return err
@@ -439,7 +442,7 @@ func (proj *Project) loadConfig() error {
}
}
- ignoreDirs := v.GetStringSlice("project.ignore_top_dirs")
+ ignoreDirs := v.GetStringSlice("project.ignore_dirs")
for _, ignDir := range ignoreDirs {
repoName, dirName, err := newtutil.ParsePackageString(ignDir)
if err != nil {
@@ -508,29 +511,6 @@ func findProjectDir(dir string) (string, error) {
return dir, nil
}
-func (proj *Project) repoDirList(repo *repo.Repo) ([]string, error) {
- list := []string{}
-
- dirList, err := ioutil.ReadDir(repo.Path())
- if err != nil {
- return list, util.NewNewtError(err.Error())
- }
- for _, dirEnt := range dirList {
- if !dirEnt.IsDir() {
- continue
- }
- name := dirEnt.Name()
- if strings.HasPrefix(name, ".") {
- continue
- }
- if repo.IgnoreDir(name) {
- continue
- }
- list = append(list, name)
- }
- return list, nil
-}
-
func (proj *Project) loadPackageList() error {
proj.packages = interfaces.PackageList{}
@@ -538,12 +518,8 @@ func (proj *Project) loadPackageList() error {
// packages / store them in the project package list.
repos := proj.Repos()
for name, repo := range repos {
- searchDirs, err := proj.repoDirList(repo)
- if err != nil {
- continue
- }
log.Debugf("Loading packages in repository %s", repo.Path())
- list, err := pkg.ReadLocalPackages(repo, repo.Path(), searchDirs)
+ list, err := pkg.ReadLocalPackages(repo, repo.Path())
if err != nil {
return err
}
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/e287dae7/newt/repo/repo.go
----------------------------------------------------------------------
diff --git a/newt/repo/repo.go b/newt/repo/repo.go
index 4994f85..8ac6a0e 100644
--- a/newt/repo/repo.go
+++ b/newt/repo/repo.go
@@ -21,6 +21,7 @@ package repo
import (
"fmt"
+ "io/ioutil"
"os"
"path/filepath"
"strings"
@@ -77,7 +78,7 @@ func (r *Repo) AddIgnoreDir(ignDir string) {
r.ignDirs = append(r.ignDirs, ignDir)
}
-func (r *Repo) IgnoreDir(dir string) bool {
+func (r *Repo) ignoreDir(dir string) bool {
for _, idir := range r.ignDirs {
if idir == dir {
return true
@@ -86,6 +87,29 @@ func (r *Repo) IgnoreDir(dir string) bool {
return false
}
+func (repo *Repo) FilteredSearchList(curPath string) ([]string, error) {
+ list := []string{}
+
+ dirList, err := ioutil.ReadDir(filepath.Join(repo.Path(), curPath))
+ if err != nil {
+ return list, util.NewNewtError(err.Error())
+ }
+ for _, dirEnt := range dirList {
+ if !dirEnt.IsDir() {
+ continue
+ }
+ name := dirEnt.Name()
+ if strings.HasPrefix(name, ".") {
+ continue
+ }
+ if repo.ignoreDir(filepath.Join(curPath, name)) {
+ continue
+ }
+ list = append(list, name)
+ }
+ return list, nil
+}
+
func NewRepoDependency(rname string, verstr string) (*RepoDependency, error) {
var err error