diff options
author | Rene Groeschke <rene@gradle.com> | 2015-12-29 15:56:04 +0100 |
---|---|---|
committer | Rene Groeschke <rene@gradle.com> | 2015-12-29 15:56:04 +0100 |
commit | edb3e94f2e2c14b6f6cd899f0fe5d8227c7f2dbd (patch) | |
tree | bbf31f8f5df697ab17d7e6779e84d1195bff67ba | |
parent | 7fb3f43096fa6b142eb059e1eeaca79abcaa3009 (diff) | |
download | frege-gradle-plugin-edb3e94f2e2c14b6f6cd899f0fe5d8227c7f2dbd.tar.gz frege-gradle-plugin-edb3e94f2e2c14b6f6cd899f0fe5d8227c7f2dbd.tar.bz2 frege-gradle-plugin-edb3e94f2e2c14b6f6cd899f0fe5d8227c7f2dbd.zip |
workaround for failing fregedoc when ignoring java sources
3 files changed, 16 insertions, 13 deletions
diff --git a/src/integTest/groovy/frege/gradle/plugins/FregePluginIntegTest.groovy b/src/integTest/groovy/frege/gradle/plugins/FregePluginIntegTest.groovy index c394e48..4142790 100644 --- a/src/integTest/groovy/frege/gradle/plugins/FregePluginIntegTest.groovy +++ b/src/integTest/groovy/frege/gradle/plugins/FregePluginIntegTest.groovy @@ -1,10 +1,10 @@ package frege.gradle.plugins - import frege.gradle.integtest.fixtures.AbstractFregeIntegrationSpec import org.gradle.testkit.runner.BuildResult -import spock.lang.Ignore import spock.lang.Unroll -import static org.gradle.testkit.runner.TaskOutcome.* + +import static org.gradle.testkit.runner.TaskOutcome.SUCCESS +import static org.gradle.testkit.runner.TaskOutcome.UP_TO_DATE class FregePluginIntegTest extends AbstractFregeIntegrationSpec { @@ -112,7 +112,6 @@ class FregePluginIntegTest extends AbstractFregeIntegrationSpec { } - @Ignore def "frege doc works with mixed sources"() { given: buildFile << """ @@ -130,7 +129,6 @@ class FregePluginIntegTest extends AbstractFregeIntegrationSpec { result.task(":fregeDoc").outcome == SUCCESS } - def "supports additional source sets"() { given: buildFile << """ diff --git a/src/main/groovy/frege/gradle/plugins/FregePlugin.groovy b/src/main/groovy/frege/gradle/plugins/FregePlugin.groovy index 13c1e9a..b2ca074 100644 --- a/src/main/groovy/frege/gradle/plugins/FregePlugin.groovy +++ b/src/main/groovy/frege/gradle/plugins/FregePlugin.groovy @@ -5,9 +5,7 @@ import frege.gradle.tasks.FregeQuickCheck import frege.gradle.tasks.FregeRepl import org.gradle.api.Plugin import org.gradle.api.Project -import org.gradle.api.file.FileCollection import org.gradle.api.tasks.SourceSet -import org.gradle.api.tasks.util.PatternSet class FregePlugin implements Plugin<Project> { @@ -43,8 +41,4 @@ class FregePlugin implements Plugin<Project> { fregeDoc.classpath = mainSourceSet.runtimeClasspath } - - FileCollection findJavaModulesToExclude(SourceSet sourceSet) { - return sourceSet.allJava.asFileTree.matching { PatternSet pattern -> pattern.include("**/*.java")} - } } diff --git a/src/main/groovy/frege/gradle/tasks/FregeDoc.groovy b/src/main/groovy/frege/gradle/tasks/FregeDoc.groovy index af4b924..30f62c6 100644 --- a/src/main/groovy/frege/gradle/tasks/FregeDoc.groovy +++ b/src/main/groovy/frege/gradle/tasks/FregeDoc.groovy @@ -1,7 +1,9 @@ package frege.gradle.tasks +import org.apache.commons.io.output.TeeOutputStream import org.gradle.api.Action import org.gradle.api.DefaultTask +import org.gradle.api.GradleException import org.gradle.api.file.FileCollection import org.gradle.api.tasks.Input import org.gradle.api.tasks.Optional @@ -50,6 +52,8 @@ class FregeDoc extends DefaultTask { @TaskAction void fregedoc() { + ByteArrayOutputStream berr = new ByteArrayOutputStream() + def teeOutputStream = new TeeOutputStream(System.err, berr) def result = project.javaexec(new Action<JavaExecSpec>() { @Override void execute(JavaExecSpec javaExecSpec) { @@ -65,11 +69,18 @@ class FregeDoc extends DefaultTask { javaExecSpec.workingDir = project.projectDir javaExecSpec.standardInput = System.in javaExecSpec.standardOutput = System.out - javaExecSpec.errorOutput = System.err + javaExecSpec.errorOutput = teeOutputStream javaExecSpec.classpath = this.classpath + + javaExecSpec.ignoreExitValue = true } }) - } + //Workaround for failing with java sources. should result in exit value 0 anyway. + def berrString = berr.toString() + if (result.exitValue !=0 && !berrString.contains("there were errors for")) { + throw new GradleException("Non zero exit value running FregeDoc."); + } + } } |