Kotlin Facet: Switch off "Use project settings" on Maven/Gradle import
#KT-15682 Fixed
This commit is contained in:
@@ -107,7 +107,7 @@ class KotlinMavenImporter : MavenImporter(KOTLIN_PLUGIN_GROUP_ID, KOTLIN_PLUGIN_
|
|||||||
private fun configureFacet(mavenProject: MavenProject, modifiableModelsProvider: IdeModifiableModelsProvider, module: Module) {
|
private fun configureFacet(mavenProject: MavenProject, modifiableModelsProvider: IdeModifiableModelsProvider, module: Module) {
|
||||||
val compilerVersion = mavenProject.findPlugin(KotlinMavenConfigurator.GROUP_ID, KotlinMavenConfigurator.MAVEN_PLUGIN_ID)?.version
|
val compilerVersion = mavenProject.findPlugin(KotlinMavenConfigurator.GROUP_ID, KotlinMavenConfigurator.MAVEN_PLUGIN_ID)?.version
|
||||||
?: return
|
?: return
|
||||||
val kotlinFacet = module.getOrCreateFacet(modifiableModelsProvider)
|
val kotlinFacet = module.getOrCreateFacet(modifiableModelsProvider, false)
|
||||||
val platform = detectPlatformByExecutions(mavenProject) ?: detectPlatformByLibraries(mavenProject)
|
val platform = detectPlatformByExecutions(mavenProject) ?: detectPlatformByLibraries(mavenProject)
|
||||||
|
|
||||||
kotlinFacet.configureFacet(compilerVersion, CoroutineSupport.DEFAULT, platform, modifiableModelsProvider)
|
kotlinFacet.configureFacet(compilerVersion, CoroutineSupport.DEFAULT, platform, modifiableModelsProvider)
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ class KotlinGradleProjectDataService : AbstractProjectDataService<GradleSourceSe
|
|||||||
|
|
||||||
val coroutinesProperty = findKotlinCoroutinesProperty(project)
|
val coroutinesProperty = findKotlinCoroutinesProperty(project)
|
||||||
|
|
||||||
val kotlinFacet = ideModule.getOrCreateFacet(modelsProvider)
|
val kotlinFacet = ideModule.getOrCreateFacet(modelsProvider, false)
|
||||||
kotlinFacet.configureFacet(compilerVersion, coroutinesProperty, platformKind, modelsProvider)
|
kotlinFacet.configureFacet(compilerVersion, coroutinesProperty, platformKind, modelsProvider)
|
||||||
GradleProjectImportHandler.getInstances(project).forEach { it(kotlinFacet, sourceSetNode) }
|
GradleProjectImportHandler.getInstances(project).forEach { it(kotlinFacet, sourceSetNode) }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -150,14 +150,14 @@ val TargetPlatformKind<*>.mavenLibraryId: String
|
|||||||
is TargetPlatformKind.Common -> MAVEN_COMMON_STDLIB_ID
|
is TargetPlatformKind.Common -> MAVEN_COMMON_STDLIB_ID
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Module.getOrCreateFacet(modelsProvider: IdeModifiableModelsProvider): KotlinFacet {
|
fun Module.getOrCreateFacet(modelsProvider: IdeModifiableModelsProvider, useProjectSettings: Boolean): KotlinFacet {
|
||||||
val facetModel = modelsProvider.getModifiableFacetModel(this)
|
val facetModel = modelsProvider.getModifiableFacetModel(this)
|
||||||
|
|
||||||
facetModel.findFacet(KotlinFacetType.TYPE_ID, KotlinFacetType.INSTANCE.defaultFacetName)?.let { return it }
|
facetModel.findFacet(KotlinFacetType.TYPE_ID, KotlinFacetType.INSTANCE.defaultFacetName)?.let { return it }
|
||||||
|
|
||||||
val facet = with(KotlinFacetType.INSTANCE) { createFacet(this@getOrCreateFacet, defaultFacetName, createDefaultConfiguration(), null) }
|
val facet = with(KotlinFacetType.INSTANCE) { createFacet(this@getOrCreateFacet, defaultFacetName, createDefaultConfiguration(), null) }
|
||||||
facetModel.addFacet(facet)
|
facetModel.addFacet(facet)
|
||||||
facet.configuration.settings.useProjectSettings = true
|
facet.configuration.settings.useProjectSettings = useProjectSettings
|
||||||
return facet
|
return facet
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ abstract class AbstractMultiModuleTest : DaemonAnalyzerTestCase() {
|
|||||||
val accessToken = WriteAction.start()
|
val accessToken = WriteAction.start()
|
||||||
try {
|
try {
|
||||||
val modelsProvider = IdeModifiableModelsProviderImpl(project)
|
val modelsProvider = IdeModifiableModelsProviderImpl(project)
|
||||||
getOrCreateFacet(modelsProvider)
|
getOrCreateFacet(modelsProvider, true)
|
||||||
modelsProvider.commit()
|
modelsProvider.commit()
|
||||||
}
|
}
|
||||||
finally {
|
finally {
|
||||||
|
|||||||
Reference in New Issue
Block a user