refactor: extract get files filter

上级 95a7b8f1
......@@ -10,44 +10,26 @@ import (
"strings"
)
func GetJavaFiles(codeDir string) []string {
files := make([]string, 0)
gitIgnore, err := ignore.CompileIgnoreFile(".gitignore")
if err != nil {
//fmt.Println(err)
}
fi, err := os.Stat(codeDir)
if err != nil {
fmt.Println(err)
return nil
}
if fi.Mode().IsRegular() {
files = append(files, codeDir)
return files
}
var javaCodeFileFilter = func(path string) bool {
return strings.HasSuffix(path, ".java") && !strings.Contains(path, "Test.java") && !strings.Contains(path, "Tests.java")
}
_ = filepath.Walk(codeDir, func(path string, fi os.FileInfo, err error) error {
if gitIgnore != nil {
if gitIgnore.MatchesPath(path) {
return nil
}
var javaTestFileFilter = func(path string) bool {
if strings.Contains(path, "Test.java") || strings.Contains(path, "Tests.java") {
return true
}
return false
}
if strings.HasSuffix(path, ".java") && !strings.Contains(path, "Test.java") && !strings.Contains(path, "Tests.java") {
files = append(files, path)
}
return nil
})
return files
func GetJavaFiles(codeDir string) []string {
return GetFilesWithFilter(codeDir, javaCodeFileFilter)
}
func GetJavaTestFiles(codeDir string) []string {
func GetFilesWithFilter(codeDir string, filter func(path string) bool) []string {
files := make([]string, 0)
gitIgnore, err := ignore.CompileIgnoreFile(".gitignore")
if err != nil {
fmt.Println(err)
//fmt.Println(err)
}
fi, err := os.Stat(codeDir)
......@@ -68,7 +50,7 @@ func GetJavaTestFiles(codeDir string) []string {
}
}
if strings.Contains(path, "Test.java") || strings.Contains(path, "Tests.java") {
if filter(path) {
files = append(files, path)
}
return nil
......@@ -76,6 +58,10 @@ func GetJavaTestFiles(codeDir string) []string {
return files
}
func GetJavaTestFiles(codeDir string) []string {
return GetFilesWithFilter(codeDir, javaTestFileFilter)
}
func ProcessFile(path string) *JavaParser {
is, _ := antlr.NewFileStream(path)
lexer := NewJavaLexer(is)
......
......@@ -21,4 +21,3 @@ func (d *DepApp) BuildImportMap(deps []domain.JClassNode) map[string]domain.JImp
return impMap
}
......@@ -78,3 +78,16 @@ func Test_ShouldCountDeps_WhenHadClassNodes(t *testing.T) {
g.Expect(len(importMap)).To(Equal(25))
}
//func Test_ListUnusedImportForOneGradleFile(t *testing.T) {
// g := NewGomegaWithT(t)
//
// codePath := "../../../_fixtures/deps/maven_sample/"
// classNodes, _, _ := cocatest.BuildAnalysisDeps(codePath)
//
// depApp := NewDepApp()
// importMap := depApp.BuildImportMap(classNodes)
//
// fmt.Println(importMap)
// g.Expect(len(importMap)).To(Equal(2))
//}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册