From 15a2a83fb06284fc34026ff090e82fef94c648a0 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Mon, 15 Aug 2016 17:05:52 +0100 Subject: [PATCH] Determine deployable app version dynamically The deployer now checks its own version and uses that to set up the app versions via "launcher.version" on the command line. Closes gh-16 --- .../cloud/launcher/deployer/DeployerThread.java | 9 ++++++++- .../src/main/resources/cloud.yml | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/java/org/springframework/cloud/launcher/deployer/DeployerThread.java b/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/java/org/springframework/cloud/launcher/deployer/DeployerThread.java index b52dc00..68667d9 100644 --- a/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/java/org/springframework/cloud/launcher/deployer/DeployerThread.java +++ b/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/java/org/springframework/cloud/launcher/deployer/DeployerThread.java @@ -62,6 +62,8 @@ public class DeployerThread extends Thread { private static final Logger logger = LoggerFactory.getLogger(DeployerThread.class); + private static final String DEFAULT_VERSION = "1.2.0.BUILD-SNAPSHOT"; + private Map deployed = new ConcurrentHashMap<>(); private String[] args; @@ -169,12 +171,17 @@ public class DeployerThread extends Thread { return null; } + private String getVersion() { + Package pkg = DeployerThread.class.getPackage(); + return (pkg != null ? pkg.getImplementationVersion() : DEFAULT_VERSION); + } + private void launch() { final ConfigurableApplicationContext context = new SpringApplicationBuilder( PropertyPlaceholderAutoConfiguration.class, DeployerConfiguration.class) .web(false).properties("spring.config.name=cloud", - "banner.location=launcher-banner.txt") + "banner.location=launcher-banner.txt", "launcher.version="+getVersion()) .run(this.args); final AppDeployer deployer = context.getBean(AppDeployer.class); diff --git a/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/resources/cloud.yml b/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/resources/cloud.yml index d7dc9bb..e2629dd 100644 --- a/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/resources/cloud.yml +++ b/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/resources/cloud.yml @@ -1,6 +1,6 @@ dt: pre: maven://org.springframework.cloud.launcher:spring-cloud-launcher- - ver: 1.2.0.BUILD-SNAPSHOT + ver: ${launcher.version} spring: cloud: launcher: