Categorygithub.com/Maginaaa/go-scanner
module
0.0.22
Repository: https://github.com/maginaaa/go-scanner.git
Documentation: pkg.go.dev

# README

go-scanner

目前仅支持go1.18及以下的项目扫描

基础使用方式如下: ProjectName填写项目名称,RootPath填写项目存放路径(不含项目文件) 例如: /etc/workspace/go-scanner

import "github.com/Maginaaa/go-scanner/scanner"

s := scanner.Scanner{
    ProjectName:      "go-scanner", // 项目名,同等于go.mod内的module
    RootPath:         "/etc/workspace",
}
s.ServerScanner()

s.NodeCollections.LinkCollection中,有完整的节点信息与调用信息,所含信息如图 img.png

工具内置了neo4j的写入方法,如需使用

import "github.com/Maginaaa/go-scanner/neo4j"

neo4j.BatchWrite(s.NodeCollection.ToCypherList())
neo4j.BatchWrite(s.LinkCollection.ToCypherList())

如果文件名与项目名不一致,需要同时传入ProjectName与ProjectPath, 例如:

s := scanner.Scanner{
    ProjectName:      "github.com/Maginaaa/go-scanner",
    ProjectPath:      "go-scanner",    // 文件名
    RootPath:         "/etc/workspace",
}
s.ServerScanner()

如果是微服务项目,需要传入服务路径, 例如当前项目有两个微服务,分别为/etc/workspace/go-scanner/serverA/etc/workspace/go-scanner/serverB 扫描服务A的方式如下:

s := scanner.Scanner{
    ProjectName:      "go-scanner",    // 文件名
    MicroServerPath:  "serverA"  // 微服务路径
    RootPath:         "/etc/workspace",
}
s.ServerScanner()

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author