[MPP] [Android] implement testKT49798AgpVersionAttrNotPublished
This test covers ^KT-49798 by publishing an Android library and checking that 'AgpVersionAttr' is not mentioned in any .module files of those publications.
This commit is contained in:
committed by
Space
parent
f864e19d95
commit
8c5f980c16
+23
@@ -513,6 +513,29 @@ open class KotlinAndroid71GradleIT : KotlinAndroid70GradleIT() {
|
||||
|
||||
override val defaultGradleVersion: GradleVersionRequired
|
||||
get() = GradleVersionRequired.AtLeast("7.2")
|
||||
|
||||
/**
|
||||
* Starting from AGP version 7.1.0-alpha13, a new attribute com.android.build.api.attributes.AgpVersionAttr was added.
|
||||
* This attribute is *not intended* to be published.
|
||||
*/
|
||||
@Test
|
||||
fun testKT49798AgpVersionAttrNotPublished() = with(Project("new-mpp-android")) {
|
||||
build("publish") {
|
||||
val debugPublicationDirectory = projectDir.resolve("lib/build/repo/com/example/lib-androidlib-debug")
|
||||
val releasePublicationDirectory = projectDir.resolve("lib/build/repo/com/example/lib-androidlib")
|
||||
|
||||
listOf(debugPublicationDirectory, releasePublicationDirectory).forEach { publicationDirectory ->
|
||||
assertTrue(publicationDirectory.exists(), "Missing publication directory: $publicationDirectory")
|
||||
val moduleFiles = publicationDirectory.walkTopDown().filter { file -> file.extension == "module" }.toList()
|
||||
assertTrue(moduleFiles.isNotEmpty(), "Missing .module file in $publicationDirectory")
|
||||
assertTrue(moduleFiles.size <= 1, "Multiple .module files in $publicationDirectory: $moduleFiles")
|
||||
|
||||
val moduleFile = moduleFiles.single()
|
||||
val moduleFileText = moduleFile.readText()
|
||||
assertTrue("AgpVersionAttr" !in moduleFileText, ".module file $moduleFile leaks AgpVersionAttr")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
open class KotlinAndroid34GradleIT : KotlinAndroid3GradleIT() {
|
||||
|
||||
Reference in New Issue
Block a user