Import compiler plugin options from new MPP into IDE
Issue #KT-27499 Fixed
This commit is contained in:
+2
@@ -652,6 +652,8 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtension() {
|
|||||||
ManualLanguageFeatureSetting(feature, LanguageFeature.State.ENABLED, arg)
|
ManualLanguageFeatureSetting(feature, LanguageFeature.State.ENABLED, arg)
|
||||||
}
|
}
|
||||||
it.useExperimental = languageSettings.experimentalAnnotationsInUse.toTypedArray()
|
it.useExperimental = languageSettings.experimentalAnnotationsInUse.toTypedArray()
|
||||||
|
it.pluginOptions = languageSettings.compilerPluginArguments.toTypedArray()
|
||||||
|
it.pluginClasspaths = languageSettings.compilerPluginClasspath.map(File::getPath).toTypedArray()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ interface KotlinLanguageSettings : Serializable {
|
|||||||
val isProgressiveMode: Boolean
|
val isProgressiveMode: Boolean
|
||||||
val enabledLanguageFeatures: Set<String>
|
val enabledLanguageFeatures: Set<String>
|
||||||
val experimentalAnnotationsInUse: Set<String>
|
val experimentalAnnotationsInUse: Set<String>
|
||||||
|
val compilerPluginArguments: List<String>
|
||||||
|
val compilerPluginClasspath: Set<File>
|
||||||
}
|
}
|
||||||
|
|
||||||
interface KotlinCompilationOutput : Serializable {
|
interface KotlinCompilationOutput : Serializable {
|
||||||
|
|||||||
@@ -113,13 +113,17 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService {
|
|||||||
val getProgressiveMode = languageSettingsClass.getMethodOrNull("getProgressiveMode") ?: return null
|
val getProgressiveMode = languageSettingsClass.getMethodOrNull("getProgressiveMode") ?: return null
|
||||||
val getEnabledLanguageFeatures = languageSettingsClass.getMethodOrNull("getEnabledLanguageFeatures") ?: return null
|
val getEnabledLanguageFeatures = languageSettingsClass.getMethodOrNull("getEnabledLanguageFeatures") ?: return null
|
||||||
val getExperimentalAnnotationsInUse = languageSettingsClass.getMethodOrNull("getExperimentalAnnotationsInUse")
|
val getExperimentalAnnotationsInUse = languageSettingsClass.getMethodOrNull("getExperimentalAnnotationsInUse")
|
||||||
|
val getCompilerPluginArguments = languageSettingsClass.getMethodOrNull("getCompilerPluginArguments")
|
||||||
|
val getCompilerPluginClasspath = languageSettingsClass.getMethodOrNull("getCompilerPluginClasspath")
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
return KotlinLanguageSettingsImpl(
|
return KotlinLanguageSettingsImpl(
|
||||||
getLanguageVersion(gradleLanguageSettings) as? String,
|
getLanguageVersion(gradleLanguageSettings) as? String,
|
||||||
getApiVersion(gradleLanguageSettings) as? String,
|
getApiVersion(gradleLanguageSettings) as? String,
|
||||||
getProgressiveMode(gradleLanguageSettings) as? Boolean ?: false,
|
getProgressiveMode(gradleLanguageSettings) as? Boolean ?: false,
|
||||||
getEnabledLanguageFeatures(gradleLanguageSettings) as? Set<String> ?: emptySet(),
|
getEnabledLanguageFeatures(gradleLanguageSettings) as? Set<String> ?: emptySet(),
|
||||||
getExperimentalAnnotationsInUse?.invoke(gradleLanguageSettings) as? Set<String> ?: emptySet()
|
getExperimentalAnnotationsInUse?.invoke(gradleLanguageSettings) as? Set<String> ?: emptySet(),
|
||||||
|
getCompilerPluginArguments?.invoke(gradleLanguageSettings) as? List<String> ?: emptyList(),
|
||||||
|
(getCompilerPluginClasspath?.invoke(gradleLanguageSettings) as? FileCollection)?.files ?: emptySet()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -112,13 +112,17 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService {
|
|||||||
val getProgressiveMode = languageSettingsClass.getMethodOrNull("getProgressiveMode") ?: return null
|
val getProgressiveMode = languageSettingsClass.getMethodOrNull("getProgressiveMode") ?: return null
|
||||||
val getEnabledLanguageFeatures = languageSettingsClass.getMethodOrNull("getEnabledLanguageFeatures") ?: return null
|
val getEnabledLanguageFeatures = languageSettingsClass.getMethodOrNull("getEnabledLanguageFeatures") ?: return null
|
||||||
val getExperimentalAnnotationsInUse = languageSettingsClass.getMethodOrNull("getExperimentalAnnotationsInUse")
|
val getExperimentalAnnotationsInUse = languageSettingsClass.getMethodOrNull("getExperimentalAnnotationsInUse")
|
||||||
|
val getCompilerPluginArguments = languageSettingsClass.getMethodOrNull("getCompilerPluginArguments")
|
||||||
|
val getCompilerPluginClasspath = languageSettingsClass.getMethodOrNull("getCompilerPluginClasspath")
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
return KotlinLanguageSettingsImpl(
|
return KotlinLanguageSettingsImpl(
|
||||||
getLanguageVersion(gradleLanguageSettings) as? String,
|
getLanguageVersion(gradleLanguageSettings) as? String,
|
||||||
getApiVersion(gradleLanguageSettings) as? String,
|
getApiVersion(gradleLanguageSettings) as? String,
|
||||||
getProgressiveMode(gradleLanguageSettings) as? Boolean ?: false,
|
getProgressiveMode(gradleLanguageSettings) as? Boolean ?: false,
|
||||||
getEnabledLanguageFeatures(gradleLanguageSettings) as? Set<String> ?: emptySet(),
|
getEnabledLanguageFeatures(gradleLanguageSettings) as? Set<String> ?: emptySet(),
|
||||||
getExperimentalAnnotationsInUse?.invoke(gradleLanguageSettings) as? Set<String> ?: emptySet()
|
getExperimentalAnnotationsInUse?.invoke(gradleLanguageSettings) as? Set<String> ?: emptySet(),
|
||||||
|
getCompilerPluginArguments?.invoke(gradleLanguageSettings) as? List<String> ?: emptyList(),
|
||||||
|
(getCompilerPluginClasspath?.invoke(gradleLanguageSettings) as? FileCollection)?.files ?: emptySet()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -113,13 +113,17 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService {
|
|||||||
val getProgressiveMode = languageSettingsClass.getMethodOrNull("getProgressiveMode") ?: return null
|
val getProgressiveMode = languageSettingsClass.getMethodOrNull("getProgressiveMode") ?: return null
|
||||||
val getEnabledLanguageFeatures = languageSettingsClass.getMethodOrNull("getEnabledLanguageFeatures") ?: return null
|
val getEnabledLanguageFeatures = languageSettingsClass.getMethodOrNull("getEnabledLanguageFeatures") ?: return null
|
||||||
val getExperimentalAnnotationsInUse = languageSettingsClass.getMethodOrNull("getExperimentalAnnotationsInUse")
|
val getExperimentalAnnotationsInUse = languageSettingsClass.getMethodOrNull("getExperimentalAnnotationsInUse")
|
||||||
|
val getCompilerPluginArguments = languageSettingsClass.getMethodOrNull("getCompilerPluginArguments")
|
||||||
|
val getCompilerPluginClasspath = languageSettingsClass.getMethodOrNull("getCompilerPluginClasspath")
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
return KotlinLanguageSettingsImpl(
|
return KotlinLanguageSettingsImpl(
|
||||||
getLanguageVersion(gradleLanguageSettings) as? String,
|
getLanguageVersion(gradleLanguageSettings) as? String,
|
||||||
getApiVersion(gradleLanguageSettings) as? String,
|
getApiVersion(gradleLanguageSettings) as? String,
|
||||||
getProgressiveMode(gradleLanguageSettings) as? Boolean ?: false,
|
getProgressiveMode(gradleLanguageSettings) as? Boolean ?: false,
|
||||||
getEnabledLanguageFeatures(gradleLanguageSettings) as? Set<String> ?: emptySet(),
|
getEnabledLanguageFeatures(gradleLanguageSettings) as? Set<String> ?: emptySet(),
|
||||||
getExperimentalAnnotationsInUse?.invoke(gradleLanguageSettings) as? Set<String> ?: emptySet()
|
getExperimentalAnnotationsInUse?.invoke(gradleLanguageSettings) as? Set<String> ?: emptySet(),
|
||||||
|
getCompilerPluginArguments?.invoke(gradleLanguageSettings) as? List<String> ?: emptyList(),
|
||||||
|
(getCompilerPluginClasspath?.invoke(gradleLanguageSettings) as? FileCollection)?.files ?: emptySet()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -112,13 +112,17 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService {
|
|||||||
val getProgressiveMode = languageSettingsClass.getMethodOrNull("getProgressiveMode") ?: return null
|
val getProgressiveMode = languageSettingsClass.getMethodOrNull("getProgressiveMode") ?: return null
|
||||||
val getEnabledLanguageFeatures = languageSettingsClass.getMethodOrNull("getEnabledLanguageFeatures") ?: return null
|
val getEnabledLanguageFeatures = languageSettingsClass.getMethodOrNull("getEnabledLanguageFeatures") ?: return null
|
||||||
val getExperimentalAnnotationsInUse = languageSettingsClass.getMethodOrNull("getExperimentalAnnotationsInUse")
|
val getExperimentalAnnotationsInUse = languageSettingsClass.getMethodOrNull("getExperimentalAnnotationsInUse")
|
||||||
|
val getCompilerPluginArguments = languageSettingsClass.getMethodOrNull("getCompilerPluginArguments")
|
||||||
|
val getCompilerPluginClasspath = languageSettingsClass.getMethodOrNull("getCompilerPluginClasspath")
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
return KotlinLanguageSettingsImpl(
|
return KotlinLanguageSettingsImpl(
|
||||||
getLanguageVersion(gradleLanguageSettings) as? String,
|
getLanguageVersion(gradleLanguageSettings) as? String,
|
||||||
getApiVersion(gradleLanguageSettings) as? String,
|
getApiVersion(gradleLanguageSettings) as? String,
|
||||||
getProgressiveMode(gradleLanguageSettings) as? Boolean ?: false,
|
getProgressiveMode(gradleLanguageSettings) as? Boolean ?: false,
|
||||||
getEnabledLanguageFeatures(gradleLanguageSettings) as? Set<String> ?: emptySet(),
|
getEnabledLanguageFeatures(gradleLanguageSettings) as? Set<String> ?: emptySet(),
|
||||||
getExperimentalAnnotationsInUse?.invoke(gradleLanguageSettings) as? Set<String> ?: emptySet()
|
getExperimentalAnnotationsInUse?.invoke(gradleLanguageSettings) as? Set<String> ?: emptySet(),
|
||||||
|
getCompilerPluginArguments?.invoke(gradleLanguageSettings) as? List<String> ?: emptyList(),
|
||||||
|
(getCompilerPluginClasspath?.invoke(gradleLanguageSettings) as? FileCollection)?.files ?: emptySet()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,9 @@ class KotlinLanguageSettingsImpl(
|
|||||||
override val apiVersion: String?,
|
override val apiVersion: String?,
|
||||||
override val isProgressiveMode: Boolean,
|
override val isProgressiveMode: Boolean,
|
||||||
override val enabledLanguageFeatures: Set<String>,
|
override val enabledLanguageFeatures: Set<String>,
|
||||||
override val experimentalAnnotationsInUse: Set<String>
|
override val experimentalAnnotationsInUse: Set<String>,
|
||||||
|
override val compilerPluginArguments: List<String>,
|
||||||
|
override val compilerPluginClasspath: Set<File>
|
||||||
) : KotlinLanguageSettings
|
) : KotlinLanguageSettings
|
||||||
|
|
||||||
class KotlinCompilationOutputImpl(
|
class KotlinCompilationOutputImpl(
|
||||||
|
|||||||
Reference in New Issue
Block a user