Allow to override build options for particular builds.

^KT-45745 In Progress
This commit is contained in:
Yahor Berdnikau
2021-06-17 12:08:06 +02:00
parent 25192cd639
commit 7958307d28
@@ -71,9 +71,14 @@ fun TestProject.build(
vararg buildArguments: String, vararg buildArguments: String,
forceOutput: Boolean = this.forceOutput, forceOutput: Boolean = this.forceOutput,
enableGradleDebug: Boolean = this.enableGradleDebug, enableGradleDebug: Boolean = this.enableGradleDebug,
buildOptions: KGPBaseTest.BuildOptions = this.buildOptions,
assertions: BuildResult.() -> Unit = {} assertions: BuildResult.() -> Unit = {}
) { ) {
val allBuildArguments = commonBuildSetup(buildArguments.toList()) val allBuildArguments = commonBuildSetup(
buildArguments.toList(),
buildOptions,
gradleVersion
)
val gradleRunnerForBuild = gradleRunner val gradleRunnerForBuild = gradleRunner
.also { if (forceOutput) it.forwardOutput() } .also { if (forceOutput) it.forwardOutput() }
.withDebug(enableGradleDebug) .withDebug(enableGradleDebug)
@@ -91,9 +96,14 @@ fun TestProject.buildAndFail(
vararg buildArguments: String, vararg buildArguments: String,
forceOutput: Boolean = this.forceOutput, forceOutput: Boolean = this.forceOutput,
enableGradleDebug: Boolean = this.enableGradleDebug, enableGradleDebug: Boolean = this.enableGradleDebug,
buildOptions: KGPBaseTest.BuildOptions = this.buildOptions,
assertions: BuildResult.() -> Unit = {} assertions: BuildResult.() -> Unit = {}
) { ) {
val allBuildArguments = commonBuildSetup(buildArguments.toList()) val allBuildArguments = commonBuildSetup(
buildArguments.toList(),
buildOptions,
gradleVersion
)
val gradleRunnerForBuild = gradleRunner val gradleRunnerForBuild = gradleRunner
.also { if (forceOutput) it.forwardOutput() } .also { if (forceOutput) it.forwardOutput() }
.withDebug(enableGradleDebug) .withDebug(enableGradleDebug)
@@ -150,8 +160,10 @@ class TestProject(
): Path = classesDir(sourceSet, language = "kotlin") ): Path = classesDir(sourceSet, language = "kotlin")
} }
private fun TestProject.commonBuildSetup( private fun commonBuildSetup(
buildArguments: List<String> buildArguments: List<String>,
buildOptions: KGPBaseTest.BuildOptions,
gradleVersion: GradleVersion
): List<String> { ): List<String> {
val buildOptionsArguments = buildOptions.toArguments(gradleVersion) val buildOptionsArguments = buildOptions.toArguments(gradleVersion)
return buildOptionsArguments + buildArguments + "--full-stacktrace" return buildOptionsArguments + buildArguments + "--full-stacktrace"