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) {
|
||||
val compilerVersion = mavenProject.findPlugin(KotlinMavenConfigurator.GROUP_ID, KotlinMavenConfigurator.MAVEN_PLUGIN_ID)?.version
|
||||
?: return
|
||||
val kotlinFacet = module.getOrCreateFacet(modifiableModelsProvider)
|
||||
val kotlinFacet = module.getOrCreateFacet(modifiableModelsProvider, false)
|
||||
val platform = detectPlatformByExecutions(mavenProject) ?: detectPlatformByLibraries(mavenProject)
|
||||
|
||||
kotlinFacet.configureFacet(compilerVersion, CoroutineSupport.DEFAULT, platform, modifiableModelsProvider)
|
||||
|
||||
@@ -86,7 +86,7 @@ class KotlinGradleProjectDataService : AbstractProjectDataService<GradleSourceSe
|
||||
|
||||
val coroutinesProperty = findKotlinCoroutinesProperty(project)
|
||||
|
||||
val kotlinFacet = ideModule.getOrCreateFacet(modelsProvider)
|
||||
val kotlinFacet = ideModule.getOrCreateFacet(modelsProvider, false)
|
||||
kotlinFacet.configureFacet(compilerVersion, coroutinesProperty, platformKind, modelsProvider)
|
||||
GradleProjectImportHandler.getInstances(project).forEach { it(kotlinFacet, sourceSetNode) }
|
||||
}
|
||||
|
||||
@@ -150,14 +150,14 @@ val TargetPlatformKind<*>.mavenLibraryId: String
|
||||
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)
|
||||
|
||||
facetModel.findFacet(KotlinFacetType.TYPE_ID, KotlinFacetType.INSTANCE.defaultFacetName)?.let { return it }
|
||||
|
||||
val facet = with(KotlinFacetType.INSTANCE) { createFacet(this@getOrCreateFacet, defaultFacetName, createDefaultConfiguration(), null) }
|
||||
facetModel.addFacet(facet)
|
||||
facet.configuration.settings.useProjectSettings = true
|
||||
facet.configuration.settings.useProjectSettings = useProjectSettings
|
||||
return facet
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ abstract class AbstractMultiModuleTest : DaemonAnalyzerTestCase() {
|
||||
val accessToken = WriteAction.start()
|
||||
try {
|
||||
val modelsProvider = IdeModifiableModelsProviderImpl(project)
|
||||
getOrCreateFacet(modelsProvider)
|
||||
getOrCreateFacet(modelsProvider, true)
|
||||
modelsProvider.commit()
|
||||
}
|
||||
finally {
|
||||
|
||||
Reference in New Issue
Block a user