[FE] Drop coroutinesState from build configurations plugins

This commit is contained in:
Dmitriy Novozhilov
2020-12-02 13:19:37 +03:00
committed by TeamCityServer
parent 7f4a925b85
commit df3b12e13b
17 changed files with 6 additions and 348 deletions
@@ -45,8 +45,6 @@ interface GradleBuildScriptManipulator<out Psi : PsiFile> {
fun configureProjectBuildScript(kotlinPluginName: String, version: String): Boolean
fun changeCoroutineConfiguration(coroutineOption: String): PsiElement?
fun changeLanguageFeatureConfiguration(feature: LanguageFeature, state: LanguageFeature.State, forTests: Boolean): PsiElement?
fun changeLanguageVersion(version: String, forTests: Boolean): PsiElement?
@@ -125,4 +123,4 @@ fun GradleVersion.scope(directive: String): String {
}
return directive
}
}
@@ -139,18 +139,6 @@ class GroovyBuildScriptManipulator(
return oldText != scriptFile.text
}
override fun changeCoroutineConfiguration(coroutineOption: String): PsiElement? {
val snippet = "coroutines \"$coroutineOption\""
val kotlinBlock = scriptFile.getKotlinBlock()
kotlinBlock.getBlockOrCreate("experimental").apply {
addOrReplaceExpression(snippet) { stmt ->
(stmt as? GrMethodCall)?.invokedExpression?.text == "coroutines"
}
}
return kotlinBlock.parent
}
override fun changeLanguageFeatureConfiguration(
feature: LanguageFeature,
state: LanguageFeature.State,
@@ -501,4 +489,4 @@ class GroovyBuildScriptManipulator(
return true
}
}
}
}
@@ -100,9 +100,6 @@ class KotlinBuildScriptManipulator(
return originalText != scriptFile.text
}
override fun changeCoroutineConfiguration(coroutineOption: String): PsiElement? =
scriptFile.changeCoroutineConfiguration(coroutineOption)
override fun changeLanguageFeatureConfiguration(
feature: LanguageFeature,
state: LanguageFeature.State,
@@ -273,14 +273,9 @@ fun configureFacetByGradleModule(
// TODO there should be a way to figure out the correct platform version
val platform = platformKind?.defaultPlatform
val coroutinesProperty = CoroutineSupport.byCompilerArgument(
moduleNode.coroutines ?: findKotlinCoroutinesProperty(ideModule.project)
)
val kotlinFacet = ideModule.getOrCreateFacet(modelsProvider, false, GradleConstants.SYSTEM_ID.id)
kotlinFacet.configureFacet(
compilerVersion,
coroutinesProperty,
platform,
modelsProvider
)
@@ -338,8 +333,3 @@ internal fun adjustClasspath(kotlinFacet: KotlinFacet, dependencyClasspath: List
val newClasspath = fullClasspath - dependencyClasspath
arguments.classpath = if (newClasspath.isNotEmpty()) newClasspath.joinToString(File.pathSeparator) else null
}
internal fun findKotlinCoroutinesProperty(project: Project): String {
return GradlePropertiesFileFacade.forProject(project).readProperty("kotlin.coroutines")
?: CoroutineSupport.getCompilerArgument(LanguageFeature.Coroutines.defaultState)
}
@@ -18,14 +18,12 @@ import com.intellij.openapi.roots.DependencyScope
import com.intellij.openapi.roots.ExportableOrderEntry
import com.intellij.openapi.roots.ModifiableRootModel
import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments
import org.jetbrains.kotlin.config.CoroutineSupport
import org.jetbrains.kotlin.config.JvmTarget
import org.jetbrains.kotlin.config.KotlinModuleKind
import org.jetbrains.kotlin.gradle.KotlinCompilation
import org.jetbrains.kotlin.gradle.KotlinModule
import org.jetbrains.kotlin.gradle.KotlinPlatform
import org.jetbrains.kotlin.gradle.KotlinSourceSet
import org.jetbrains.kotlin.idea.configuration.KotlinSourceSetDataService.Companion.isRelevantFor
import org.jetbrains.kotlin.idea.facet.*
import org.jetbrains.kotlin.idea.inspections.gradle.findAll
import org.jetbrains.kotlin.idea.inspections.gradle.findKotlinPluginVersion
@@ -184,9 +182,6 @@ class KotlinSourceSetDataService : AbstractProjectDataService<GradleSourceSetDat
val platform = TargetPlatform(platformKinds)
val coroutinesProperty = CoroutineSupport.byCompilerArgument(
mainModuleNode.coroutines ?: findKotlinCoroutinesProperty(ideModule.project)
)
val compilerArguments = kotlinSourceSet.compilerArguments
// Used ID is the same as used in org/jetbrains/kotlin/idea/configuration/KotlinGradleSourceSetDataService.kt:280
// because this DataService was separated from KotlinGradleSourceSetDataService for MPP projects only
@@ -194,7 +189,6 @@ class KotlinSourceSetDataService : AbstractProjectDataService<GradleSourceSetDat
val kotlinFacet = ideModule.getOrCreateFacet(modelsProvider, false, id)
kotlinFacet.configureFacet(
compilerVersion,
coroutinesProperty,
platform,
modelsProvider,
mainModuleNode.isHmpp,
@@ -28,13 +28,12 @@ import com.intellij.util.PathUtil
import org.gradle.util.GradleVersion
import org.jetbrains.annotations.NonNls
import org.jetbrains.kotlin.config.ApiVersion
import org.jetbrains.kotlin.config.CoroutineSupport
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.idea.KotlinIdeaGradleBundle
import org.jetbrains.kotlin.idea.facet.getRuntimeLibraryVersion
import org.jetbrains.kotlin.idea.facet.toApiVersion
import org.jetbrains.kotlin.idea.framework.ui.ConfigureDialogWithModulesAndVersion
import org.jetbrains.kotlin.idea.quickfix.ChangeCoroutineSupportFix
import org.jetbrains.kotlin.idea.quickfix.AbstractChangeFeatureSupportLevelFix
import org.jetbrains.kotlin.idea.util.application.executeCommand
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
import org.jetbrains.kotlin.idea.util.application.runReadAction
@@ -244,25 +243,6 @@ abstract class KotlinWithGradleConfigurator : KotlinProjectConfigurator {
}
}
override fun changeCoroutineConfiguration(module: Module, state: LanguageFeature.State) {
val runtimeUpdateRequired = state != LanguageFeature.State.DISABLED &&
getRuntimeLibraryVersion(module).toApiVersion() == ApiVersion.KOTLIN_1_0
if (runtimeUpdateRequired) {
Messages.showErrorDialog(
module.project,
KotlinIdeaGradleBundle.message("error.text.coroutines.support.requires.version.1.1.or.later.of.the.kotlin.runtime.library"),
ChangeCoroutineSupportFix.getFixText(state)
)
return
}
val element = changeCoroutineConfiguration(module, CoroutineSupport.getCompilerArgument(state))
if (element != null) {
OpenFileDescriptor(module.project, element.containingFile.virtualFile, element.textRange.startOffset).navigate(true)
}
}
override fun changeGeneralFeatureConfiguration(
module: Module,
feature: LanguageFeature,
@@ -275,7 +255,7 @@ abstract class KotlinWithGradleConfigurator : KotlinProjectConfigurator {
Messages.showErrorDialog(
module.project,
KotlinIdeaGradleBundle.message("error.text.support.requires.version", feature.presentableName, sinceVersion),
ChangeCoroutineSupportFix.getFixText(state)
AbstractChangeFeatureSupportLevelFix.getFixText(state, feature.presentableName)
)
return
}
@@ -345,10 +325,6 @@ abstract class KotlinWithGradleConfigurator : KotlinProjectConfigurator {
}
}
fun changeCoroutineConfiguration(module: Module, coroutineOption: String): PsiElement? = changeBuildGradle(module) {
getManipulator(it).changeCoroutineConfiguration(coroutineOption)
}
fun changeFeatureConfiguration(
module: Module,
feature: LanguageFeature,
@@ -398,59 +398,6 @@ class GradleConfiguratorTest : GradleImportingTestCase() {
}
}
@Test
fun testAddCoroutinesSupport() {
val files = importProjectFromTestData()
runInEdtAndWait {
myTestFixture.project.executeWriteCommand("") {
KotlinWithGradleConfigurator.changeCoroutineConfiguration(myTestFixture.module, "enable")
}
checkFiles(files)
}
}
@Test
fun testAddCoroutinesSupportGSK() {
val files = importProjectFromTestData()
runInEdtAndWait {
myTestFixture.project.executeWriteCommand("") {
KotlinWithGradleConfigurator.changeCoroutineConfiguration(myTestFixture.module, "enable")
}
checkFiles(files)
}
}
@Test
fun testChangeCoroutinesSupport() {
val files = importProjectFromTestData()
runInEdtAndWait {
myTestFixture.project.executeWriteCommand("") {
KotlinWithGradleConfigurator.changeCoroutineConfiguration(myTestFixture.module, "enable")
}
checkFiles(files)
}
}
@TargetVersions("4.4+")
@Test
fun testChangeCoroutinesSupportGSK49() {
val files = importProjectFromTestData()
runInEdtAndWait {
myTestFixture.project.executeWriteCommand("") {
KotlinWithGradleConfigurator.changeCoroutineConfiguration(myTestFixture.module, "enable")
}
checkFiles(files)
}
}
@Test
fun testAddLanguageVersion() {
val files = importProjectFromTestData()
@@ -48,29 +48,6 @@ sealed class TargetPlatformKind<out Version : TargetPlatformVersion>(
)
}
object CoroutineSupport {
@JvmStatic
fun byCompilerArguments(arguments: CommonCompilerArguments?): LanguageFeature.State =
byCompilerArgumentsOrNull(arguments) ?: LanguageFeature.Coroutines.defaultState
fun byCompilerArgumentsOrNull(arguments: CommonCompilerArguments?): LanguageFeature.State? = when (arguments?.coroutinesState) {
CommonCompilerArguments.ENABLE -> LanguageFeature.State.ENABLED
CommonCompilerArguments.WARN, CommonCompilerArguments.DEFAULT -> LanguageFeature.State.ENABLED_WITH_WARNING
CommonCompilerArguments.ERROR -> LanguageFeature.State.ENABLED_WITH_ERROR
else -> null
}
fun byCompilerArgument(argument: String): LanguageFeature.State =
LanguageFeature.State.values().find { getCompilerArgument(it).equals(argument, ignoreCase = true) }
?: LanguageFeature.Coroutines.defaultState
fun getCompilerArgument(state: LanguageFeature.State): String = when (state) {
LanguageFeature.State.ENABLED -> "enable"
LanguageFeature.State.ENABLED_WITH_WARNING -> "warn"
LanguageFeature.State.ENABLED_WITH_ERROR, LanguageFeature.State.DISABLED -> "error"
}
}
sealed class VersionView : DescriptionAware {
abstract val version: LanguageVersion
@@ -70,8 +70,6 @@ interface KotlinProjectConfigurator {
forTests: Boolean
)
fun changeCoroutineConfiguration(module: Module, state: LanguageFeature.State)
fun changeGeneralFeatureConfiguration(
module: Module,
feature: LanguageFeature,
@@ -346,23 +346,6 @@ abstract class KotlinWithLibraryConfigurator protected constructor() : KotlinPro
return module.getBuildSystemType() == BuildSystemType.JPS
}
override fun changeCoroutineConfiguration(module: Module, state: LanguageFeature.State) {
val runtimeUpdateRequired = state != LanguageFeature.State.DISABLED &&
getRuntimeLibraryVersion(module).toApiVersion() == ApiVersion.KOTLIN_1_0
if (runtimeUpdateRequired && !askUpdateRuntime(module, LanguageFeature.Coroutines.sinceApiVersion)) {
return
}
val facetSettings = KotlinFacetSettingsProvider.getInstance(module.project)?.getInitializedSettings(module)
if (facetSettings != null) {
ModuleRootModificationUtil.updateModel(module) {
facetSettings.apiLevel = LanguageVersion.KOTLIN_1_1
facetSettings.languageLevel = LanguageVersion.KOTLIN_1_1
}
}
}
override fun changeGeneralFeatureConfiguration(
module: Module,
feature: LanguageFeature,
@@ -1,78 +0,0 @@
/*
* Copyright 2000-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.idea.quickfix
import com.intellij.codeInsight.intention.IntentionAction
import com.intellij.openapi.editor.Editor
import com.intellij.openapi.module.ModuleUtilCore
import com.intellij.openapi.project.Project
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.diagnostics.Diagnostic
import org.jetbrains.kotlin.idea.KotlinJvmBundle
import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCommonCompilerArgumentsHolder
import org.jetbrains.kotlin.idea.configuration.findApplicableConfigurator
import org.jetbrains.kotlin.idea.roots.invalidateProjectRoots
import org.jetbrains.kotlin.psi.KtFile
sealed class ChangeCoroutineSupportFix(
element: PsiElement,
coroutineSupport: LanguageFeature.State
) : AbstractChangeFeatureSupportLevelFix(element, LanguageFeature.Coroutines, coroutineSupport, shortFeatureName) {
class InModule(element: PsiElement, coroutineSupport: LanguageFeature.State) : ChangeCoroutineSupportFix(element, coroutineSupport) {
override fun getText() = KotlinJvmBundle.message("fix.0.in.current.module", super.getText())
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
val module = ModuleUtilCore.findModuleForPsiElement(file) ?: return
findApplicableConfigurator(module).changeCoroutineConfiguration(module, featureSupport)
}
}
class InProject(element: PsiElement, coroutineSupport: LanguageFeature.State) : ChangeCoroutineSupportFix(element, coroutineSupport) {
override fun getText() = KotlinJvmBundle.message("fix.0.in.the.project", super.getText())
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
if (featureSupportEnabled) {
if (!checkUpdateRuntime(project, LanguageFeature.Coroutines.sinceApiVersion)) return
}
KotlinCommonCompilerArgumentsHolder.getInstance(project).update {
coroutinesState = when (featureSupport) {
LanguageFeature.State.ENABLED -> CommonCompilerArguments.ENABLE
LanguageFeature.State.ENABLED_WITH_WARNING -> CommonCompilerArguments.WARN
LanguageFeature.State.ENABLED_WITH_ERROR, LanguageFeature.State.DISABLED -> CommonCompilerArguments.ERROR
}
}
project.invalidateProjectRoots()
}
}
companion object : FeatureSupportIntentionActionsFactory() {
private val shortFeatureName get() = KotlinJvmBundle.message("short.feature.name.coroutine")
fun getFixText(state: LanguageFeature.State) = getFixText(state, shortFeatureName)
override fun doCreateActions(diagnostic: Diagnostic): List<IntentionAction> {
val module = ModuleUtilCore.findModuleForPsiElement(diagnostic.psiElement) ?: return emptyList()
return doCreateActions(
diagnostic, LanguageFeature.Coroutines, allowWarningAndErrorMode = true,
quickFixConstructor = if (shouldConfigureInProject(module)) { element, _, coroutineSupport ->
InProject(
element,
coroutineSupport
)
} else { element, _, coroutineSupport ->
InModule(element, coroutineSupport)
}
)
}
}
}
@@ -33,9 +33,6 @@ class JvmQuickFixRegistrar : QuickFixContributor {
UNSUPPORTED_FEATURE.registerFactory(EnableUnsupportedFeatureFix)
EXPERIMENTAL_FEATURE_ERROR.registerFactory(ChangeCoroutineSupportFix)
EXPERIMENTAL_FEATURE_WARNING.registerFactory(ChangeCoroutineSupportFix)
EXPERIMENTAL_FEATURE_ERROR.registerFactory(ChangeGeneralLanguageFeatureSupportFix)
EXPERIMENTAL_FEATURE_WARNING.registerFactory(ChangeGeneralLanguageFeatureSupportFix)
@@ -43,4 +40,4 @@ class JvmQuickFixRegistrar : QuickFixContributor {
MISSING_SCRIPT_STANDARD_TEMPLATE.registerFactory(AddScriptRuntimeQuickFix)
}
}
}
@@ -30,14 +30,12 @@ import org.jetbrains.idea.maven.model.MavenId
import org.jetbrains.idea.maven.project.MavenProjectsManager
import org.jetbrains.idea.maven.utils.MavenArtifactScope
import org.jetbrains.kotlin.config.ApiVersion
import org.jetbrains.kotlin.config.CoroutineSupport
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.idea.configuration.*
import org.jetbrains.kotlin.idea.facet.getRuntimeLibraryVersion
import org.jetbrains.kotlin.idea.facet.toApiVersion
import org.jetbrains.kotlin.idea.framework.ui.ConfigureDialogWithModulesAndVersion
import org.jetbrains.kotlin.idea.maven.*
import org.jetbrains.kotlin.idea.quickfix.ChangeCoroutineSupportFix
import org.jetbrains.kotlin.idea.quickfix.ChangeGeneralLanguageFeatureSupportFix
import org.jetbrains.kotlin.idea.util.application.runReadAction
import org.jetbrains.kotlin.idea.versions.LibraryJarDescriptor
@@ -249,28 +247,6 @@ protected constructor(
JavaProjectModelModificationService.getInstance(module.project).addDependency(module, library, scope)
}
override fun changeCoroutineConfiguration(module: Module, state: LanguageFeature.State) {
val runtimeUpdateRequired = state != LanguageFeature.State.DISABLED &&
getRuntimeLibraryVersion(module).toApiVersion() == ApiVersion.KOTLIN_1_0
val messageTitle = ChangeCoroutineSupportFix.getFixText(state)
if (runtimeUpdateRequired) {
Messages.showErrorDialog(
module.project,
KotlinMavenBundle.message("update.language.version.coroutines"),
messageTitle
)
return
}
val element = changeMavenCoroutineConfiguration(module, CoroutineSupport.getCompilerArgument(state), messageTitle)
if (element != null) {
OpenFileDescriptor(module.project, element.containingFile.virtualFile, element.textRange.startOffset).navigate(true)
}
}
override fun changeGeneralFeatureConfiguration(
module: Module,
feature: LanguageFeature,
@@ -299,28 +275,6 @@ protected constructor(
}
private fun changeMavenCoroutineConfiguration(
module: Module,
value: String,
messageTitle: String
): PsiElement? {
fun doChangeMavenCoroutineConfiguration(): PsiElement? {
val psi = findModulePomFile(module) as? XmlFile ?: return null
val pom = PomFile.forFileOrNull(psi) ?: return null
return pom.changeCoroutineConfiguration(value)
}
val element = doChangeMavenCoroutineConfiguration()
if (element == null) {
Messages.showErrorDialog(
module.project,
KotlinMavenBundle.message("error.failed.update.pom"),
messageTitle
)
}
return element
}
private fun changeMavenFeatureConfiguration(
module: Module,
feature: LanguageFeature,
@@ -153,16 +153,14 @@ fun Module.removeKotlinFacet(
//method used for non-mpp modules
fun KotlinFacet.configureFacet(
compilerVersion: String?,
coroutineSupport: LanguageFeature.State,
platform: TargetPlatform?,
modelsProvider: IdeModifiableModelsProvider
) {
configureFacet(compilerVersion, coroutineSupport, platform, modelsProvider, false, emptyList(), emptyList())
configureFacet(compilerVersion, platform, modelsProvider, false, emptyList(), emptyList())
}
fun KotlinFacet.configureFacet(
compilerVersion: String?,
coroutineSupport: LanguageFeature.State,
platform: TargetPlatform?, // if null, detect by module dependencies
modelsProvider: IdeModifiableModelsProvider,
hmppEnabled: Boolean,
@@ -214,7 +214,6 @@ public class ConfigureKotlinTest extends AbstractConfigureKotlinTest {
assertEquals(JvmPlatforms.INSTANCE.getJvm18(), settings.getTargetPlatform());
assertEquals("1.1", arguments.getLanguageVersion());
assertEquals("1.0", arguments.getApiVersion());
assertEquals(LanguageFeature.State.ENABLED_WITH_WARNING, CoroutineSupport.byCompilerArguments(arguments));
assertEquals("1.7", arguments.getJvmTarget());
assertEquals("-version -Xallow-kotlin-package -Xskip-metadata-version-check", settings.getCompilerSettings().getAdditionalArguments());
}
@@ -229,7 +228,6 @@ public class ConfigureKotlinTest extends AbstractConfigureKotlinTest {
assertEquals(JsPlatforms.INSTANCE.getDefaultJsPlatform(), settings.getTargetPlatform());
assertEquals("1.1", arguments.getLanguageVersion());
assertEquals("1.0", arguments.getApiVersion());
assertEquals(LanguageFeature.State.ENABLED_WITH_WARNING, CoroutineSupport.byCompilerArguments(arguments));
assertEquals("amd", arguments.getModuleKind());
assertEquals("-version -meta-info", settings.getCompilerSettings().getAdditionalArguments());
}
@@ -244,7 +242,6 @@ public class ConfigureKotlinTest extends AbstractConfigureKotlinTest {
assertEquals(JvmPlatforms.INSTANCE.getJvm18(), settings.getTargetPlatform());
assertEquals("1.1", arguments.getLanguageVersion());
assertEquals("1.0", arguments.getApiVersion());
assertEquals(LanguageFeature.State.ENABLED, CoroutineSupport.byCompilerArguments(arguments));
assertEquals("1.7", arguments.getJvmTarget());
assertEquals("-version -Xallow-kotlin-package -Xskip-metadata-version-check", settings.getCompilerSettings().getAdditionalArguments());
}
@@ -259,7 +256,6 @@ public class ConfigureKotlinTest extends AbstractConfigureKotlinTest {
assertEquals(JsPlatforms.INSTANCE.getDefaultJsPlatform(), settings.getTargetPlatform());
assertEquals("1.1", arguments.getLanguageVersion());
assertEquals("1.0", arguments.getApiVersion());
assertEquals(LanguageFeature.State.ENABLED_WITH_ERROR, CoroutineSupport.byCompilerArguments(arguments));
assertEquals("amd", arguments.getModuleKind());
assertEquals("-version -meta-info", settings.getCompilerSettings().getAdditionalArguments());
}
@@ -274,7 +270,6 @@ public class ConfigureKotlinTest extends AbstractConfigureKotlinTest {
assertEquals(JvmPlatforms.INSTANCE.getJvm18(), settings.getTargetPlatform());
assertEquals("1.1", arguments.getLanguageVersion());
assertEquals("1.0", arguments.getApiVersion());
assertEquals(LanguageFeature.State.ENABLED, CoroutineSupport.byCompilerArguments(arguments));
assertEquals("1.7", arguments.getJvmTarget());
assertEquals("-version -Xallow-kotlin-package -Xskip-metadata-version-check", settings.getCompilerSettings().getAdditionalArguments());
}
@@ -1,52 +0,0 @@
/*
* Copyright 2010-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.kotlin.gradle
import org.junit.Test
import java.io.File
class CoroutinesIT : BaseGradleIT() {
@Test
fun testCoroutinesJvmDefault() {
jvmProject.doTest("default", null)
}
@Test
fun testCoroutinesJsDefault() {
jsProject.doTest("default", null)
}
// todo: replace with project that actually uses coroutines after their syntax is finalized
private val jvmProject: Project
get() = Project("kotlinProject")
private val jsProject: Project
get() = Project("kotlin2JsProject")
private fun Project.doTest(coroutineSupport: String, propertyFileName: String?) {
if (propertyFileName != null) {
setupWorkingDir()
val propertyFile = File(projectDir, propertyFileName)
val coroutinesProperty = "kotlin.coroutines=$coroutineSupport"
propertyFile.writeText(coroutinesProperty)
}
build("build") {
assertContains("args.coroutinesState=$coroutineSupport")
}
}
}
@@ -441,10 +441,6 @@ public abstract class KotlinCompileMojoBase<A extends CommonCompilerArguments> e
arguments.setApiVersion(apiVersion);
arguments.setMultiPlatform(multiPlatform);
if (experimentalCoroutines != null) {
arguments.setCoroutinesState(experimentalCoroutines);
}
configureSpecificCompilerArguments(arguments, sourceRoots);
try {