From 7235a49dbc76ba10c9060f6643d15576161c6cb6 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 3 Sep 2015 15:05:45 +0100 Subject: [PATCH] Update sample verification to look for snippets in correct location MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously each sample was built with both Maven and Gradle and the snippets produced by each build were verified. Now each sample is only built with either Maven or Gradle. This commit updates the snippet verification process to look for snippets in the location that’s appropriate for the sample’s build system. --- .../build/SampleBuildConfigurer.groovy | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/buildSrc/src/main/groovy/org/springframework/restdocs/build/SampleBuildConfigurer.groovy b/buildSrc/src/main/groovy/org/springframework/restdocs/build/SampleBuildConfigurer.groovy index 7551ecf2..0a021abe 100644 --- a/buildSrc/src/main/groovy/org/springframework/restdocs/build/SampleBuildConfigurer.groovy +++ b/buildSrc/src/main/groovy/org/springframework/restdocs/build/SampleBuildConfigurer.groovy @@ -37,13 +37,15 @@ public class SampleBuildConfigurer { } Task createTask(Project project, Object... dependencies) { - Task verifyIncludes = verifyIncludes(project) + Task verifyIncludes if (new File(this.workingDir, 'build.gradle').isFile()) { - Task gradleBuild = gradleBuild(project, dependencies) + Task gradleBuild = createGradleBuild(project, dependencies) + verifyIncludes = createVerifyIncludes(project, new File(this.workingDir, 'build/asciidoc')) verifyIncludes.dependsOn gradleBuild } if (new File(this.workingDir, 'pom.xml').isFile()) { - Task mavenBuild = mavenBuild(project, dependencies) + Task mavenBuild = createMavenBuild(project, dependencies) + verifyIncludes = createVerifyIncludes(project, new File(this.workingDir, 'target/generated-docs')) verifyIncludes.dependsOn(mavenBuild) } Task sampleBuild = project.tasks.create name @@ -53,7 +55,7 @@ public class SampleBuildConfigurer { return sampleBuild } - private Task mavenBuild(Project project, Object... dependencies) { + private Task createMavenBuild(Project project, Object... dependencies) { Task mavenBuild = project.tasks.create("${name}Maven", Exec) mavenBuild.description = "Builds the ${name} sample with Maven" mavenBuild.group = "Build" @@ -66,7 +68,7 @@ public class SampleBuildConfigurer { return mavenBuild } - private Task gradleBuild(Project project, Object... dependencies) { + private Task createGradleBuild(Project project, Object... dependencies) { Task gradleBuild = project.tasks.create("${name}Gradle", GradleBuild) gradleBuild.description = "Builds the ${name} sample with Gradle" gradleBuild.group = "Build" @@ -76,19 +78,16 @@ public class SampleBuildConfigurer { return gradleBuild } - private Task verifyIncludes(Project project) { + private Task createVerifyIncludes(Project project, File buildDir) { Task verifyIncludes = project.tasks.create("${name}VerifyIncludes") verifyIncludes.description = "Verifies the includes in the ${name} sample" verifyIncludes << { Map unprocessedIncludes = [:] - [new File(this.workingDir, "build/asciidoc"), - new File(this.workingDir, "target/generated-docs")].each { buildDir -> - buildDir.eachFileRecurse { file -> - if (file.name.endsWith('.html')) { - file.eachLine { line -> - if (line.contains(new File(this.workingDir).absolutePath)) { - unprocessedIncludes.get(file, []).add(line) - } + buildDir.eachFileRecurse { file -> + if (file.name.endsWith('.html')) { + file.eachLine { line -> + if (line.contains(new File(this.workingDir).absolutePath)) { + unprocessedIncludes.get(file, []).add(line) } } }