Automatically align version of samples' dependency with main version
This commit enhances the tasks that build the samples to automatically update the version of their spring-restdocs dependency to match the version of the main project.
This commit is contained in:
@@ -20,6 +20,7 @@ import org.gradle.api.GradleException
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.Task
|
||||
import org.gradle.api.tasks.Exec
|
||||
import org.gradle.api.tasks.Copy
|
||||
import org.gradle.api.tasks.GradleBuild
|
||||
|
||||
public class SampleBuildConfigurer {
|
||||
@@ -65,6 +66,13 @@ public class SampleBuildConfigurer {
|
||||
"${System.env.MAVEN_HOME}/bin/mvn${suffix}" : "mvn${suffix}",
|
||||
'clean', 'package']
|
||||
mavenBuild.dependsOn dependencies
|
||||
|
||||
mavenBuild.doFirst {
|
||||
replaceVersion(new File(this.workingDir, 'pom.xml'),
|
||||
'<spring-restdocs.version>.*</spring-restdocs.version>',
|
||||
"<spring-restdocs.version>${project.version}</spring-restdocs.version>")
|
||||
}
|
||||
|
||||
return mavenBuild
|
||||
}
|
||||
|
||||
@@ -75,9 +83,25 @@ public class SampleBuildConfigurer {
|
||||
gradleBuild.dir = this.workingDir
|
||||
gradleBuild.tasks = ['clean', 'build']
|
||||
gradleBuild.dependsOn dependencies
|
||||
|
||||
gradleBuild.doFirst {
|
||||
replaceVersion(new File(this.workingDir, 'build.gradle'),
|
||||
"springRestdocsVersion = '.*'",
|
||||
"springRestdocsVersion = '${project.version}'")
|
||||
}
|
||||
|
||||
return gradleBuild
|
||||
}
|
||||
|
||||
private void replaceVersion(File target, String pattern, String replacement) {
|
||||
def lines = target.readLines()
|
||||
target.withWriter { writer ->
|
||||
lines.each { line ->
|
||||
writer.println(line.replaceAll(pattern, replacement))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Task createVerifyIncludes(Project project, File buildDir) {
|
||||
Task verifyIncludes = project.tasks.create("${name}VerifyIncludes")
|
||||
verifyIncludes.description = "Verifies the includes in the ${name} sample"
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<java.version>1.7</java.version>
|
||||
<spring-restdocs.version>1.0.0.BUILD-SNAPSHOT</spring-restdocs.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
@@ -49,7 +50,7 @@
|
||||
<dependency>
|
||||
<groupId>org.springframework.restdocs</groupId>
|
||||
<artifactId>spring-restdocs-mockmvc</artifactId>
|
||||
<version>1.0.0.BUILD-SNAPSHOT</version>
|
||||
<version>${spring-restdocs.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
@@ -124,4 +125,4 @@
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
</project>
|
||||
</project>
|
||||
|
||||
@@ -26,6 +26,11 @@ group = 'com.example'
|
||||
sourceCompatibility = 1.7
|
||||
targetCompatibility = 1.7
|
||||
|
||||
ext {
|
||||
snippetsDir = file('build/generated-snippets')
|
||||
springRestdocsVersion = '1.0.0.BUILD-SNAPSHOT'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile 'org.springframework.boot:spring-boot-starter-data-jpa'
|
||||
compile 'org.springframework.boot:spring-boot-starter-hateoas'
|
||||
@@ -35,11 +40,7 @@ dependencies {
|
||||
|
||||
testCompile 'com.jayway.jsonpath:json-path'
|
||||
testCompile 'org.springframework.boot:spring-boot-starter-test'
|
||||
testCompile 'org.springframework.restdocs:spring-restdocs-mockmvc:1.0.0.BUILD-SNAPSHOT'
|
||||
}
|
||||
|
||||
ext {
|
||||
snippetsDir = file('build/generated-snippets')
|
||||
testCompile "org.springframework.restdocs:spring-restdocs-mockmvc:$springRestdocsVersion"
|
||||
}
|
||||
|
||||
test {
|
||||
@@ -61,4 +62,4 @@ jar {
|
||||
}
|
||||
|
||||
eclipseJdt.onlyIf { false }
|
||||
cleanEclipseJdt.onlyIf { false }
|
||||
cleanEclipseJdt.onlyIf { false }
|
||||
|
||||
Reference in New Issue
Block a user