Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Phodal
Coca
提交
12371e0b
C
Coca
项目概览
Phodal
/
Coca
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
Coca
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
12371e0b
编写于
1月 04, 2020
作者:
P
Phodal Huang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: [dep] init analysis
上级
9a8ab9a8
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
115 addition
and
0 deletion
+115
-0
README.md
README.md
+2
-0
_fixtures/deps/build.gradle
_fixtures/deps/build.gradle
+63
-0
core/context/deps/dep_app.go
core/context/deps/dep_app.go
+24
-0
core/context/deps/dep_app_test.go
core/context/deps/dep_app_test.go
+19
-0
core/infrastructure/ast/groovy/GroovyIdentifierListener.go
core/infrastructure/ast/groovy/GroovyIdentifierListener.go
+7
-0
未找到文件。
README.md
浏览文件 @
12371e0b
...
...
@@ -514,6 +514,8 @@ results
-
[ ] plugin support
-
[ ] 3rd-party Dependence Analysis
-
[ ] analysis XML or Groovy Scripts
-
[ ] Groovy Support
-
[ ] migrate to Golang Styles
Documents Todo:
...
...
_fixtures/deps/build.gradle
浏览文件 @
12371e0b
buildscript
{
repositories
{
mavenCentral
()
jcenter
()
}
}
plugins
{
id
'java'
id
'org.springframework.boot'
version
'2.2.2.RELEASE'
}
apply
plugin:
'io.spring.dependency-management'
group
=
'study.huhao.demo'
version
=
'1.0.0'
sourceCompatibility
=
JavaVersion
.
VERSION_11
targetCompatibility
=
JavaVersion
.
VERSION_11
configurations
{
developmentOnly
runtimeClasspath
{
extendsFrom
developmentOnly
}
compileOnly
{
extendsFrom
annotationProcessor
}
}
repositories
{
mavenCentral
()
jcenter
()
}
dependencies
{
implementation
'org.springframework.boot:spring-boot-starter-web'
developmentOnly
'org.springframework.boot:spring-boot-devtools'
testImplementation
(
'org.springframework.boot:spring-boot-starter-test'
)
{
exclude
group:
'org.junit.vintage'
,
module:
'junit-vintage-engine'
exclude
module:
'junit'
}
testRuntimeOnly
'org.junit.platform:junit-platform-launcher:1.5.2'
compileOnly
'org.projectlombok:lombok'
annotationProcessor
'org.projectlombok:lombok'
runtimeOnly
'mysql:mysql-connector-java'
implementation
'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.1'
testImplementation
'org.mybatis.spring.boot:mybatis-spring-boot-starter-test:2.1.1'
implementation
'org.flywaydb:flyway-core'
testImplementation
'org.flywaydb.flyway-test-extensions:flyway-spring-test:6.0.0'
testImplementation
'io.rest-assured:rest-assured'
testImplementation
'com.tngtech.archunit:archunit-junit5-api:0.12.0'
testRuntimeOnly
'com.tngtech.archunit:archunit-junit5-engine:0.12.0'
}
test
{
useJUnitPlatform
()
}
core/context/deps/dep_app.go
浏览文件 @
12371e0b
package
deps
import
(
"github.com/antlr/antlr4/runtime/Go/antlr"
"github.com/phodal/coca/core/infrastructure/ast/groovy"
.
"github.com/phodal/coca/languages/groovy"
)
func
Analysis
(
str
string
)
{
parser
:=
ProcessGroovyString
(
str
)
context
:=
parser
.
CompilationUnit
()
listener
:=
new
(
groovy
.
GroovyIdentifierListener
)
antlr
.
NewParseTreeWalker
()
.
Walk
(
listener
,
context
)
}
func
ProcessGroovyString
(
code
string
)
*
GroovyParser
{
is
:=
antlr
.
NewInputStream
(
code
)
lexer
:=
NewGroovyLexer
(
is
)
stream
:=
antlr
.
NewCommonTokenStream
(
lexer
,
0
)
parser
:=
NewGroovyParser
(
stream
)
return
parser
}
core/context/deps/dep_app_test.go
浏览文件 @
12371e0b
package
deps
import
(
.
"github.com/onsi/gomega"
"testing"
)
func
TestAnalysis
(
t
*
testing
.
T
)
{
g
:=
NewGomegaWithT
(
t
)
pluginsStr
:=
`plugins {
id 'java'
id 'org.springframework.boot' version '2.2.2.RELEASE'
}
`
Analysis
(
pluginsStr
)
g
.
Expect
(
true
)
.
To
(
Equal
(
true
))
}
core/infrastructure/ast/groovy/GroovyIdentifierListener.go
浏览文件 @
12371e0b
package
groovy
import
parser
"github.com/phodal/coca/languages/groovy"
type
GroovyIdentifierListener
struct
{
parser
.
BaseGroovyParserListener
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录