README.md 1.5 KB
Newer Older
P
Phodal HUANG 已提交
1
# Coca
P
Phodal HUANG 已提交
2

P
Phodal Huang 已提交
3 4 5 6 7 8 9 10
## Usage

install 

```
go get https://github.com/phodal/coca
```

P
Phodal Huang 已提交
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
help:

```
Usage:
  coca [command]

Available Commands:
  analysis    analysis package
  api         scan api
  call        call graph api
  concept     concept api
  help        Help about any command
  refactor    auto refactor code

```

P
Phodal Huang 已提交
27
### Analysis
P
Phodal Huang 已提交
28 29 30 31 32

```
coca analysis -p [PATH]
```

P
Phodal Huang 已提交
33 34 35 36 37 38 39 40 41 42 43 44
### Find Bad Smells

```
coca bs -p examples/api -s type
```

### Code Line Count

```
coca cloc
```

P
Phodal Huang 已提交
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
### Build Deps Tree

```
coca call -c com.phodal.pholedge.book.BookController.createBook -d deps.json -r com.phodal.pholedge.
```

![Call Demo](docs/sample/call_demo.svg)

### Identify Spring API

```
coca api -p examples/api -d deps.json
```

### Refactor

support: 

 - rename
 - move
 - remove unused import
 - remove unused class
P
Phodal Huang 已提交
67 68 69 70 71 72

```
coca refactor -R rename.coca -D deps.json -p src/main
coca refactor -m move.config -p .
```

P
Phodal HUANG 已提交
73 74
## Dev

P
Phodal Huang 已提交
75
Install Go
P
Phodal HUANG 已提交
76 77 78 79 80

```bash
brew install go
```

P
Phodal Huang 已提交
81
Env
P
Phodal HUANG 已提交
82 83 84 85 86 87 88

```bash
export GOROOT=/usr/local/opt/go/libexec
export GOPATH=$HOME/.go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
```

P
Phodal Huang 已提交
89
clone
P
Phodal HUANG 已提交
90 91

```
P
Phodal Huang 已提交
92
go get https://github.com/phodal/coca
P
Phodal HUANG 已提交
93 94
```

P
Phodal Huang 已提交
95
Test Frameworks
P
Phodal HUANG 已提交
96 97 98 99

```
go get github.com/onsi/ginkgo
go get github.com/onsi/gomega
P
Phodal HUANG 已提交
100 101
```

P
Phodal HUANG 已提交
102
### Refs
P
Phodal HUANG 已提交
103

P
Phodal Huang 已提交
104
[https://github.com/MontFerret/ferret](https://github.com/MontFerret/ferret)
P
Phodal Huang 已提交
105 106 107 108 109 110 111

License
---

[![Phodal's Idea](http://brand.phodal.com/shields/idea-small.svg)](http://ideas.phodal.com/)

@ 2019 A [Phodal Huang](https://www.phodal.com)'s [Idea](http://github.com/phodal/ideas).  This code is distributed under the MIT license. See `LICENSE` in this directory.