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

mcj:更新pom扫描行数

上级 031e5f4c
......@@ -5,7 +5,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<version>2.0.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zjty</groupId>
......@@ -22,8 +22,15 @@
</profile>
</profiles>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.RELEASE</spring-cloud.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>
<dependencies>
......@@ -108,8 +115,10 @@
<artifactId>snakeyaml</artifactId>
<version>1.25</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId>
......@@ -123,13 +132,75 @@
<version>0.7</version>
</dependency>
</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>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<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>
<!-- 打war包需要的插件 -->
<!--<plugin>-->
<!--<groupId>org.apache.maven.plugins</groupId>-->
<!--<artifactId>maven-war-plugin</artifactId>-->
<!--<version>2.6</version>-->
<!--<configuration>-->
<!--<failOnMissingWebXml>false</failOnMissingWebXml>-->
<!--</configuration>-->
<!--</plugin>-->
</plugins>
</build>
......
......@@ -41,6 +41,9 @@ public class InspectParameter {
/**
* 软件开发时间
* 特殊情况
* 原本为年
* 现单位:月
*/
@ApiModelProperty(value = "软件开发时间",example = "1")
private Integer years;
......
......@@ -39,8 +39,6 @@ public class Inspector {
@Autowired
private AnalysisFile analysisFile;
@Autowired
private MavenUtil mavenUtil;
@Autowired
private BudgetUitl budgetUitl;
@Autowired
......@@ -139,6 +137,7 @@ public class Inspector {
/**
* 评估
*
* @return 报告
*/
public ReportVo inspect() throws IOException {
......@@ -170,6 +169,10 @@ public class Inspector {
for (PomDependency dependency : projectPom.getDependencies()) {
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);
}
}
......@@ -189,11 +192,11 @@ public class Inspector {
if (path1.toAbsolutePath().toString().endsWith("jar") || path1.toAbsolutePath().toString().endsWith("class")) {
continue;
}
valiWarn(rules, path1, path1.getFileName().toString(), 0);
valiWarn(rules, path1, path1.getFileName().toString(), -1);
//将文件的每一行都与规则匹配
List<String> strings = Files.readAllLines(path1);
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) {
log.error("解析{}出错,异常信息为{}", path1.toAbsolutePath().toString(), e.getMessage());
......@@ -418,52 +421,32 @@ public class Inspector {
private void setRule(Path path, StringBuilder stringBuilder, PomDependency dependency) {
stringBuilder.append(dependency.getGroupId()).append(":").append(dependency.getArtifactId());
Rule rule = new Rule();
if (inspectParameter.getAdmin() == 1) {
Rule rule = new Rule();
rule.setTechnologyId(techJavaSupport.getId());
rule.setTarget(dependency.getGroupId());
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);
} else {
Rule rule = new Rule();
rule.setTechnologyId(techUnKnowSupport.getId());
rule.setTarget(dependency.getGroupId());
rule.setTechnologyName(techUnKnowSupport.getTechnologyName());
rule.setSuffix("*");
rule.setId(UUIDUtil.getUUID());
Rule rule1 = new Rule();
rule1.setTechnologyId(techUnKnowSupport.getId());
rule1.setTarget(dependency.getArtifactId());
rule1.setTechnologyName(techUnKnowSupport.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);
}
int i = valiWarn(ruleList, path, stringBuilder.toString(), 0);
dependency.setSupport(i);
}
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);
}
stringBuilder.delete(0, stringBuilder.length());
}
......@@ -539,7 +522,7 @@ public class Inspector {
}
//文件读取
if(inspectParameter.getSourceAddress()!=null){
if (inspectParameter.getSourceAddress() != null) {
Files.walkFileTree(Paths.get(inspectParameter.getSourceAddress()), new FileVisitor<Path>() {
@Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
......@@ -630,6 +613,7 @@ public class Inspector {
});
}
}
public class Counter {
private int i = 0;
......
......@@ -63,11 +63,11 @@ public class BudgetUitl {
inspectParameter.setMoneyRate(Double.valueOf(doubleHashMap.get(1)));
Double moneyRate = inspectParameter.getMoneyRate();
System.out.println(JSON.toJSONString("inspectParameter:"+inspectParameter));
int years = inspectParameter.getYears();
int mouth = inspectParameter.getYears();
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<>();
......
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 @@
#spring.profiles.active=prod
# \u670D\u52A1\u5668\u76F8\u5173\u914D\u7F6E
server.port=8079
server.port=8080
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
# \u65E5\u5FD7\u6587\u4EF6\u76F8\u5173\u914D\u7F6E
# logging.level.org.hibernate.sql=debug
......@@ -48,7 +48,7 @@ spring.resources.static-locations=classpath:/uploads/
#createTxtPath=C:/
# 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://localhost:3306/adaptation?useSSL=false&serverTimezone=UTC&autoReconnect=true&characterEncoding=utf-8
spring.datasource.username=root
......@@ -56,9 +56,7 @@ spring.datasource.password=root
serverTimezone=Hongkong
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.suffix=.ftl
spring.freemarker.content-type=text/html; charset=utf-8
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论