From dbd18ca27b082205499c79f298aaae9f74f05dec Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Wed, 5 Sep 2018 12:03:10 +0300 Subject: [PATCH] MPP: Do not show -Xmultiplatform flag in facet settings #KT-26484 Fixed --- .../gradle/NewMultiplatformProjectImportingTest.kt | 4 ++++ .../jetbrains/kotlin/gradle/projectStructureDSL.kt | 12 +++++++++++- .../kotlin/idea/maven/KotlinMavenImporterTest.kt | 6 +++--- .../org/jetbrains/kotlin/idea/facet/facetUtils.kt | 3 ++- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt index dd92af09ba8..f336e8be0a4 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt @@ -121,6 +121,10 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { allModules { languageVersion("1.2") apiVersion("1.2") + when (module.name) { + "project", "app", "lib" -> additionalArguments(null) + else -> additionalArguments("-version") + } } module("project") diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/projectStructureDSL.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/projectStructureDSL.kt index 405229a3dbe..f0db3ffdcf6 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/projectStructureDSL.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/projectStructureDSL.kt @@ -13,6 +13,7 @@ import com.intellij.openapi.roots.* import com.intellij.openapi.util.io.FileUtil import org.jetbrains.jps.model.module.JpsModuleSourceRootType import org.jetbrains.jps.util.JpsPathUtil +import org.jetbrains.kotlin.idea.facet.KotlinFacet import org.jetbrains.kotlin.idea.project.languageVersionSettings import org.jetbrains.kotlin.idea.project.platform import org.jetbrains.kotlin.platform.IdePlatform @@ -69,7 +70,7 @@ class ProjectInfo(project: Project, private val projectPath: String) { } class ModuleInfo( - private val module: Module, + val module: Module, private val messageCollector: MessageCollector, private val projectPath: String ) { @@ -109,6 +110,15 @@ class ModuleInfo( } } + fun additionalArguments(arguments: String?) { + val actualArguments = KotlinFacet.get(module)?.configuration?.settings?.compilerSettings?.additionalArguments + if (actualArguments != arguments) { + messageCollector.report( + "Module '${module.name}': expected additional arguments '$arguments' but found '$actualArguments'" + ) + } + } + fun libraryDependency(libraryName: String, scope: DependencyScope) { val libraryEntry = rootModel.orderEntries.filterIsInstance().singleOrNull { it.libraryName == libraryName } if (libraryEntry == null) { diff --git a/idea/idea-maven/test/org/jetbrains/kotlin/idea/maven/KotlinMavenImporterTest.kt b/idea/idea-maven/test/org/jetbrains/kotlin/idea/maven/KotlinMavenImporterTest.kt index 49985578662..6d605bd21d4 100644 --- a/idea/idea-maven/test/org/jetbrains/kotlin/idea/maven/KotlinMavenImporterTest.kt +++ b/idea/idea-maven/test/org/jetbrains/kotlin/idea/maven/KotlinMavenImporterTest.kt @@ -634,7 +634,7 @@ class KotlinMavenImporterTest : MavenImportingTestCase() { Assert.assertEquals("1.8", (compilerArguments as K2JVMCompilerArguments).jvmTarget) Assert.assertEquals("foobar.jar", (compilerArguments as K2JVMCompilerArguments).classpath) Assert.assertEquals( - "-Xmulti-platform", + "-version", compilerSettings!!.additionalArguments ) } @@ -832,7 +832,7 @@ class KotlinMavenImporterTest : MavenImportingTestCase() { Assert.assertEquals("commonjs", moduleKind) } Assert.assertEquals( - "-meta-info -output test.js -Xmulti-platform", + "-meta-info -output test.js", compilerSettings!!.additionalArguments ) } @@ -984,7 +984,7 @@ class KotlinMavenImporterTest : MavenImportingTestCase() { Assert.assertEquals("JVM 1.8", platform!!.description) Assert.assertEquals("1.8", (compilerArguments as K2JVMCompilerArguments).jvmTarget) Assert.assertEquals("foobar.jar", (compilerArguments as K2JVMCompilerArguments).classpath) - Assert.assertEquals("-Xmulti-platform", compilerSettings!!.additionalArguments) + Assert.assertEquals("-version", compilerSettings!!.additionalArguments) } } diff --git a/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt b/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt index 40e21010406..f9933e57f6a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt @@ -176,7 +176,8 @@ val commonUIExposedFields = listOf( ) private val commonUIHiddenFields = listOf( CommonCompilerArguments::pluginClasspaths.name, - CommonCompilerArguments::pluginOptions.name + CommonCompilerArguments::pluginOptions.name, + CommonCompilerArguments::multiPlatform.name ) private val commonPrimaryFields = commonUIExposedFields + commonUIHiddenFields