Fix Gradle 'konan' plugin tests
The konan plugin checks the GRADLE_METADATA feature preview option and enables publication only if this option is specified. But since version 6.0 Gradle metadata is enabled by default and the corresponding feature preview option was removed causing failures of konan plugin tests. This patch removes the checks mentioned above to fix these tests.
This commit is contained in:
committed by
Ilya Matveev
parent
60746d0438
commit
d8c6ad4606
+6
-9
@@ -299,7 +299,6 @@ class KonanPlugin @Inject constructor(private val registry: ToolingModelBuilderR
|
||||
KONAN_CONFIGURATION_BUILD_DIR ("konan.configuration.build.dir"),
|
||||
KONAN_DEBUGGING_SYMBOLS ("konan.debugging.symbols"),
|
||||
KONAN_OPTIMIZATIONS_ENABLE ("konan.optimizations.enable"),
|
||||
KONAN_PUBLICATION_ENABLED ("konan.publication.enabled")
|
||||
}
|
||||
|
||||
companion object {
|
||||
@@ -337,12 +336,12 @@ class KonanPlugin @Inject constructor(private val registry: ToolingModelBuilderR
|
||||
project.tasks.create(KONAN_DOWNLOAD_TASK_NAME, KonanCompilerDownloadTask::class.java)
|
||||
project.tasks.create(KONAN_GENERATE_CMAKE_TASK_NAME, KonanGenerateCMakeTask::class.java)
|
||||
project.extensions.create(KONAN_EXTENSION_NAME, KonanExtension::class.java)
|
||||
val container = project.extensions.create(KonanArtifactContainer::class.java, ARTIFACTS_CONTAINER_NAME, KonanArtifactContainer::class.java, project)
|
||||
val isPublicationEnabled = project.gradle.services.get(FeaturePreviews::class.java).isFeatureEnabled(FeaturePreviews.Feature.GRADLE_METADATA)
|
||||
project.setProperty(ProjectProperty.KONAN_PUBLICATION_ENABLED, isPublicationEnabled)
|
||||
if (!isPublicationEnabled) {
|
||||
project.logger.warn("feature GRADLE_METADATA is not enabled: publication is disabled")
|
||||
}
|
||||
val container = project.extensions.create(
|
||||
KonanArtifactContainer::class.java,
|
||||
ARTIFACTS_CONTAINER_NAME,
|
||||
KonanArtifactContainer::class.java,
|
||||
project
|
||||
)
|
||||
|
||||
project.warnAboutDeprecatedProperty(ProjectProperty.KONAN_HOME)
|
||||
|
||||
@@ -378,8 +377,6 @@ class KonanPlugin @Inject constructor(private val registry: ToolingModelBuilderR
|
||||
// Enable multiplatform support
|
||||
project.pluginManager.apply(KotlinNativePlatformPlugin::class.java)
|
||||
project.afterEvaluate {
|
||||
if (!isPublicationEnabled)
|
||||
return@afterEvaluate
|
||||
project.pluginManager.withPlugin("maven-publish") {
|
||||
container.all { buildingConfig ->
|
||||
val konanSoftwareComponent = buildingConfig.mainVariant
|
||||
|
||||
-2
@@ -101,8 +101,6 @@ abstract class KonanArtifactTask: KonanTargetableTask(), KonanArtifactSpec {
|
||||
|
||||
val artifactNameWithoutSuffix = artifact.name.removeSuffix("$artifactSuffix")
|
||||
project.pluginManager.withPlugin("maven-publish") {
|
||||
if (!(project.getProperty(KonanPlugin.ProjectProperty.KONAN_PUBLICATION_ENABLED) as Boolean))
|
||||
return@withPlugin
|
||||
platformConfiguration.artifacts.add(object: PublishArtifact {
|
||||
override fun getName(): String = artifactNameWithoutSuffix
|
||||
override fun getExtension() = if (artifactSuffix.startsWith('.')) artifactSuffix.substring(1) else artifactSuffix
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.gradle.plugin.test
|
||||
|
||||
import org.gradle.api.internal.FeaturePreviews
|
||||
import org.gradle.api.internal.project.ProjectInternal
|
||||
import org.gradle.testfixtures.ProjectBuilder
|
||||
import org.jetbrains.kotlin.gradle.plugin.konan.KonanPlugin
|
||||
@@ -233,8 +232,6 @@ open class ToolingModelTests {
|
||||
}
|
||||
}
|
||||
""".trimIndent())
|
||||
propertiesFile.appendText("konan.publication.enabled=true")
|
||||
settingsFile.appendText("enableFeaturePreview('GRADLE_METADATA')")
|
||||
generateSrcFile("main.kt")
|
||||
}
|
||||
dependency.createRunner().withArguments("build", "publish").build()
|
||||
@@ -244,10 +241,9 @@ open class ToolingModelTests {
|
||||
}
|
||||
|
||||
|
||||
val dependnent = ProjectBuilder.builder().withProjectDir(dependentDir).build() as ProjectInternal
|
||||
val dependent = ProjectBuilder.builder().withProjectDir(dependentDir).build() as ProjectInternal
|
||||
|
||||
with(dependnent) {
|
||||
gradle.services.get(FeaturePreviews::class.java).enableFeature(FeaturePreviews.Feature.GRADLE_METADATA)
|
||||
with(dependent) {
|
||||
pluginManager.apply(KonanPlugin::class.java)
|
||||
konanArtifactsContainer.library("bar")
|
||||
repositories.maven {
|
||||
@@ -257,7 +253,7 @@ open class ToolingModelTests {
|
||||
add("artifactbar", "test:foo:1.0")
|
||||
}
|
||||
}
|
||||
val model = KonanToolingModelBuilder.buildAll("konanModel", dependnent)
|
||||
val model = KonanToolingModelBuilder.buildAll("konanModel", dependent)
|
||||
assertEquals(1, model.artifacts.size, "Incorrect number of artifacts.")
|
||||
val libraries = model.artifacts[0].libraries
|
||||
assertEquals(1, libraries.size, "Incorrect number of libraries.")
|
||||
|
||||
Reference in New Issue
Block a user