[Gradle] Don't show false positive warning about old hmpp flags
When HMPP is enabled by default it is still printing warnings about enableDependencyPropagation and enableGranularSourceSetsMetadata flags #KT-48818 Fixed
This commit is contained in:
+7
@@ -493,6 +493,13 @@ abstract class BaseGradleIT {
|
|||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun CompiledProject.assertDoesNotContain(vararg notExpected: String, ignoreCase: Boolean = false): CompiledProject {
|
||||||
|
for (str in notExpected) {
|
||||||
|
assertFalse(output.contains(str.normalize(), ignoreCase), "Output should not contain '$str'")
|
||||||
|
}
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
fun CompiledProject.assertContainsRegex(expected: Regex): CompiledProject {
|
fun CompiledProject.assertContainsRegex(expected: Regex): CompiledProject {
|
||||||
assertTrue(expected.containsMatchIn(output), "Output should contain pattern '$expected'")
|
assertTrue(expected.containsMatchIn(output), "Output should contain pattern '$expected'")
|
||||||
return this
|
return this
|
||||||
|
|||||||
+10
@@ -20,6 +20,7 @@ internal class MppFlagsMigrationIT : BaseGradleIT() {
|
|||||||
var dependencyPropagationFlag: Boolean? = null,
|
var dependencyPropagationFlag: Boolean? = null,
|
||||||
var expectedToPass: Boolean = true,
|
var expectedToPass: Boolean = true,
|
||||||
var expectedPhraseInOutput: String? = null,
|
var expectedPhraseInOutput: String? = null,
|
||||||
|
var notExpectedPhraseInOutput: String? = null,
|
||||||
) {
|
) {
|
||||||
constructor(configure: TestCase.() -> Unit) : this() {
|
constructor(configure: TestCase.() -> Unit) : this() {
|
||||||
configure()
|
configure()
|
||||||
@@ -32,6 +33,13 @@ internal class MppFlagsMigrationIT : BaseGradleIT() {
|
|||||||
companion object {
|
companion object {
|
||||||
@OptIn(ExperimentalStdlibApi::class)
|
@OptIn(ExperimentalStdlibApi::class)
|
||||||
private val testCases = buildList {
|
private val testCases = buildList {
|
||||||
|
add(TestCase {
|
||||||
|
hierarchiesByDefault = true
|
||||||
|
granularMetadataFlag = null
|
||||||
|
dependencyPropagationFlag = null
|
||||||
|
expectedToPass = true
|
||||||
|
notExpectedPhraseInOutput = "It is safe to remove the property."
|
||||||
|
})
|
||||||
add(TestCase {
|
add(TestCase {
|
||||||
hierarchiesByDefault = true
|
hierarchiesByDefault = true
|
||||||
granularMetadataFlag = true
|
granularMetadataFlag = true
|
||||||
@@ -100,6 +108,7 @@ internal class MppFlagsMigrationIT : BaseGradleIT() {
|
|||||||
Project("new-mpp-published").apply {
|
Project("new-mpp-published").apply {
|
||||||
setupWorkingDir()
|
setupWorkingDir()
|
||||||
gradleBuildScript().modify(::transformBuildScriptWithPluginsDsl)
|
gradleBuildScript().modify(::transformBuildScriptWithPluginsDsl)
|
||||||
|
gradleProperties().delete()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -128,6 +137,7 @@ internal class MppFlagsMigrationIT : BaseGradleIT() {
|
|||||||
assertFailed()
|
assertFailed()
|
||||||
|
|
||||||
testCase.expectedPhraseInOutput?.let { assertContains(it, ignoreCase = true) }
|
testCase.expectedPhraseInOutput?.let { assertContains(it, ignoreCase = true) }
|
||||||
|
testCase.notExpectedPhraseInOutput?.let { assertDoesNotContain(it, ignoreCase = true) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+6
-4
@@ -14,11 +14,13 @@ import org.jetbrains.kotlin.gradle.utils.SingleWarningPerBuild
|
|||||||
import org.jetbrains.kotlin.gradle.utils.getOrPut
|
import org.jetbrains.kotlin.gradle.utils.getOrPut
|
||||||
|
|
||||||
internal fun handleHierarchicalStructureFlagsMigration(project: Project) {
|
internal fun handleHierarchicalStructureFlagsMigration(project: Project) {
|
||||||
SingleActionPerProject.run(project.rootProject, "handleHierarchicalStructureFlagsMigration - rootProject") {
|
if (project.rootProject === project) {
|
||||||
doHandleHierarchicalStructureFlagsMigration(project.rootProject)
|
SingleActionPerProject.run(project.rootProject, "handleHierarchicalStructureFlagsMigration - rootProject") {
|
||||||
|
doHandleHierarchicalStructureFlagsMigration(project.rootProject)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
doHandleHierarchicalStructureFlagsMigration(project)
|
||||||
}
|
}
|
||||||
|
|
||||||
doHandleHierarchicalStructureFlagsMigration(project)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun doHandleHierarchicalStructureFlagsMigration(project: Project) {
|
private fun doHandleHierarchicalStructureFlagsMigration(project: Project) {
|
||||||
|
|||||||
Reference in New Issue
Block a user