From 49486198df2a4ceabeca411947c1ccee83b6db40 Mon Sep 17 00:00:00 2001 From: ming Date: Sat, 28 Mar 2020 14:33:23 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20#713,=20=E5=BC=80=E5=8F=91=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E4=B9=9F=E8=83=BD=E8=8E=B7=E5=8F=96=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E4=BA=86=20(#714)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix #713, 开发环境也能获取版本信息了 * banner version show ok --- build.gradle | 13 +++++++++---- .../java/run/halo/app/config/HaloConfiguration.java | 10 ++++++++++ .../java/run/halo/app/model/support/HaloConst.java | 13 +++++-------- src/main/resources/application.yaml | 9 ++++++--- 4 files changed, 30 insertions(+), 15 deletions(-) diff --git a/build.gradle b/build.gradle index aaf2d4c55..b104525a3 100644 --- a/build.gradle +++ b/build.gradle @@ -39,10 +39,15 @@ configurations { } } -bootJar { - manifest { - attributes("Implementation-Title": "Halo Application", - "Implementation-Version": archiveVersion) + +springBoot { + buildInfo() +} + +// gradle 的 Property Expansion 的占位符 ${..} 与 springboot 的占位符 冲突, springboot 的需要转义 \${..} +processResources { + filesMatching("application.yaml") { + expand(project.properties) } } diff --git a/src/main/java/run/halo/app/config/HaloConfiguration.java b/src/main/java/run/halo/app/config/HaloConfiguration.java index 26e38374a..c330e4e10 100644 --- a/src/main/java/run/halo/app/config/HaloConfiguration.java +++ b/src/main/java/run/halo/app/config/HaloConfiguration.java @@ -5,6 +5,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.info.BuildProperties; import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -15,8 +16,10 @@ import run.halo.app.cache.AbstractStringCacheStore; import run.halo.app.cache.InMemoryCacheStore; import run.halo.app.cache.LevelCacheStore; import run.halo.app.config.properties.HaloProperties; +import run.halo.app.model.support.HaloConst; import run.halo.app.utils.HttpClientUtils; +import javax.annotation.PostConstruct; import java.security.KeyManagementException; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; @@ -34,6 +37,9 @@ public class HaloConfiguration { @Autowired HaloProperties haloProperties; + @Autowired + BuildProperties buildProperties; + @Bean public ObjectMapper objectMapper(Jackson2ObjectMapperBuilder builder) { builder.failOnEmptyBeans(false); @@ -70,4 +76,8 @@ public class HaloConfiguration { } + @PostConstruct + public void init() { + HaloConst.HALO_VERSION = buildProperties.getVersion(); + } } diff --git a/src/main/java/run/halo/app/model/support/HaloConst.java b/src/main/java/run/halo/app/model/support/HaloConst.java index 042be6cfe..8e915c6b6 100644 --- a/src/main/java/run/halo/app/model/support/HaloConst.java +++ b/src/main/java/run/halo/app/model/support/HaloConst.java @@ -50,10 +50,6 @@ public class HaloConst { */ public final static String DEFAULT_THEME_ID = "caicai_anatole"; - /** - * Version constant. (Available in production environment) - */ - public static final String HALO_VERSION; /** * Path separator. */ @@ -143,8 +139,9 @@ public class HaloConst { */ public static String USER_SESSION_KEY = "user_session"; - static { - // Set version - HALO_VERSION = HaloConst.class.getPackage().getImplementationVersion(); - } + /** + * Version constant. + */ + public static String HALO_VERSION = null; + } diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index bc7e1daeb..f74c5943c 100755 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -37,7 +37,7 @@ spring: multipart: max-file-size: 10240MB max-request-size: 10240MB - location: ${java.io.tmpdir} + location: \${java.io.tmpdir} management: endpoints: web: @@ -48,7 +48,10 @@ logging: level: run.halo.app: INFO file: - path: ${user.home}/.halo/logs + path: \${user.home}/.halo/logs halo: - download-timeout: 5m \ No newline at end of file + download-timeout: 5m + +application: + version: ${version}