区块链开发(三):区块链工程逆向:golang源码类关系解析查看

系统:centOS7, 内核:4.18,工程:fabric1.1,提前设置好开发环境变量

1、goland IDE安装plantUML插件:

    工具栏File-->settings-->plugins, 到该界面下方点击Browse Repositories,搜plantUML,直接安装;

    安装依赖插件:搜Action Tracker,点击直接安装,重启goland

2、安装图形化输出插件:终端下执行yum install graphviz  【Ubuntu下:apt-get install graphviz】

3、安装并执行编译库:终端下执行 

     go get git.oschina.net/jscode/go-package-plantuml

     go build git.oschina.net/jscode/go-package-plantuml

     在当前目录下生成go-package-plantuml可执行文件【当前目录最好切换到fabric工程根目录】

4、编译执行某目录下类源码:

      参数说明:--codedir 要分析的代码目录

                       --gopath GOPATH环境变量目录

                       --outputfile 分析结果保存到该文件

                       --ignoredir 不需要进行代码分析的目录(可以不用设置)

例:编译执行fabric工程下gossip/election的类

命令:

./go-package-plantuml --codedir /opt/gopath/src/github.com/hyperledger/fabric/gossip/election \

--gopath /opt/gopath \

--outputfile /tmp/result \

--ignoredir /opt/gopath/src/github/hyperledger/fabric/vendor

 

5、输出类图:两种方式【基于java环境】

     (1)goland工程下新建一个election.uml, 将生成的uml.txt内容拷贝覆盖,点击工具按钮输出png

     (2)下载plantuml.jar, 终端下:java -jar plantuml.jar /tmp/uml.txt  【下载地址:https://plugins.jetbrains.com/plugin/7017-plantuml-integration】

 

附:goland也可用其它插件进行反向工程输出,如simpleUML等,pycharm、webstorm和ideaU java集成了diagram组件输出类的xml图,goland也可安装此插件。

 

 

区块链开发(三):区块链工程逆向:golang源码类关系解析查看_第1张图片

 

你可能感兴趣的:(区块链)