Avoid resolving deprecated configurations in tests (#3970)
* Avoid resolving deprecated configurations in tests This PR enables more integration tests run with warning-mode=fail by updating "resolveAllConfigurations" task in a way where we don't resolve deprecated configurations and instead check dependencies on alternative configurations. * Add custom resolvable configuration for testing
This commit is contained in:
+1
-1
@@ -776,7 +776,7 @@ class KotlinGradleIT : BaseGradleIT() {
|
|||||||
setupWorkingDir()
|
setupWorkingDir()
|
||||||
// Add a dependency with an explicit lower Kotlin version that has a kotlin-stdlib transitive dependency:
|
// Add a dependency with an explicit lower Kotlin version that has a kotlin-stdlib transitive dependency:
|
||||||
gradleBuildScript().appendText("\ndependencies { implementation 'org.jetbrains.kotlin:kotlin-reflect:1.2.71' }")
|
gradleBuildScript().appendText("\ndependencies { implementation 'org.jetbrains.kotlin:kotlin-reflect:1.2.71' }")
|
||||||
testResolveAllConfigurations(options = defaultBuildOptions().copy(warningMode = WarningMode.Summary)) {
|
testResolveAllConfigurations {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
assertContains(">> :compileClasspath --> kotlin-reflect-1.2.71.jar")
|
assertContains(">> :compileClasspath --> kotlin-reflect-1.2.71.jar")
|
||||||
// Check that the default newer Kotlin version still wins for 'kotlin-stdlib':
|
// Check that the default newer Kotlin version still wins for 'kotlin-stdlib':
|
||||||
|
|||||||
+7
-9
@@ -1368,14 +1368,12 @@ class NewMultiplatformIT : BaseGradleIT() {
|
|||||||
fun testDependenciesDsl() = with(transformProjectWithPluginsDsl("newMppDependenciesDsl")) {
|
fun testDependenciesDsl() = with(transformProjectWithPluginsDsl("newMppDependenciesDsl")) {
|
||||||
val originalBuildscriptContent = gradleBuildScript("app").readText()
|
val originalBuildscriptContent = gradleBuildScript("app").readText()
|
||||||
|
|
||||||
fun testDependencies() =
|
fun testDependencies() = testResolveAllConfigurations("app") {
|
||||||
testResolveAllConfigurations("app", options = defaultBuildOptions().copy(warningMode = WarningMode.Summary)) {
|
assertContains(">> :app:testNonTransitiveStringNotationApiDependenciesMetadata --> junit-4.12.jar")
|
||||||
assertContains(">> :app:testNonTransitiveStringNotationApiDependenciesMetadata --> junit-4.12.jar")
|
assertEquals(
|
||||||
assertEquals(
|
1,
|
||||||
1,
|
(Regex.escape(">> :app:testNonTransitiveStringNotationApiDependenciesMetadata") + " .*").toRegex().findAll(output).count()
|
||||||
(Regex.escape(">> :app:testNonTransitiveStringNotationApiDependenciesMetadata") + " .*").toRegex().findAll(output)
|
)
|
||||||
.count()
|
|
||||||
)
|
|
||||||
|
|
||||||
assertContains(">> :app:testNonTransitiveDependencyNotationApiDependenciesMetadata --> kotlin-reflect-${defaultBuildOptions().kotlinVersion}.jar")
|
assertContains(">> :app:testNonTransitiveDependencyNotationApiDependenciesMetadata --> kotlin-reflect-${defaultBuildOptions().kotlinVersion}.jar")
|
||||||
assertEquals(
|
assertEquals(
|
||||||
@@ -1405,7 +1403,7 @@ class NewMultiplatformIT : BaseGradleIT() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testMultipleTargetsSamePlatform() = with(Project("newMppMultipleTargetsSamePlatform", gradleVersion)) {
|
fun testMultipleTargetsSamePlatform() = with(Project("newMppMultipleTargetsSamePlatform", gradleVersion)) {
|
||||||
testResolveAllConfigurations("app", options = defaultBuildOptions().copy(warningMode = WarningMode.Summary)) {
|
testResolveAllConfigurations("app") {
|
||||||
assertContains(">> :app:junitCompileClasspath --> lib-junit.jar")
|
assertContains(">> :app:junitCompileClasspath --> lib-junit.jar")
|
||||||
assertContains(">> :app:junitCompileClasspath --> junit-4.12.jar")
|
assertContains(">> :app:junitCompileClasspath --> junit-4.12.jar")
|
||||||
|
|
||||||
|
|||||||
+34
-29
@@ -14,10 +14,6 @@ import kotlin.test.assertTrue
|
|||||||
class VariantAwareDependenciesIT : BaseGradleIT() {
|
class VariantAwareDependenciesIT : BaseGradleIT() {
|
||||||
private val gradleVersion = GradleVersionRequired.FOR_MPP_SUPPORT
|
private val gradleVersion = GradleVersionRequired.FOR_MPP_SUPPORT
|
||||||
|
|
||||||
override fun defaultBuildOptions(): BuildOptions {
|
|
||||||
return super.defaultBuildOptions().copy(warningMode = WarningMode.Summary)
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testJvmKtAppResolvesMppLib() {
|
fun testJvmKtAppResolvesMppLib() {
|
||||||
val outerProject = Project("sample-lib", gradleVersion, "new-mpp-lib-and-app")
|
val outerProject = Project("sample-lib", gradleVersion, "new-mpp-lib-and-app")
|
||||||
@@ -25,10 +21,9 @@ class VariantAwareDependenciesIT : BaseGradleIT() {
|
|||||||
|
|
||||||
with(outerProject) {
|
with(outerProject) {
|
||||||
embedProject(innerProject)
|
embedProject(innerProject)
|
||||||
gradleBuildScript(innerProject.projectName).appendText("\ndependencies { compile rootProject }")
|
gradleBuildScript(innerProject.projectName).appendText("\ndependencies { implementation rootProject }")
|
||||||
|
|
||||||
testResolveAllConfigurations(innerProject.projectName) {
|
testResolveAllConfigurations(innerProject.projectName) {
|
||||||
assertContains(">> :${innerProject.projectName}:runtime --> sample-lib-jvm6-1.0.jar")
|
assertContains(">> :${innerProject.projectName}:runtimeClasspath --> sample-lib-jvm6-1.0.jar")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -40,21 +35,23 @@ class VariantAwareDependenciesIT : BaseGradleIT() {
|
|||||||
|
|
||||||
with(outerProject) {
|
with(outerProject) {
|
||||||
embedProject(innerProject)
|
embedProject(innerProject)
|
||||||
gradleBuildScript(innerProject.projectName).appendText("\nrepositories { jcenter() }; dependencies { compile rootProject }")
|
gradleBuildScript(innerProject.projectName).appendText("\nrepositories { jcenter() }; dependencies { implementation rootProject }")
|
||||||
|
|
||||||
testResolveAllConfigurations(
|
testResolveAllConfigurations(
|
||||||
subproject = innerProject.projectName
|
subproject = innerProject.projectName,
|
||||||
|
options = defaultBuildOptions().copy(warningMode = WarningMode.Summary)
|
||||||
) {
|
) {
|
||||||
assertContains(">> :${innerProject.projectName}:runtime --> sample-lib-nodejs-1.0.jar")
|
assertContains(">> :${innerProject.projectName}:runtimeClasspath --> sample-lib-nodejs-1.0.jar")
|
||||||
}
|
}
|
||||||
|
|
||||||
gradleProperties().appendText(jsCompilerType(KotlinJsCompilerType.IR))
|
gradleProperties().appendText(jsCompilerType(KotlinJsCompilerType.IR))
|
||||||
|
|
||||||
testResolveAllConfigurations(
|
testResolveAllConfigurations(
|
||||||
subproject = innerProject.projectName,
|
subproject = innerProject.projectName,
|
||||||
skipSetup = true
|
skipSetup = true,
|
||||||
|
options = defaultBuildOptions().copy(warningMode = WarningMode.Summary)
|
||||||
) {
|
) {
|
||||||
assertContains(">> :${innerProject.projectName}:runtime --> sample-lib-nodejs-1.0.klib")
|
assertContains(">> :${innerProject.projectName}:runtimeClasspath --> sample-lib-nodejs-1.0.klib")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -81,7 +78,7 @@ class VariantAwareDependenciesIT : BaseGradleIT() {
|
|||||||
embedProject(innerProject)
|
embedProject(innerProject)
|
||||||
gradleBuildScript().appendText("\ndependencies { nodeJsMainImplementation project(':${innerProject.projectName}') }")
|
gradleBuildScript().appendText("\ndependencies { nodeJsMainImplementation project(':${innerProject.projectName}') }")
|
||||||
|
|
||||||
testResolveAllConfigurations(innerProject.projectName)
|
testResolveAllConfigurations(innerProject.projectName, options = defaultBuildOptions().copy(warningMode = WarningMode.Summary))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,7 +107,7 @@ class VariantAwareDependenciesIT : BaseGradleIT() {
|
|||||||
|
|
||||||
with(outerProject) {
|
with(outerProject) {
|
||||||
embedProject(innerProject)
|
embedProject(innerProject)
|
||||||
gradleBuildScript(innerProject.projectName).appendText("\ndependencies { compile rootProject }")
|
gradleBuildScript(innerProject.projectName).appendText("\ndependencies { implementation rootProject }")
|
||||||
|
|
||||||
testResolveAllConfigurations(innerProject.projectName)
|
testResolveAllConfigurations(innerProject.projectName)
|
||||||
}
|
}
|
||||||
@@ -123,7 +120,7 @@ class VariantAwareDependenciesIT : BaseGradleIT() {
|
|||||||
|
|
||||||
with(outerProject) {
|
with(outerProject) {
|
||||||
embedProject(innerProject)
|
embedProject(innerProject)
|
||||||
gradleBuildScript(innerProject.projectName).appendText("\ndependencies { compile rootProject }")
|
gradleBuildScript(innerProject.projectName).appendText("\ndependencies { implementation rootProject }")
|
||||||
|
|
||||||
testResolveAllConfigurations(innerProject.projectName)
|
testResolveAllConfigurations(innerProject.projectName)
|
||||||
}
|
}
|
||||||
@@ -136,7 +133,7 @@ class VariantAwareDependenciesIT : BaseGradleIT() {
|
|||||||
|
|
||||||
with(outerProject) {
|
with(outerProject) {
|
||||||
embedProject(innerProject)
|
embedProject(innerProject)
|
||||||
gradleBuildScript(innerProject.projectName).appendText("\ndependencies { compile rootProject }")
|
gradleBuildScript(innerProject.projectName).appendText("\ndependencies { implementation rootProject }")
|
||||||
|
|
||||||
gradleBuildScript(innerProject.projectName).appendText(
|
gradleBuildScript(innerProject.projectName).appendText(
|
||||||
// Newer Gradle versions fail to resolve the deprecated configurations because of variant-aware resolution ambiguity between
|
// Newer Gradle versions fail to resolve the deprecated configurations because of variant-aware resolution ambiguity between
|
||||||
@@ -150,7 +147,7 @@ class VariantAwareDependenciesIT : BaseGradleIT() {
|
|||||||
""".trimIndent()
|
""".trimIndent()
|
||||||
)
|
)
|
||||||
|
|
||||||
testResolveAllConfigurations(innerProject.projectName)
|
testResolveAllConfigurations(innerProject.projectName, options = defaultBuildOptions().copy(warningMode = WarningMode.Summary))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -175,7 +172,7 @@ class VariantAwareDependenciesIT : BaseGradleIT() {
|
|||||||
""".trimIndent()
|
""".trimIndent()
|
||||||
)
|
)
|
||||||
|
|
||||||
testResolveAllConfigurations(innerJvmProject.projectName)
|
testResolveAllConfigurations(innerJvmProject.projectName, options = defaultBuildOptions().copy(warningMode = WarningMode.Summary))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,12 +185,12 @@ class VariantAwareDependenciesIT : BaseGradleIT() {
|
|||||||
embedProject(innerProject)
|
embedProject(innerProject)
|
||||||
|
|
||||||
gradleBuildScript(innerProject.projectName).appendText(
|
gradleBuildScript(innerProject.projectName).appendText(
|
||||||
"\ndependencies { testCompile project(path: ':', configuration: 'jvm6TestRuntime') }"
|
"\ndependencies { testImplementation project(path: ':', configuration: 'jvm6TestRuntime') }"
|
||||||
)
|
)
|
||||||
|
|
||||||
testResolveAllConfigurations(innerProject.projectName) {
|
testResolveAllConfigurations(innerProject.projectName) {
|
||||||
assertContains(">> :${innerProject.projectName}:testCompile --> sample-lib-jvm6-1.0.jar")
|
assertContains(">> :${innerProject.projectName}:testCompileClasspath --> sample-lib-jvm6-1.0.jar")
|
||||||
assertContains(">> :${innerProject.projectName}:testRuntime --> sample-lib-jvm6-1.0.jar")
|
assertContains(">> :${innerProject.projectName}:testRuntimeClasspath --> sample-lib-jvm6-1.0.jar")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -220,7 +217,7 @@ class VariantAwareDependenciesIT : BaseGradleIT() {
|
|||||||
|
|
||||||
testResolveAllConfigurations(
|
testResolveAllConfigurations(
|
||||||
project.projectName,
|
project.projectName,
|
||||||
excludePredicate = "it.name in ['compile', 'runtime', 'testCompile', 'testRuntime', 'default']"
|
options = defaultBuildOptions().copy(warningMode = WarningMode.Summary)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -229,7 +226,6 @@ class VariantAwareDependenciesIT : BaseGradleIT() {
|
|||||||
@Test
|
@Test
|
||||||
fun testResolvesOldKotlinArtifactsPublishedWithMetadata() = with(Project("multiplatformProject", gradleVersion)) {
|
fun testResolvesOldKotlinArtifactsPublishedWithMetadata() = with(Project("multiplatformProject", gradleVersion)) {
|
||||||
setupWorkingDir()
|
setupWorkingDir()
|
||||||
projectDir.resolve("settings.gradle").appendText("\nenableFeaturePreview 'GRADLE_METADATA'")
|
|
||||||
gradleBuildScript().appendText(
|
gradleBuildScript().appendText(
|
||||||
"\n" + """
|
"\n" + """
|
||||||
configure([project(':lib'), project(':libJvm'), project(':libJs')]) {
|
configure([project(':lib'), project(':libJvm'), project(':libJs')]) {
|
||||||
@@ -252,13 +248,13 @@ class VariantAwareDependenciesIT : BaseGradleIT() {
|
|||||||
"\nsubprojects { repositories { maven { url \"file://${'$'}{rootDir.absolutePath.replace('\\\\', '/')}/repo\" } } }"
|
"\nsubprojects { repositories { maven { url \"file://${'$'}{rootDir.absolutePath.replace('\\\\', '/')}/repo\" } } }"
|
||||||
}
|
}
|
||||||
|
|
||||||
gradleBuildScript("lib").appendText("\ndependencies { compile 'com.example.oldmpp:lib:1.0' }")
|
gradleBuildScript("lib").appendText("\ndependencies { implementation 'com.example.oldmpp:lib:1.0' }")
|
||||||
testResolveAllConfigurations("lib")
|
testResolveAllConfigurations("lib")
|
||||||
|
|
||||||
gradleBuildScript("libJvm").appendText("\ndependencies { compile 'com.example.oldmpp:libJvm:1.0' }")
|
gradleBuildScript("libJvm").appendText("\ndependencies { implementation 'com.example.oldmpp:libJvm:1.0' }")
|
||||||
testResolveAllConfigurations("libJvm")
|
testResolveAllConfigurations("libJvm")
|
||||||
|
|
||||||
gradleBuildScript("libJs").appendText("\ndependencies { compile 'com.example.oldmpp:libJs:1.0' }")
|
gradleBuildScript("libJs").appendText("\ndependencies { implementation 'com.example.oldmpp:libJs:1.0' }")
|
||||||
testResolveAllConfigurations("libJs")
|
testResolveAllConfigurations("libJs")
|
||||||
|
|
||||||
embedProject(Project("sample-lib", directoryPrefix = "new-mpp-lib-and-app"))
|
embedProject(Project("sample-lib", directoryPrefix = "new-mpp-lib-and-app"))
|
||||||
@@ -287,13 +283,22 @@ class VariantAwareDependenciesIT : BaseGradleIT() {
|
|||||||
// variants chosen over the runtime ones when resolving a configuration with no required Usage:
|
// variants chosen over the runtime ones when resolving a configuration with no required Usage:
|
||||||
with(Project("simpleProject")) {
|
with(Project("simpleProject")) {
|
||||||
setupWorkingDir()
|
setupWorkingDir()
|
||||||
gradleBuildScript().appendText("\ndependencies { compile 'org.jetbrains.kotlin:kotlin-compiler-embeddable' }")
|
gradleBuildScript().appendText(
|
||||||
|
"\n" + """
|
||||||
|
dependencies { implementation 'org.jetbrains.kotlin:kotlin-compiler-embeddable' }
|
||||||
|
|
||||||
|
configurations {
|
||||||
|
customConfiguration.extendsFrom implementation
|
||||||
|
customConfiguration.canBeResolved(true)
|
||||||
|
}
|
||||||
|
""".trimIndent()
|
||||||
|
)
|
||||||
|
|
||||||
testResolveAllConfigurations {
|
testResolveAllConfigurations {
|
||||||
assertContains(">> :compile --> kotlin-compiler-embeddable-${defaultBuildOptions().kotlinVersion}.jar")
|
assertContains(">> :customConfiguration --> kotlin-compiler-embeddable-${defaultBuildOptions().kotlinVersion}.jar")
|
||||||
|
|
||||||
// Check that the transitive dependencies with 'runtime' scope are also available:
|
// Check that the transitive dependencies with 'runtime' scope are also available:
|
||||||
assertContains(">> :compile --> kotlin-script-runtime-${defaultBuildOptions().kotlinVersion}.jar")
|
assertContains(">> :customConfiguration --> kotlin-script-runtime-${defaultBuildOptions().kotlinVersion}.jar")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+33
-8
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.util
|
package org.jetbrains.kotlin.gradle.util
|
||||||
|
|
||||||
import org.gradle.api.logging.configuration.WarningMode
|
|
||||||
import org.jetbrains.kotlin.gradle.BaseGradleIT
|
import org.jetbrains.kotlin.gradle.BaseGradleIT
|
||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
@@ -16,7 +15,7 @@ private val unresolvedConfigurationRegex = "${Regex.escape(UNRESOLVED_MARKER)}(.
|
|||||||
fun BaseGradleIT.Project.testResolveAllConfigurations(
|
fun BaseGradleIT.Project.testResolveAllConfigurations(
|
||||||
subproject: String? = null,
|
subproject: String? = null,
|
||||||
skipSetup: Boolean = false,
|
skipSetup: Boolean = false,
|
||||||
excludePredicate: String = "false",
|
excludeConfigurations: List<String> = listOf(),
|
||||||
options: BaseGradleIT.BuildOptions = testCase.defaultBuildOptions(),
|
options: BaseGradleIT.BuildOptions = testCase.defaultBuildOptions(),
|
||||||
withUnresolvedConfigurationNames: BaseGradleIT.CompiledProject.(List<String>) -> Unit = { assertTrue("Unresolved configurations: $it") { it.isEmpty() } }
|
withUnresolvedConfigurationNames: BaseGradleIT.CompiledProject.(List<String>) -> Unit = { assertTrue("Unresolved configurations: $it") { it.isEmpty() } }
|
||||||
) = with(testCase) {
|
) = with(testCase) {
|
||||||
@@ -25,8 +24,8 @@ fun BaseGradleIT.Project.testResolveAllConfigurations(
|
|||||||
setupWorkingDir()
|
setupWorkingDir()
|
||||||
gradleBuildScript(subproject).run {
|
gradleBuildScript(subproject).run {
|
||||||
val taskCode = when (extension) {
|
val taskCode = when (extension) {
|
||||||
"gradle" -> generateResolveAllConfigurationsTask(excludePredicate)
|
"gradle" -> generateResolveAllConfigurationsTask(excludeConfigurations)
|
||||||
"kts" -> generateResolveAllConfigurationsTaskKts(excludePredicate)
|
"kts" -> generateResolveAllConfigurationsTaskKts(excludeConfigurations)
|
||||||
else -> error("Unexpected build script extension $extension")
|
else -> error("Unexpected build script extension $extension")
|
||||||
}
|
}
|
||||||
appendText("\n" + taskCode)
|
appendText("\n" + taskCode)
|
||||||
@@ -41,13 +40,16 @@ fun BaseGradleIT.Project.testResolveAllConfigurations(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun generateResolveAllConfigurationsTask(exclude: String) =
|
private fun generateResolveAllConfigurationsTask(excludes: List<String>) =
|
||||||
"""
|
"""
|
||||||
task $RESOLVE_ALL_CONFIGURATIONS_TASK_NAME {
|
task $RESOLVE_ALL_CONFIGURATIONS_TASK_NAME {
|
||||||
doFirst {
|
doFirst {
|
||||||
|
def excludeConfigs = ["default", "archives"]
|
||||||
|
${computeExcludeConfigurations(excludes)}
|
||||||
|
|
||||||
project.configurations
|
project.configurations
|
||||||
.matching { it.canBeResolved }
|
.matching { it.canBeResolved }
|
||||||
.matching { !{ $exclude }.call(it) }
|
.matching { !excludeConfigs.contains(it.name) }
|
||||||
.each { configuration ->
|
.each { configuration ->
|
||||||
try {
|
try {
|
||||||
println "Resolving " + configuration.path
|
println "Resolving " + configuration.path
|
||||||
@@ -66,13 +68,16 @@ private fun generateResolveAllConfigurationsTask(exclude: String) =
|
|||||||
}
|
}
|
||||||
""".trimIndent()
|
""".trimIndent()
|
||||||
|
|
||||||
private fun generateResolveAllConfigurationsTaskKts(exclude: String) =
|
private fun generateResolveAllConfigurationsTaskKts(excludes: List<String>) =
|
||||||
"""
|
"""
|
||||||
tasks.create("$RESOLVE_ALL_CONFIGURATIONS_TASK_NAME") {
|
tasks.create("$RESOLVE_ALL_CONFIGURATIONS_TASK_NAME") {
|
||||||
doFirst {
|
doFirst {
|
||||||
|
val excludeConfigs = mutableListOf("default", "archives")
|
||||||
|
${computeExcludeConfigurations(excludes)}
|
||||||
|
|
||||||
project.configurations
|
project.configurations
|
||||||
.filter { it.isCanBeResolved }
|
.filter { it.isCanBeResolved }
|
||||||
.filterNot { $exclude }
|
.filterNot { excludeConfigs.contains(it.name) }
|
||||||
.forEach { configuration ->
|
.forEach { configuration ->
|
||||||
val path = (configuration as org.gradle.api.internal.artifacts.configurations.ConfigurationInternal).path
|
val path = (configuration as org.gradle.api.internal.artifacts.configurations.ConfigurationInternal).path
|
||||||
try {
|
try {
|
||||||
@@ -91,3 +96,23 @@ private fun generateResolveAllConfigurationsTaskKts(exclude: String) =
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
""".trimIndent()
|
""".trimIndent()
|
||||||
|
|
||||||
|
private fun computeExcludeConfigurations(excludes: List<String>): String {
|
||||||
|
val deprecatedConfigurations = listOf("compile", "runtime", "compileOnly", "runtimeOnly")
|
||||||
|
return """
|
||||||
|
sourceSets.forEach { sourceSet ->
|
||||||
|
"${deprecatedConfigurations.joinToString()}".split(", ").toList().forEach {
|
||||||
|
excludeConfigs.add(sourceSet.name + it.capitalize())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
"${deprecatedConfigurations.joinToString()}".split(", ").toList().forEach {
|
||||||
|
excludeConfigs.add(it)
|
||||||
|
excludeConfigs.add("test" + it.capitalize())
|
||||||
|
}
|
||||||
|
|
||||||
|
"${excludes.joinToString()}".split(", ").toList().forEach {
|
||||||
|
excludeConfigs.add(it)
|
||||||
|
}
|
||||||
|
""".trimIndent()
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user