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:
Ilya Matveev
2019-12-04 19:30:28 +07:00
committed by Ilya Matveev
parent 60746d0438
commit d8c6ad4606
3 changed files with 9 additions and 18 deletions
@@ -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
@@ -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.")