From 4f3b6057b6a5fd831538a375d3f306b238d14829 Mon Sep 17 00:00:00 2001 From: jjnnzb Date: Sun, 27 Dec 2020 15:58:16 +0800 Subject: [PATCH 1/4] Swagger API document version keep update-to-date with pom.xml version. --- powerjob-server/pom.xml | 1 + .../server/common/config/SwaggerConfig.java | 15 +++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/powerjob-server/pom.xml b/powerjob-server/pom.xml index 80a62d2e..ad6e673e 100644 --- a/powerjob-server/pom.xml +++ b/powerjob-server/pom.xml @@ -214,6 +214,7 @@ + build-info repackage diff --git a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/SwaggerConfig.java b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/SwaggerConfig.java index 804e45ce..6334df98 100644 --- a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/SwaggerConfig.java +++ b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/SwaggerConfig.java @@ -1,5 +1,6 @@ package com.github.kfcfans.powerjob.server.common.config; +import org.springframework.boot.info.BuildProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; @@ -8,18 +9,24 @@ import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; +import javax.annotation.Resource; + import static springfox.documentation.builders.PathSelectors.any; /** * Swagger UI 配置 * * @author tjq + * @author Jiang Jining * @since 2020/3/29 */ @Configuration @EnableSwagger2 public class SwaggerConfig { - + + @Resource + private BuildProperties buildProperties; + @Bean public Docket createRestApi() { // apiInfo()用来创建该Api的基本信息(这些基本信息会展现在文档页面中 @@ -28,9 +35,9 @@ public class SwaggerConfig { .description("Distributed scheduling and computing framework.") .license("Apache Licence 2") .termsOfServiceUrl("https://github.com/KFCFans/PowerJob") - .version("3.3.3") + .version(buildProperties.getVersion()) .build(); - + return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo) // select()函数返回一个ApiSelectorBuilder实例 @@ -39,5 +46,5 @@ public class SwaggerConfig { .paths(any()) .build(); } - + } From d4af8138d0afd167edaad17022502ad7bfbfc38c Mon Sep 17 00:00:00 2001 From: jjnnzb Date: Sun, 27 Dec 2020 21:53:36 +0800 Subject: [PATCH 2/4] Prevent codes from reporting error when pom.xml is not reinstalled. --- .../server/common/config/SwaggerConfig.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/SwaggerConfig.java b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/SwaggerConfig.java index 6334df98..296e57fd 100644 --- a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/SwaggerConfig.java +++ b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/SwaggerConfig.java @@ -1,5 +1,6 @@ package com.github.kfcfans.powerjob.server.common.config; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.info.BuildProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -9,12 +10,10 @@ import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; -import javax.annotation.Resource; - import static springfox.documentation.builders.PathSelectors.any; /** - * Swagger UI 配置 + * Configuration class for Swagger UI. * * @author tjq * @author Jiang Jining @@ -24,18 +23,25 @@ import static springfox.documentation.builders.PathSelectors.any; @EnableSwagger2 public class SwaggerConfig { - @Resource - private BuildProperties buildProperties; + private final BuildProperties buildProperties; + + public SwaggerConfig(@Autowired(required = false) final BuildProperties buildProperties) { + this.buildProperties = buildProperties; + } @Bean public Docket createRestApi() { + String version = "3.3.3"; + if (buildProperties != null) { + version = buildProperties.getVersion(); + } // apiInfo()用来创建该Api的基本信息(这些基本信息会展现在文档页面中 ApiInfo apiInfo = new ApiInfoBuilder() .title("PowerJob") .description("Distributed scheduling and computing framework.") .license("Apache Licence 2") .termsOfServiceUrl("https://github.com/KFCFans/PowerJob") - .version(buildProperties.getVersion()) + .version(version) .build(); return new Docket(DocumentationType.SWAGGER_2) From 5329fba6b07d12312f585aa3dc94bd4d5a3c6d85 Mon Sep 17 00:00:00 2001 From: jjnnzb Date: Mon, 28 Dec 2020 23:19:18 +0800 Subject: [PATCH 3/4] Set deafult version to Unknown and trim version info. --- .../kfcfans/powerjob/server/common/config/SwaggerConfig.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/SwaggerConfig.java b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/SwaggerConfig.java index 296e57fd..694c83b8 100644 --- a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/SwaggerConfig.java +++ b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/SwaggerConfig.java @@ -1,5 +1,6 @@ package com.github.kfcfans.powerjob.server.common.config; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.info.BuildProperties; import org.springframework.context.annotation.Bean; @@ -31,9 +32,9 @@ public class SwaggerConfig { @Bean public Docket createRestApi() { - String version = "3.3.3"; + String version = "Unknown"; if (buildProperties != null) { - version = buildProperties.getVersion(); + version = StringUtils.trimToEmpty(buildProperties.getVersion()); } // apiInfo()用来创建该Api的基本信息(这些基本信息会展现在文档页面中 ApiInfo apiInfo = new ApiInfoBuilder() From ef881cfcac315753ff494d6c301293716614fad9 Mon Sep 17 00:00:00 2001 From: jjnnzb Date: Tue, 29 Dec 2020 07:46:07 +0800 Subject: [PATCH 4/4] Change version judgement info. --- .../kfcfans/powerjob/server/common/config/SwaggerConfig.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/SwaggerConfig.java b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/SwaggerConfig.java index 694c83b8..f4411d09 100644 --- a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/SwaggerConfig.java +++ b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/SwaggerConfig.java @@ -34,7 +34,10 @@ public class SwaggerConfig { public Docket createRestApi() { String version = "Unknown"; if (buildProperties != null) { - version = StringUtils.trimToEmpty(buildProperties.getVersion()); + String pomVersion = buildProperties.getVersion(); + if (StringUtils.isNotBlank(pomVersion)) { + version = pomVersion; + } } // apiInfo()用来创建该Api的基本信息(这些基本信息会展现在文档页面中 ApiInfo apiInfo = new ApiInfoBuilder()