Skip to content

Commit

Permalink
JPS: Copy project-level settings before use
Browse files Browse the repository at this point in the history
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
  • Loading branch information
asedunov committed Mar 19, 2017
1 parent 2e1b4cd commit 505a6bc
Showing 1 changed file with 4 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ class JpsKotlinCompilerSettings : JpsElementBase<JpsKotlinCompilerSettings>() {
}

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
if (facetSettings.useProjectSettings) return defaultArguments
val facetArguments = facetSettings.compilerArguments ?: return defaultArguments
Expand All @@ -80,7 +80,7 @@ class JpsKotlinCompilerSettings : JpsElementBase<JpsKotlinCompilerSettings>() {
}

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
if (facetSettings.useProjectSettings) return defaultArguments
return facetSettings.compilerArguments as? K2JVMCompilerArguments ?: defaultArguments
Expand All @@ -91,7 +91,7 @@ class JpsKotlinCompilerSettings : JpsElementBase<JpsKotlinCompilerSettings>() {
}

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
if (facetSettings.useProjectSettings) return defaultArguments
return facetSettings.compilerArguments as? K2JSCompilerArguments ?: defaultArguments
Expand All @@ -102,7 +102,7 @@ class JpsKotlinCompilerSettings : JpsElementBase<JpsKotlinCompilerSettings>() {
}

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
if (facetSettings.useProjectSettings) return defaultSettings
return facetSettings.compilerSettings ?: defaultSettings
Expand Down

0 comments on commit 505a6bc

Please sign in to comment.