提交 cfbc5af3 authored 作者: 马晨俊's avatar 马晨俊

mcj:更新pom扫描行数

上级 031e5f4c
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version> <version>2.0.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository --> <relativePath/> <!-- lookup parent from repository -->
</parent> </parent>
<groupId>com.zjty</groupId> <groupId>com.zjty</groupId>
...@@ -22,8 +22,15 @@ ...@@ -22,8 +22,15 @@
</profile> </profile>
</profiles> </profiles>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
<swagger.version>2.9.2</swagger.version> <swagger.version>2.9.2</swagger.version>
<lombok.version>1.18.2</lombok.version>
<fastjson.version>1.2.46</fastjson.version>
<!--<fastjson.version>1.2.31</fastjson.version>-->
<liujie.latest.version>1.0-SNAPSHOT</liujie.latest.version>
</properties> </properties>
<dependencies> <dependencies>
...@@ -108,8 +115,10 @@ ...@@ -108,8 +115,10 @@
<artifactId>snakeyaml</artifactId> <artifactId>snakeyaml</artifactId>
<version>1.25</version> <version>1.25</version>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency> <dependency>
<groupId>net.lingala.zip4j</groupId> <groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId> <artifactId>zip4j</artifactId>
...@@ -123,13 +132,75 @@ ...@@ -123,13 +132,75 @@
<version>0.7</version> <version>0.7</version>
</dependency> </dependency>
</dependencies> </dependencies>
<dependencyManagement>
<dependencies>
<!--<dependency>-->
<!--<groupId>io.spring.platform</groupId>-->
<!--<artifactId>platform-bom</artifactId>-->
<!--<version>Cairo-SR3</version>-->
<!--<type>pom</type>-->
<!--<scope>import</scope>-->
<!--</dependency>-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<build> <build>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
<goal>build-info</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin> </plugin>
<!-- 打war包需要的插件 -->
<!--<plugin>-->
<!--<groupId>org.apache.maven.plugins</groupId>-->
<!--<artifactId>maven-war-plugin</artifactId>-->
<!--<version>2.6</version>-->
<!--<configuration>-->
<!--<failOnMissingWebXml>false</failOnMissingWebXml>-->
<!--</configuration>-->
<!--</plugin>-->
</plugins> </plugins>
</build> </build>
......
...@@ -41,6 +41,9 @@ public class InspectParameter { ...@@ -41,6 +41,9 @@ public class InspectParameter {
/** /**
* 软件开发时间 * 软件开发时间
* 特殊情况
* 原本为年
* 现单位:月
*/ */
@ApiModelProperty(value = "软件开发时间",example = "1") @ApiModelProperty(value = "软件开发时间",example = "1")
private Integer years; private Integer years;
......
...@@ -39,8 +39,6 @@ public class Inspector { ...@@ -39,8 +39,6 @@ public class Inspector {
@Autowired @Autowired
private AnalysisFile analysisFile; private AnalysisFile analysisFile;
@Autowired @Autowired
private MavenUtil mavenUtil;
@Autowired
private BudgetUitl budgetUitl; private BudgetUitl budgetUitl;
@Autowired @Autowired
...@@ -139,6 +137,7 @@ public class Inspector { ...@@ -139,6 +137,7 @@ public class Inspector {
/** /**
* 评估 * 评估
*
* @return 报告 * @return 报告
*/ */
public ReportVo inspect() throws IOException { public ReportVo inspect() throws IOException {
...@@ -170,6 +169,10 @@ public class Inspector { ...@@ -170,6 +169,10 @@ public class Inspector {
for (PomDependency dependency : projectPom.getDependencies()) { for (PomDependency dependency : projectPom.getDependencies()) {
setRule(path, stringBuilder, dependency); setRule(path, stringBuilder, dependency);
} }
List<String> lines = Files.readAllLines(path);
for (int i = 0; i < lines.size(); i++) {
valiWarn(rules, path, lines.get(i), i + 1);
}
dependencyVo.add(projectPom); dependencyVo.add(projectPom);
} }
} }
...@@ -189,11 +192,11 @@ public class Inspector { ...@@ -189,11 +192,11 @@ public class Inspector {
if (path1.toAbsolutePath().toString().endsWith("jar") || path1.toAbsolutePath().toString().endsWith("class")) { if (path1.toAbsolutePath().toString().endsWith("jar") || path1.toAbsolutePath().toString().endsWith("class")) {
continue; continue;
} }
valiWarn(rules, path1, path1.getFileName().toString(), 0); valiWarn(rules, path1, path1.getFileName().toString(), -1);
//将文件的每一行都与规则匹配 //将文件的每一行都与规则匹配
List<String> strings = Files.readAllLines(path1); List<String> strings = Files.readAllLines(path1);
for (int i = 0; i < strings.size(); i++) { for (int i = 0; i < strings.size(); i++) {
int i1 = valiWarn(rules, path1, strings.get(i), i + 1); valiWarn(rules, path1, strings.get(i), i + 1);
} }
} catch (IOException e) { } catch (IOException e) {
log.error("解析{}出错,异常信息为{}", path1.toAbsolutePath().toString(), e.getMessage()); log.error("解析{}出错,异常信息为{}", path1.toAbsolutePath().toString(), e.getMessage());
...@@ -418,39 +421,23 @@ public class Inspector { ...@@ -418,39 +421,23 @@ public class Inspector {
private void setRule(Path path, StringBuilder stringBuilder, PomDependency dependency) { private void setRule(Path path, StringBuilder stringBuilder, PomDependency dependency) {
stringBuilder.append(dependency.getGroupId()).append(":").append(dependency.getArtifactId()); stringBuilder.append(dependency.getGroupId()).append(":").append(dependency.getArtifactId());
if (inspectParameter.getAdmin() == 1) {
Rule rule = new Rule(); Rule rule = new Rule();
if (inspectParameter.getAdmin() == 1) {
rule.setTechnologyId(techJavaSupport.getId()); rule.setTechnologyId(techJavaSupport.getId());
rule.setTarget(dependency.getGroupId()); rule.setTarget(dependency.getGroupId());
rule.setTechnologyName(techJavaSupport.getTechnologyName()); rule.setTechnologyName(techJavaSupport.getTechnologyName());
rule.setSuffix("*");
rule.setId(UUIDUtil.getUUID());
Rule rule1 = new Rule();
rule1.setTechnologyId(techJavaSupport.getId());
rule1.setTarget(dependency.getArtifactId());
rule1.setTechnologyName(techJavaSupport.getTechnologyName());
rule1.setSuffix("*");
rule1.setId(UUIDUtil.getUUID());
if (!ruleMap.containsKey(dependency.getGroupId() + ":" + rule.getSuffix())) {
rules.add(rule);
ruleMap.put(dependency.getGroupId() + ":" + rule.getSuffix(), rule);
}
if (!ruleMap.containsKey(dependency.getArtifactId() + ":" + rule1.getSuffix())) {
rules.add(rule1);
ruleMap.put(dependency.getArtifactId() + ":" + rule1.getSuffix(), rule1);
}
dependency.setSupport(1); dependency.setSupport(1);
} else { } else {
Rule rule = new Rule();
rule.setTechnologyId(techUnKnowSupport.getId()); rule.setTechnologyId(techUnKnowSupport.getId());
rule.setTarget(dependency.getGroupId()); rule.setTarget(dependency.getGroupId());
rule.setTechnologyName(techUnKnowSupport.getTechnologyName()); rule.setTechnologyName(techUnKnowSupport.getTechnologyName());
}
rule.setSuffix("*"); rule.setSuffix("*");
rule.setId(UUIDUtil.getUUID()); rule.setId(UUIDUtil.getUUID());
Rule rule1 = new Rule(); Rule rule1 = new Rule();
rule1.setTechnologyId(techUnKnowSupport.getId()); rule1.setTechnologyId(techJavaSupport.getId());
rule1.setTarget(dependency.getArtifactId()); rule1.setTarget(dependency.getArtifactId());
rule1.setTechnologyName(techUnKnowSupport.getTechnologyName()); rule1.setTechnologyName(techJavaSupport.getTechnologyName());
rule1.setSuffix("*"); rule1.setSuffix("*");
rule1.setId(UUIDUtil.getUUID()); rule1.setId(UUIDUtil.getUUID());
if (!ruleMap.containsKey(dependency.getGroupId() + ":" + rule.getSuffix())) { if (!ruleMap.containsKey(dependency.getGroupId() + ":" + rule.getSuffix())) {
...@@ -461,10 +448,6 @@ public class Inspector { ...@@ -461,10 +448,6 @@ public class Inspector {
rules.add(rule1); rules.add(rule1);
ruleMap.put(dependency.getArtifactId() + ":" + rule1.getSuffix(), rule1); ruleMap.put(dependency.getArtifactId() + ":" + rule1.getSuffix(), rule1);
} }
int i = valiWarn(ruleList, path, stringBuilder.toString(), 0);
dependency.setSupport(i);
}
stringBuilder.delete(0, stringBuilder.length()); stringBuilder.delete(0, stringBuilder.length());
} }
...@@ -539,7 +522,7 @@ public class Inspector { ...@@ -539,7 +522,7 @@ public class Inspector {
} }
//文件读取 //文件读取
if(inspectParameter.getSourceAddress()!=null){ if (inspectParameter.getSourceAddress() != null) {
Files.walkFileTree(Paths.get(inspectParameter.getSourceAddress()), new FileVisitor<Path>() { Files.walkFileTree(Paths.get(inspectParameter.getSourceAddress()), new FileVisitor<Path>() {
@Override @Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
...@@ -630,6 +613,7 @@ public class Inspector { ...@@ -630,6 +613,7 @@ public class Inspector {
}); });
} }
} }
public class Counter { public class Counter {
private int i = 0; private int i = 0;
......
...@@ -63,11 +63,11 @@ public class BudgetUitl { ...@@ -63,11 +63,11 @@ public class BudgetUitl {
inspectParameter.setMoneyRate(Double.valueOf(doubleHashMap.get(1))); inspectParameter.setMoneyRate(Double.valueOf(doubleHashMap.get(1)));
Double moneyRate = inspectParameter.getMoneyRate(); Double moneyRate = inspectParameter.getMoneyRate();
System.out.println(JSON.toJSONString("inspectParameter:"+inspectParameter)); System.out.println(JSON.toJSONString("inspectParameter:"+inspectParameter));
int years = inspectParameter.getYears(); int mouth = inspectParameter.getYears();
if(inspectParameter.getYears()==-1){ if(inspectParameter.getYears()==-1){
years=1; mouth=1;
} }
double pow = Math.pow(moneyRate, years); double pow = Math.pow(moneyRate, mouth);
//带修正系数资金 //带修正系数资金
ArrayList<String> strings = new ArrayList<>(); ArrayList<String> strings = new ArrayList<>();
......
package com.zjty.inspect.utils;
import org.apache.maven.shared.invoker.*;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.io.File;
import java.util.Collections;
/**
* @author Mcj
* @date 2020-03-01 17:11
*/
@Component
public class MavenUtil {
@Value("${maven.command}")
private String mavenCommand;
@Value("${maven.home}")
private String mavenHome;
@Value("${maven.treefile}")
private String treeFile;
public File genTreeFile(String path){
InvocationRequest request = new DefaultInvocationRequest();
request.setPomFile(new File(path));
request.setGoals(Collections.singletonList(mavenCommand+treeFile));
Invoker invoker = new DefaultInvoker();
invoker.setMavenHome(new File(mavenHome));
try {
invoker.execute(request);
} catch (MavenInvocationException e) {
}
return new File(treeFile);
}
}
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#spring.profiles.active=prod #spring.profiles.active=prod
# \u670D\u52A1\u5668\u76F8\u5173\u914D\u7F6E # \u670D\u52A1\u5668\u76F8\u5173\u914D\u7F6E
server.port=8079 server.port=8080
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
# \u65E5\u5FD7\u6587\u4EF6\u76F8\u5173\u914D\u7F6E # \u65E5\u5FD7\u6587\u4EF6\u76F8\u5173\u914D\u7F6E
# logging.level.org.hibernate.sql=debug # logging.level.org.hibernate.sql=debug
...@@ -48,7 +48,7 @@ spring.resources.static-locations=classpath:/uploads/ ...@@ -48,7 +48,7 @@ spring.resources.static-locations=classpath:/uploads/
#createTxtPath=C:/ #createTxtPath=C:/
# mysql\u6570\u636E\u5E93\u914D\u7F6E # mysql\u6570\u636E\u5E93\u914D\u7F6E
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#spring.datasource.url=jdbc:mysql://192.168.1.249:3306/bservice?useSSL=false&serverTimezone=UTC&autoReconnect=true&characterEncoding=utf-8 #spring.datasource.url=jdbc:mysql://192.168.1.249:3306/bservice?useSSL=false&serverTimezone=UTC&autoReconnect=true&characterEncoding=utf-8
spring.datasource.url=jdbc:mysql://localhost:3306/adaptation?useSSL=false&serverTimezone=UTC&autoReconnect=true&characterEncoding=utf-8 spring.datasource.url=jdbc:mysql://localhost:3306/adaptation?useSSL=false&serverTimezone=UTC&autoReconnect=true&characterEncoding=utf-8
spring.datasource.username=root spring.datasource.username=root
...@@ -56,9 +56,7 @@ spring.datasource.password=root ...@@ -56,9 +56,7 @@ spring.datasource.password=root
serverTimezone=Hongkong serverTimezone=Hongkong
spring.jackson.time-zone=GMT spring.jackson.time-zone=GMT
maven.home=/Users/mcj/apache-maven-3.6.1
maven.command=dependency:tree -DoutputType=txt -DoutputFile=
maven.treefile=./hello
spring.freemarker.charset=UTF-8 spring.freemarker.charset=UTF-8
spring.freemarker.suffix=.ftl spring.freemarker.suffix=.ftl
spring.freemarker.content-type=text/html; charset=utf-8 spring.freemarker.content-type=text/html; charset=utf-8
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论