mirror of
https://github.com/didi/KnowStreaming.git
synced 2025-12-24 11:52:08 +08:00
Merge pull request #494 from didi/dev
1、打包时自动生成版本信息及git提交信息;2、优化swagger对版本信息的获取;
This commit is contained in:
@@ -0,0 +1,67 @@
|
|||||||
|
package com.xiaojukeji.kafka.manager.common.utils;
|
||||||
|
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
public class GitPropUtil {
|
||||||
|
private static final Logger log = LoggerFactory.getLogger(GitPropUtil.class);
|
||||||
|
|
||||||
|
private static Properties props = null;
|
||||||
|
|
||||||
|
public static final String VERSION_FIELD_NAME = "git.build.version";
|
||||||
|
|
||||||
|
public static final String COMMIT_ID_FIELD_NAME = "git.commit.id.abbrev";
|
||||||
|
|
||||||
|
public static String getProps(String fieldName) {
|
||||||
|
if (props == null) {
|
||||||
|
props = JsonUtils.stringToObj(readGitPropertiesInJarFile(), Properties.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
return props.getProperty(fieldName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Properties getProps() {
|
||||||
|
if (props == null) {
|
||||||
|
props = JsonUtils.stringToObj(readGitPropertiesInJarFile(), Properties.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
return props;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String readGitPropertiesInJarFile() {
|
||||||
|
InputStream inputStream = null;
|
||||||
|
try {
|
||||||
|
inputStream = GitPropUtil.class.getClassLoader().getResourceAsStream("git.properties");
|
||||||
|
|
||||||
|
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
|
||||||
|
String line = null;
|
||||||
|
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
while ((line = bufferedReader.readLine()) != null) {
|
||||||
|
sb.append(line).append("\n");
|
||||||
|
}
|
||||||
|
return sb.toString();
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("method=readGitPropertiesInJarFile||errMsg=exception.", e);
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (inputStream != null) {
|
||||||
|
inputStream.close();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("method=readGitPropertiesInJarFile||msg=close failed||errMsg=exception.", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return "{}";
|
||||||
|
}
|
||||||
|
|
||||||
|
private GitPropUtil() {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -20,7 +20,4 @@ public class ConfigUtils {
|
|||||||
|
|
||||||
@Value(value = "${spring.profiles.active:dev}")
|
@Value(value = "${spring.profiles.active:dev}")
|
||||||
private String kafkaManagerEnv;
|
private String kafkaManagerEnv;
|
||||||
|
|
||||||
@Value(value = "${spring.application.version:unknown}")
|
|
||||||
private String applicationVersion;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -114,7 +114,6 @@
|
|||||||
<build>
|
<build>
|
||||||
<finalName>kafka-manager</finalName>
|
<finalName>kafka-manager</finalName>
|
||||||
<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>
|
||||||
@@ -126,7 +125,25 @@
|
|||||||
</goals>
|
</goals>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>pl.project13.maven</groupId>
|
||||||
|
<artifactId>git-commit-id-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<goals>
|
||||||
|
<goal>revision</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
<configuration>
|
||||||
|
<verbose>true</verbose>
|
||||||
|
<dateFormat>yyyy-MM-dd'T'HH:mm:ssZ</dateFormat>
|
||||||
|
<generateGitPropertiesFile>true</generateGitPropertiesFile>
|
||||||
|
<generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
|
||||||
|
<format>json</format>
|
||||||
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package com.xiaojukeji.kafka.manager.web.config;
|
package com.xiaojukeji.kafka.manager.web.config;
|
||||||
|
|
||||||
import com.xiaojukeji.kafka.manager.service.utils.ConfigUtils;
|
import com.xiaojukeji.kafka.manager.common.utils.GitPropUtil;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.web.servlet.config.annotation.*;
|
import org.springframework.web.servlet.config.annotation.*;
|
||||||
@@ -22,9 +21,6 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
|||||||
@EnableWebMvc
|
@EnableWebMvc
|
||||||
@EnableSwagger2
|
@EnableSwagger2
|
||||||
public class SwaggerConfig implements WebMvcConfigurer {
|
public class SwaggerConfig implements WebMvcConfigurer {
|
||||||
@Autowired
|
|
||||||
private ConfigUtils configUtils;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addResourceHandlers(ResourceHandlerRegistry registry) {
|
public void addResourceHandlers(ResourceHandlerRegistry registry) {
|
||||||
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
|
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
|
||||||
@@ -43,10 +39,13 @@ public class SwaggerConfig implements WebMvcConfigurer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private ApiInfo apiInfo() {
|
private ApiInfo apiInfo() {
|
||||||
|
String version = GitPropUtil.getProps(GitPropUtil.VERSION_FIELD_NAME);
|
||||||
|
String commitId = GitPropUtil.getProps(GitPropUtil.COMMIT_ID_FIELD_NAME);
|
||||||
|
|
||||||
return new ApiInfoBuilder()
|
return new ApiInfoBuilder()
|
||||||
.title("LogiKM接口文档")
|
.title("LogiKM接口文档")
|
||||||
.description("欢迎使用滴滴LogiKM")
|
.description("欢迎使用滴滴LogiKM")
|
||||||
.version(configUtils.getApplicationVersion())
|
.version(String.format("%s-%s", version == null? "": version, commitId == null? "": commitId))
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user