Add 'testResolveAllConfigurations' assertion for new test DSL.
^KT-45745 In Progress
This commit is contained in:
+26
@@ -6,6 +6,8 @@
|
|||||||
package org.jetbrains.kotlin.gradle.util
|
package org.jetbrains.kotlin.gradle.util
|
||||||
|
|
||||||
import org.jetbrains.kotlin.gradle.BaseGradleIT
|
import org.jetbrains.kotlin.gradle.BaseGradleIT
|
||||||
|
import org.jetbrains.kotlin.gradle.testbase.*
|
||||||
|
import java.nio.file.Files
|
||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
private const val RESOLVE_ALL_CONFIGURATIONS_TASK_NAME = "resolveAllConfigurations"
|
private const val RESOLVE_ALL_CONFIGURATIONS_TASK_NAME = "resolveAllConfigurations"
|
||||||
@@ -40,6 +42,30 @@ fun BaseGradleIT.Project.testResolveAllConfigurations(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun TestProject.testResolveAllConfigurations(
|
||||||
|
subproject: String? = null,
|
||||||
|
skipSetup: Boolean = false,
|
||||||
|
excludeConfigurations: List<String> = listOf(),
|
||||||
|
options: BuildOptions = buildOptions,
|
||||||
|
withUnresolvedConfigurationNames: TestProject.(List<String>) -> Unit = { assertTrue("Unresolved configurations: $it") { it.isEmpty() } }
|
||||||
|
) {
|
||||||
|
if (!skipSetup) {
|
||||||
|
when {
|
||||||
|
Files.exists(buildGradle) -> buildGradle
|
||||||
|
.append("\n${generateResolveAllConfigurationsTask(excludeConfigurations)}")
|
||||||
|
Files.exists(buildGradleKts) -> buildGradleKts
|
||||||
|
.append("\n${generateResolveAllConfigurationsTaskKts(excludeConfigurations)}")
|
||||||
|
else -> error("Build script does not exists under $projectPath")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
build(RESOLVE_ALL_CONFIGURATIONS_TASK_NAME, buildOptions = options) {
|
||||||
|
assertTasksExecuted(":${subproject?.let { "$it:" }.orEmpty()}$RESOLVE_ALL_CONFIGURATIONS_TASK_NAME")
|
||||||
|
val unresolvedConfigurations = unresolvedConfigurationRegex.findAll(output).map { it.groupValues[1] }.toList()
|
||||||
|
withUnresolvedConfigurationNames(unresolvedConfigurations)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun generateResolveAllConfigurationsTask(excludes: List<String>) =
|
private fun generateResolveAllConfigurationsTask(excludes: List<String>) =
|
||||||
"""
|
"""
|
||||||
task $RESOLVE_ALL_CONFIGURATIONS_TASK_NAME {
|
task $RESOLVE_ALL_CONFIGURATIONS_TASK_NAME {
|
||||||
|
|||||||
Reference in New Issue
Block a user