From b1c7ee43fb63a784cf3e13a7ee7753b20899d00a Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Fri, 13 Feb 2015 11:00:58 +0000 Subject: [PATCH] Use class/package to guess version --- .../SpringCloudCompilerAutoConfiguration.java | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/SpringCloudCompilerAutoConfiguration.java b/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/SpringCloudCompilerAutoConfiguration.java index b7841ae..aed4f32 100644 --- a/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/SpringCloudCompilerAutoConfiguration.java +++ b/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/SpringCloudCompilerAutoConfiguration.java @@ -45,8 +45,7 @@ public class SpringCloudCompilerAutoConfiguration extends CompilerAutoConfigurat dependencies.ifAnyMissingClasses( "org.springframework.boot.actuate.endpoint.EnvironmentEndpoint").add( "spring-boot-starter-actuator"); - dependencies - .ifAnyMissingClasses("org.springframework.cloud.config.Environment") + dependencies.ifAnyMissingClasses("org.springframework.cloud.config.Environment") .add("spring-cloud-config-client"); } @@ -66,7 +65,8 @@ public class SpringCloudCompilerAutoConfiguration extends CompilerAutoConfigurat } private List getAdditionalDependencies() { - String[] components = "org.springframework.cloud:spring-cloud-versions:1.0.0.BUILD-SNAPSHOT" + String version = getVersion(); + String[] components = ("org.springframework.cloud:spring-cloud-versions:" + version) .split(":"); Map dependency; dependency = new HashMap(); @@ -89,6 +89,19 @@ public class SpringCloudCompilerAutoConfiguration extends CompilerAutoConfigurat return managedDependencies; } + private String getVersion() { + try { + Package pkg = getClass().getPackage(); + if (pkg != null) { + return pkg.getImplementationVersion(); + } + } + catch (Exception e) { + // ignore + } + return "1.0.0.BUILD-SNAPSHOT"; + } + static class AetherManagedDependencies implements Dependencies { private Map groupAndArtifactToDependency = new HashMap(); @@ -102,10 +115,11 @@ public class SpringCloudCompilerAutoConfiguration extends CompilerAutoConfigurat String groupId = dependency.getArtifact().getGroupId(); String artifactId = dependency.getArtifact().getArtifactId(); String version = dependency.getArtifact().getVersion(); - + List exclusions = new ArrayList(); - org.springframework.boot.dependency.tools.Dependency value = new org.springframework.boot.dependency.tools.Dependency(groupId, artifactId, version, exclusions); - + org.springframework.boot.dependency.tools.Dependency value = new org.springframework.boot.dependency.tools.Dependency( + groupId, artifactId, version, exclusions); + groupAndArtifactToDependency.put(groupId + ":" + artifactId, value); artifactToGroupAndArtifact.put(artifactId, groupId + ":" + artifactId); @@ -122,7 +136,7 @@ public class SpringCloudCompilerAutoConfiguration extends CompilerAutoConfigurat @Override public org.springframework.boot.dependency.tools.Dependency find(String artifactId) { String groupAndArtifact = artifactToGroupAndArtifact.get(artifactId); - if (groupAndArtifact==null) { + if (groupAndArtifact == null) { return null; } return groupAndArtifactToDependency.get(groupAndArtifact);