JPS: Copy project-level settings before use
Sharing these settings for reading/writing between different module during JPS build may lead to compiler settings (plugionOptions, in particular) of several modules to be mixed #KT-16888 Fixed
This commit is contained in:
@@ -63,7 +63,7 @@ class JpsKotlinCompilerSettings : JpsElementBase<JpsKotlinCompilerSettings>() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun getCommonCompilerArguments(module: JpsModule): CommonCompilerArguments {
|
fun getCommonCompilerArguments(module: JpsModule): CommonCompilerArguments {
|
||||||
val defaultArguments = getSettings(module.project).commonCompilerArguments
|
val defaultArguments = copyBean(getSettings(module.project).commonCompilerArguments)
|
||||||
val facetSettings = module.kotlinFacetExtension?.settings ?: return defaultArguments
|
val facetSettings = module.kotlinFacetExtension?.settings ?: return defaultArguments
|
||||||
if (facetSettings.useProjectSettings) return defaultArguments
|
if (facetSettings.useProjectSettings) return defaultArguments
|
||||||
val facetArguments = facetSettings.compilerArguments ?: return defaultArguments
|
val facetArguments = facetSettings.compilerArguments ?: return defaultArguments
|
||||||
@@ -80,7 +80,7 @@ class JpsKotlinCompilerSettings : JpsElementBase<JpsKotlinCompilerSettings>() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun getK2JvmCompilerArguments(module: JpsModule): K2JVMCompilerArguments {
|
fun getK2JvmCompilerArguments(module: JpsModule): K2JVMCompilerArguments {
|
||||||
val defaultArguments = getSettings(module.project).k2JvmCompilerArguments
|
val defaultArguments = copyBean(getSettings(module.project).k2JvmCompilerArguments)
|
||||||
val facetSettings = module.kotlinFacetExtension?.settings ?: return defaultArguments
|
val facetSettings = module.kotlinFacetExtension?.settings ?: return defaultArguments
|
||||||
if (facetSettings.useProjectSettings) return defaultArguments
|
if (facetSettings.useProjectSettings) return defaultArguments
|
||||||
return facetSettings.compilerArguments as? K2JVMCompilerArguments ?: defaultArguments
|
return facetSettings.compilerArguments as? K2JVMCompilerArguments ?: defaultArguments
|
||||||
@@ -91,7 +91,7 @@ class JpsKotlinCompilerSettings : JpsElementBase<JpsKotlinCompilerSettings>() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun getK2JsCompilerArguments(module: JpsModule): K2JSCompilerArguments {
|
fun getK2JsCompilerArguments(module: JpsModule): K2JSCompilerArguments {
|
||||||
val defaultArguments = getSettings(module.project).k2JsCompilerArguments
|
val defaultArguments = copyBean(getSettings(module.project).k2JsCompilerArguments)
|
||||||
val facetSettings = module.kotlinFacetExtension?.settings ?: return defaultArguments
|
val facetSettings = module.kotlinFacetExtension?.settings ?: return defaultArguments
|
||||||
if (facetSettings.useProjectSettings) return defaultArguments
|
if (facetSettings.useProjectSettings) return defaultArguments
|
||||||
return facetSettings.compilerArguments as? K2JSCompilerArguments ?: defaultArguments
|
return facetSettings.compilerArguments as? K2JSCompilerArguments ?: defaultArguments
|
||||||
@@ -102,7 +102,7 @@ class JpsKotlinCompilerSettings : JpsElementBase<JpsKotlinCompilerSettings>() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun getCompilerSettings(module: JpsModule): CompilerSettings {
|
fun getCompilerSettings(module: JpsModule): CompilerSettings {
|
||||||
val defaultSettings = getSettings(module.project).compilerSettings
|
val defaultSettings = copyBean(getSettings(module.project).compilerSettings)
|
||||||
val facetSettings = module.kotlinFacetExtension?.settings ?: return defaultSettings
|
val facetSettings = module.kotlinFacetExtension?.settings ?: return defaultSettings
|
||||||
if (facetSettings.useProjectSettings) return defaultSettings
|
if (facetSettings.useProjectSettings) return defaultSettings
|
||||||
return facetSettings.compilerSettings ?: defaultSettings
|
return facetSettings.compilerSettings ?: defaultSettings
|
||||||
|
|||||||
Reference in New Issue
Block a user