Check the MPP model for unused Kotlin source sets, warn when found

Issue #KT-26963 Fixed
This commit is contained in:
Sergey Igushkin
2018-10-17 20:29:15 +03:00
parent 44d9ff6c71
commit 91b435b4bc
3 changed files with 94 additions and 9 deletions
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.gradle
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMultiplatformPlugin
import org.jetbrains.kotlin.gradle.plugin.mpp.UnusedSourceSetsChecker
import org.jetbrains.kotlin.gradle.plugin.sources.METADATA_CONFIGURATION_NAME_SUFFIX
import org.jetbrains.kotlin.gradle.plugin.sources.SourceSetConsistencyChecks
import org.jetbrains.kotlin.gradle.util.checkBytecodeContains
@@ -1062,4 +1063,34 @@ class NewMultiplatformIT : BaseGradleIT() {
assertFileExists("foo/2.txt")
}
}
@Test
fun testUnusedSourceSetsReport() = with(Project("sample-lib", gradleVersion, "new-mpp-lib-and-app")) {
setupWorkingDir()
gradleBuildScript().appendText("\nkotlin { sourceSets { foo { } } }")
build {
assertSuccessful()
assertContains(UnusedSourceSetsChecker.WARNING_PREFIX_ONE, UnusedSourceSetsChecker.WARNING_INTRO)
}
gradleBuildScript().appendText("\nkotlin { sourceSets { bar { dependsOn foo } } }")
build {
assertSuccessful()
assertContains(UnusedSourceSetsChecker.WARNING_PREFIX_MANY, UnusedSourceSetsChecker.WARNING_INTRO)
}
gradleBuildScript().appendText("\nkotlin { sourceSets { jvm6Main { dependsOn bar } } }")
build {
assertSuccessful()
assertNotContains(
UnusedSourceSetsChecker.WARNING_PREFIX_ONE,
UnusedSourceSetsChecker.WARNING_PREFIX_MANY,
UnusedSourceSetsChecker.WARNING_INTRO
)
}
}
}