Ensure that samples' REST Docs version is updated before they are built

This commit is contained in:
Andy Wilkinson
2017-03-24 14:37:17 +00:00
parent b6120cd539
commit af0cd029c7
7 changed files with 36 additions and 20 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2014-2015 the original author or authors.
* Copyright 2014-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -51,32 +51,25 @@ public class SampleBuildConfigurer {
sampleBuild.group = "Build"
if (new File(sampleDir, 'build.gradle').isFile()) {
Task gradleVersionsUpdate = createGradleVersionsUpdate(project)
sampleBuild.dependsOn gradleVersionsUpdate
if (build) {
Task gradleBuild = createGradleBuild(project, dependencies)
Task verifyIncludesTask = createVerifyIncludes(project, new File(sampleDir, 'build/asciidoc'))
verifyIncludesTask.dependsOn gradleBuild
sampleBuild.dependsOn verifyIncludesTask
}
sampleBuild.doFirst {
replaceVersion(new File(this.workingDir, 'build.gradle'),
"ext\\['spring-restdocs.version'\\] = '.*'",
"ext['spring-restdocs.version'] = '${project.version}'")
replaceVersion(new File(this.workingDir, 'build.gradle'),
"restDocsVersion = \".*\"",
"restDocsVersion = \"${project.version}\"")
gradleBuild.dependsOn gradleVersionsUpdate
}
}
else if (new File(sampleDir, 'pom.xml').isFile()) {
Task mavenVersionsUpdate = createMavenVersionsUpdate(project)
sampleBuild.dependsOn mavenVersionsUpdate
if (build) {
Task mavenBuild = createMavenBuild(project, sampleDir, dependencies)
Task verifyIncludesTask = createVerifyIncludes(project, new File(sampleDir, 'target/generated-docs'))
verifyIncludesTask.dependsOn(mavenBuild)
sampleBuild.dependsOn verifyIncludesTask
}
sampleBuild.doFirst {
replaceVersion(new File(this.workingDir, 'pom.xml'),
'<spring-restdocs.version>.*</spring-restdocs.version>',
"<spring-restdocs.version>${project.version}</spring-restdocs.version>")
mavenBuild.dependsOn mavenVersionsUpdate
}
}
else {
@@ -85,6 +78,29 @@ public class SampleBuildConfigurer {
return sampleBuild
}
private Task createMavenVersionsUpdate(Project project) {
Task mavenVersionsUpdate = project.tasks.create "${name}MavenVersionUpdates"
mavenVersionsUpdate.doFirst {
replaceVersion(new File(this.workingDir, 'pom.xml'),
'<spring-restdocs.version>.*</spring-restdocs.version>',
"<spring-restdocs.version>${project.version}</spring-restdocs.version>")
}
return mavenVersionsUpdate
}
private Task createGradleVersionsUpdate(Project project) {
Task gradleVersionsUpdate = project.tasks.create "${name}GradleVersionUpdates"
gradleVersionsUpdate.doFirst {
replaceVersion(new File(this.workingDir, 'build.gradle'),
"ext\\['spring-restdocs.version'\\] = '.*'",
"ext['spring-restdocs.version'] = '${project.version}'")
replaceVersion(new File(this.workingDir, 'build.gradle'),
"restDocsVersion = \".*\"",
"restDocsVersion = \"${project.version}\"")
}
return gradleVersionsUpdate
}
private Task createMavenBuild(Project project, File sampleDir, Object... dependencies) {
Task mavenBuild = project.tasks.create("${name}Maven", Exec)
mavenBuild.description = "Builds the ${name} sample with Maven"

View File

@@ -30,7 +30,7 @@ ext {
snippetsDir = file('build/generated-snippets')
}
ext['spring-restdocs.version'] = '1.1.2.BUILD-SNAPSHOT'
ext['spring-restdocs.version'] = '1.1.3.BUILD-SNAPSHOT'
dependencies {
compile 'org.springframework.boot:spring-boot-starter-web'

View File

@@ -31,7 +31,7 @@ apply plugin: "org.grails.grails-web"
ext {
grailsVersion = project.grailsVersion
gradleWrapperVersion = project.gradleWrapperVersion
restDocsVersion = "1.1.2.BUILD-SNAPSHOT"
restDocsVersion = "1.1.3.BUILD-SNAPSHOT"
snippetsDir = file('src/docs/generated-snippets')
}

View File

@@ -26,7 +26,7 @@ ext {
snippetsDir = file('build/generated-snippets')
}
ext['spring-restdocs.version'] = '1.1.2.BUILD-SNAPSHOT'
ext['spring-restdocs.version'] = '1.1.3.BUILD-SNAPSHOT'
dependencies {
compile 'org.springframework.boot:spring-boot-starter-data-jpa'

View File

@@ -18,7 +18,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.7</java.version>
<spring-restdocs.version>1.1.2.BUILD-SNAPSHOT</spring-restdocs.version>
<spring-restdocs.version>1.1.3.BUILD-SNAPSHOT</spring-restdocs.version>
</properties>
<dependencies>

View File

@@ -30,7 +30,7 @@ ext {
snippetsDir = file('build/generated-snippets')
}
ext['spring-restdocs.version'] = '1.1.2.BUILD-SNAPSHOT'
ext['spring-restdocs.version'] = '1.1.3.BUILD-SNAPSHOT'
dependencies {
compile 'org.springframework.boot:spring-boot-starter-data-jpa'

View File

@@ -29,7 +29,7 @@ targetCompatibility = 1.7
ext {
snippetsDir = file('build/generated-snippets')
}
ext['spring-restdocs.version'] = '1.1.2.BUILD-SNAPSHOT'
ext['spring-restdocs.version'] = '1.1.3.BUILD-SNAPSHOT'
dependencies {
compile 'org.springframework.boot:spring-boot-starter-web'