Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
adaptation-master
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
912协同工作系统
项目监控管理工具
adaptation-master
Commits
4030a7fa
提交
4030a7fa
authored
1月 15, 2020
作者:
马晨俊
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
mcj:更新搜索依赖功能
上级
d099740b
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
145 行增加
和
23 行删除
+145
-23
VueBrowserslist.java
...va/com/zjty/adaptationmaster/adaptor/VueBrowserslist.java
+20
-0
Report.java
...java/com/zjty/adaptationmaster/adaptor/entity/Report.java
+3
-1
VueDep.java
...java/com/zjty/adaptationmaster/adaptor/entity/VueDep.java
+30
-0
PomDependency.java
...r/adaptor/entity/pomEntity/SecondFloor/PomDependency.java
+6
-0
InspectServiceImpl.java
...tationmaster/adaptor/service/Impl/InspectServiceImpl.java
+24
-3
AnalysisPom.java
...ain/java/com/zjty/adaptationmaster/utils/AnalysisPom.java
+2
-0
FileUtil.java
src/main/java/com/zjty/adaptationmaster/utils/FileUtil.java
+35
-19
Inspector.java
src/main/java/com/zjty/adaptationmaster/utils/Inspector.java
+25
-0
没有找到文件。
src/main/java/com/zjty/adaptationmaster/adaptor/VueBrowserslist.java
0 → 100644
浏览文件 @
4030a7fa
package
com
.
zjty
.
adaptationmaster
.
adaptor
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author Mcj
* @date 2020-01-15 13:18
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
VueBrowserslist
{
List
<
String
>
production
=
new
ArrayList
<>();
List
<
String
>
development
=
new
ArrayList
<>();
}
src/main/java/com/zjty/adaptationmaster/adaptor/entity/Report.java
浏览文件 @
4030a7fa
...
...
@@ -22,8 +22,10 @@ public class Report {
private
DatabaseType
databaseType
;
//数据库类型
private
int
fileNum
;
private
long
lineNum
;
//取名,后端依赖
private
List
<
PomDependency
>
dependencies
;
//取名。前端依赖
private
List
<
PomDependency
>
dependencies1
;
@Transient
private
ProjectPom
projectPom
;
...
...
src/main/java/com/zjty/adaptationmaster/adaptor/entity/VueDep.java
0 → 100644
浏览文件 @
4030a7fa
package
com
.
zjty
.
adaptationmaster
.
adaptor
.
entity
;
import
com.fasterxml.jackson.annotation.JsonSetter
;
import
com.zjty.adaptationmaster.adaptor.VueBrowserslist
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author Mcj
* @date 2020-01-15 11:18
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
VueDep
{
String
name
;
String
version
;
@JsonSetter
(
"private"
)
String
vuePrivate
;
Map
<
String
,
String
>
dependencies
=
new
HashMap
<>();
Map
<
String
,
String
>
scripts
=
new
HashMap
<>();
Map
<
String
,
String
>
eslintConfig
=
new
HashMap
<>();
VueBrowserslist
browserslist
;
}
src/main/java/com/zjty/adaptationmaster/adaptor/entity/pomEntity/SecondFloor/PomDependency.java
浏览文件 @
4030a7fa
...
...
@@ -21,6 +21,12 @@ public class PomDependency {
private
String
version
;
private
Integer
reportId
;
/**
* 1:前端依赖
* 2:后端依赖
*/
// TODO: 2020-01-15 取名
private
Integer
q
;
/*依赖类型,默认类型是jar。它通常表示依赖的文件的扩展名,但也有例外。一个类型可以被映射成另外一个扩展
名或分类器。类型经常和使用的打包方式对应,尽管这也有例外。一些类型的例子:jar,war,ejb-client和test-jar。
如果设置extensions为 true,就可以在plugin里定义新的类型。所以前面的类型的例子不完整
...
...
src/main/java/com/zjty/adaptationmaster/adaptor/service/Impl/InspectServiceImpl.java
浏览文件 @
4030a7fa
...
...
@@ -97,9 +97,11 @@ public class InspectServiceImpl implements InspectService {
reportEntity
.
setIsSeparate
(
report
.
getIsSeparate
());
reportEntity
.
setLanguage
(
report
.
getLanguage
());
reportEntity
.
setLineNum
(
report
.
getLineNum
());
reportEntity
.
setCreateTime
(
new
Date
().
getTime
());
reportEntity
.
setCreateTime
(
System
.
currentTimeMillis
());
reportEntity
.
setPackagePath
(
report
.
getPackagePath
());
List
<
Inspector
.
Warn
>
warnList
=
report
.
getWarnList
();
String
s1
=
JSON
.
toJSONString
(
warnList
);
reportEntity
.
setWarnList
(
s1
);
...
...
@@ -110,13 +112,20 @@ public class InspectServiceImpl implements InspectService {
reportEntity
.
setPackagePath
(
project
.
getCodeUrl
());
}
//入库
ReportEntity
reportEntitySave
=
reportDao
.
save
(
reportEntity
);
Project
one
=
projectDao
.
getOne
(
project
.
getId
());
List
<
PomDependency
>
dependencies
=
report
.
getDependencies
();
for
(
PomDependency
dependency
:
dependencies
)
{
dependency
.
setReportId
(
reportEntitySave
.
getId
());
}
//TODO
List
<
PomDependency
>
dependencies1
=
report
.
getDependencies1
();
for
(
PomDependency
dependency
:
dependencies1
)
{
dependency
.
setReportId
(
reportEntitySave
.
getId
());
}
pomDependencyDao
.
saveAll
(
dependencies
);
pomDependencyDao
.
saveAll
(
dependencies1
);
one
.
setReport
(
reportEntitySave
);
return
ServerResponse
.
success
(
reportEntitySave
);
}
else
{
...
...
@@ -128,10 +137,22 @@ public class InspectServiceImpl implements InspectService {
public
ServerResponse
getReportById
(
Integer
id
)
{
ReportEntity
one
=
reportDao
.
getOne
(
id
);
Report
report
=
new
Report
();
// TODO: 2020-01-15 取名
ArrayList
<
PomDependency
>
pomDependencies
=
new
ArrayList
<>();
ArrayList
<
PomDependency
>
pomDependencies1
=
new
ArrayList
<>();
List
<
PomDependency
>
allByReportIdEquals
=
pomDependencyDao
.
findAllByReportIdEquals
(
id
);
for
(
PomDependency
allByReportIdEqual
:
allByReportIdEquals
)
{
if
(
allByReportIdEqual
.
getQ
()==
1
){
pomDependencies
.
add
(
allByReportIdEqual
);
}
else
{
pomDependencies1
.
add
(
allByReportIdEqual
);
}
}
report
.
setId
(
one
.
getId
());
report
.
setDependencies
(
allByReportIdEquals
);
report
.
setDependencies
(
pomDependencies1
);
report
.
setDependencies1
(
pomDependencies
);
report
.
setDatabaseType
(
one
.
getDatabaseType
());
report
.
setLanguage
(
one
.
getLanguage
());
report
.
setPackagePath
(
one
.
getPackagePath
());
...
...
src/main/java/com/zjty/adaptationmaster/utils/AnalysisPom.java
浏览文件 @
4030a7fa
...
...
@@ -13,10 +13,12 @@ public class AnalysisPom {
PomDependency
dependency
=
new
PomDependency
();
dependency
.
setGroupId
(
"aaa.bbb"
);
dependency
.
setArtifactId
(
"ccc.ddd"
);
dependency
.
setQ
(
2
);
dependency
.
setVersion
(
"1.0.0"
);
dependencies
.
add
(
dependency
);
ProjectPom
projectPom
=
new
ProjectPom
();
projectPom
.
setDependencies
(
dependencies
);
return
projectPom
;
}
}
src/main/java/com/zjty/adaptationmaster/utils/FileUtil.java
浏览文件 @
4030a7fa
package
com
.
zjty
.
adaptationmaster
.
utils
;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.zjty.adaptationmaster.adaptor.entity.VueDep
;
import
org.apache.poi.ss.formula.functions.T
;
import
java.io.*
;
import
java.util.Enumeration
;
import
java.util.zip.ZipEntry
;
import
java.util.zip.ZipFile
;
...
...
@@ -12,10 +13,12 @@ import java.util.zip.ZipFile;
public
class
FileUtil
{
static
int
BUFFER_SIZE
=
1024
;
/**
* zip解压
* @param srcFile zip源文件
* @param destDirPath 解压后的目标文件夹
*
* @param srcFile zip源文件
* @param destDirPath 解压后的目标文件夹
* @throws RuntimeException 解压失败会抛出运行时异常
*/
public
static
void
unZip
(
File
srcFile
,
String
destDirPath
)
throws
RuntimeException
{
...
...
@@ -41,7 +44,7 @@ public class FileUtil {
// 如果是文件,就先创建一个文件,然后用io流把内容copy过去
File
targetFile
=
new
File
(
destDirPath
+
"/"
+
entry
.
getName
());
// 保证这个文件的父文件夹必须要存在
if
(!
targetFile
.
getParentFile
().
exists
())
{
if
(!
targetFile
.
getParentFile
().
exists
())
{
targetFile
.
getParentFile
().
mkdirs
();
}
targetFile
.
createNewFile
();
...
...
@@ -59,11 +62,11 @@ public class FileUtil {
}
}
long
end
=
System
.
currentTimeMillis
();
System
.
out
.
println
(
"解压完成,耗时:"
+
(
end
-
start
)
+
" ms"
);
System
.
out
.
println
(
"解压完成,耗时:"
+
(
end
-
start
)
+
" ms"
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"unzip error from ZipUtils"
,
e
);
}
finally
{
if
(
zipFile
!=
null
)
{
if
(
zipFile
!=
null
)
{
try
{
zipFile
.
close
();
}
catch
(
IOException
e
)
{
...
...
@@ -72,24 +75,25 @@ public class FileUtil {
}
}
}
private
static
void
recursiveFiles
(
String
path
){
private
static
void
recursiveFiles
(
String
path
)
{
// 创建 File对象
File
file
=
new
File
(
path
);
// 取 文件/文件夹
File
files
[]
=
file
.
listFiles
();
// 对象为空 直接返回
if
(
files
==
null
)
{
if
(
files
==
null
)
{
return
;
}
// 存在文件 遍历 判断
for
(
File
f
:
files
)
{
// 判断是否为 文件夹
if
(
f
.
isDirectory
())
{
if
(
f
.
isDirectory
())
{
// 为 文件夹继续遍历
recursiveFiles
(
f
.
getAbsolutePath
());
// 判断是否为 文件
}
else
if
(
f
.
isFile
())
{
if
(
"pom.xml"
.
equals
(
f
.
getName
()))
{
}
else
if
(
f
.
isFile
())
{
if
(
"pom.xml"
.
equals
(
f
.
getName
()))
{
System
.
out
.
println
(
"解析pom"
);
}
System
.
out
.
println
(
f
.
getName
());
...
...
@@ -99,14 +103,26 @@ public class FileUtil {
}
}
}
public
static
void
main
(
String
[]
args
)
{
String
filePath
=
"C:\\Users\\wyl\\Desktop\\alllib.zip"
;
String
path
=
"C:\\Users\\wyl\\Desktop\\unZip"
;
static
VueDep
parseJsonFile
(
String
path
)
{
try
{
unZip
(
new
File
(
filePath
),
path
);
File
file
=
new
File
(
path
);
VueDep
vueDep
;
vueDep
=
new
ObjectMapper
().
readValue
(
file
,
VueDep
.
class
);
return
vueDep
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
()
;
return
null
;
}
}
public
static
void
main
(
String
[]
args
)
throws
IOException
{
File
file
=
new
File
(
"/Users/mcj/Downloads/package.json"
);
VueDep
vueDep
=
new
ObjectMapper
().
readValue
(
file
,
VueDep
.
class
);
System
.
out
.
println
(
vueDep
);
}
}
src/main/java/com/zjty/adaptationmaster/utils/Inspector.java
浏览文件 @
4030a7fa
...
...
@@ -4,6 +4,7 @@ import com.zjty.adaptationmaster.adaptor.controller.WebSocketServer;
import
com.zjty.adaptationmaster.adaptor.entity.Project
;
import
com.zjty.adaptationmaster.adaptor.entity.Report
;
import
com.zjty.adaptationmaster.adaptor.entity.Rule
;
import
com.zjty.adaptationmaster.adaptor.entity.VueDep
;
import
com.zjty.adaptationmaster.adaptor.entity.pomEntity.ProjectPom
;
import
com.zjty.adaptationmaster.adaptor.entity.pomEntity.SecondFloor.PomDependency
;
import
com.zjty.adaptationmaster.base.enums.Const
;
...
...
@@ -288,8 +289,12 @@ public class Inspector {
* 对于具体的配置文件对应的处理方法
* 增加要处理的文件类型需要在这里增加相应的处理方法
*/
//后端依赖
ArrayList
<
PomDependency
>
dependencies1
=
new
ArrayList
<>();
//前端依赖
ArrayList
<
PomDependency
>
dependencies2
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
String
,
List
<
Path
>>
entry:
configFileTypePathsMapping
.
entrySet
()){
//System.out.println(entry.getKey());
switch
(
entry
.
getKey
()){
...
...
@@ -409,8 +414,27 @@ public class Inspector {
});
}
break
;
case
"json"
:
for
(
Path
path:
entry
.
getValue
())
{
if
(
path
.
getFileName
().
equals
(
"package.json"
)){
VueDep
json
=
FileUtil
.
parseJsonFile
(
path
.
toString
());
Map
<
String
,
String
>
dependencies
=
json
.
getDependencies
();
for
(
String
s
:
dependencies
.
keySet
())
{
PomDependency
pomDependency
=
new
PomDependency
();
pomDependency
.
setQ
(
1
);
pomDependency
.
setArtifactId
(
s
);
pomDependency
.
setVersion
(
dependencies
.
get
(
s
));
pomDependency
.
setReportId
(
report
.
getId
());
dependencies2
.
add
(
pomDependency
);
}
}
}
break
;
}
}
// for(Path path:propertiesConfigPaths){
// try {
// for(String s:Files.readAllLines(path)){
...
...
@@ -462,6 +486,7 @@ public class Inspector {
e
.
printStackTrace
();
}
report
.
setDependencies
(
dependencies1
);
report
.
setDependencies1
(
dependencies2
);
report
.
setWarnList
(
warnList
);
return
report
;
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论