Convert to Kotlin: Compiler arguments/settings JPS serializers
Original commit: b6de7d3503
This commit is contained in:
+15
-26
@@ -14,35 +14,24 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.jps.model;
|
||||
package org.jetbrains.kotlin.jps.model
|
||||
|
||||
import com.intellij.util.xmlb.XmlSerializer;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments;
|
||||
import org.jetbrains.jps.model.JpsProject;
|
||||
import org.jetbrains.jps.model.serialization.JpsProjectExtensionSerializer;
|
||||
import org.jetbrains.kotlin.jps.JpsKotlinCompilerSettings;
|
||||
import com.intellij.util.xmlb.XmlSerializer
|
||||
import org.jdom.Element
|
||||
import org.jetbrains.jps.model.JpsProject
|
||||
import org.jetbrains.jps.model.serialization.JpsProjectExtensionSerializer
|
||||
import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments
|
||||
import org.jetbrains.kotlin.config.SettingConstants.KOTLIN_COMPILER_SETTINGS_FILE
|
||||
import org.jetbrains.kotlin.config.SettingConstants.KOTLIN_TO_JS_COMPILER_ARGUMENTS_SECTION
|
||||
import org.jetbrains.kotlin.jps.JpsKotlinCompilerSettings
|
||||
|
||||
import static org.jetbrains.kotlin.config.SettingConstants.KOTLIN_COMPILER_SETTINGS_FILE;
|
||||
import static org.jetbrains.kotlin.config.SettingConstants.KOTLIN_TO_JS_COMPILER_ARGUMENTS_SECTION;
|
||||
|
||||
class Kotlin2JsCompilerArgumentsSerializer extends JpsProjectExtensionSerializer {
|
||||
Kotlin2JsCompilerArgumentsSerializer() {
|
||||
super(KOTLIN_COMPILER_SETTINGS_FILE, KOTLIN_TO_JS_COMPILER_ARGUMENTS_SECTION);
|
||||
internal class Kotlin2JsCompilerArgumentsSerializer : JpsProjectExtensionSerializer(KOTLIN_COMPILER_SETTINGS_FILE,
|
||||
KOTLIN_TO_JS_COMPILER_ARGUMENTS_SECTION) {
|
||||
override fun loadExtension(project: JpsProject, componentTag: Element) {
|
||||
val settings = XmlSerializer.deserialize(componentTag, K2JSCompilerArguments::class.java) ?: K2JSCompilerArguments()
|
||||
JpsKotlinCompilerSettings.setK2JsCompilerArguments(project, settings)
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadExtension(@NotNull JpsProject project, @NotNull Element componentTag) {
|
||||
K2JSCompilerArguments settings = XmlSerializer.deserialize(componentTag, K2JSCompilerArguments.class);
|
||||
if (settings == null) {
|
||||
settings = new K2JSCompilerArguments();
|
||||
}
|
||||
|
||||
JpsKotlinCompilerSettings.Companion.setK2JsCompilerArguments(project, settings);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveExtension(@NotNull JpsProject project, @NotNull Element componentTag) {
|
||||
override fun saveExtension(project: JpsProject, componentTag: Element) {
|
||||
}
|
||||
}
|
||||
|
||||
+16
-25
@@ -14,35 +14,26 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.jps.model;
|
||||
package org.jetbrains.kotlin.jps.model
|
||||
|
||||
import com.intellij.util.xmlb.XmlSerializer;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments;
|
||||
import org.jetbrains.jps.model.JpsProject;
|
||||
import org.jetbrains.jps.model.serialization.JpsProjectExtensionSerializer;
|
||||
import org.jetbrains.kotlin.jps.JpsKotlinCompilerSettings;
|
||||
import com.intellij.util.xmlb.XmlSerializer
|
||||
import org.jdom.Element
|
||||
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
|
||||
import org.jetbrains.jps.model.JpsProject
|
||||
import org.jetbrains.jps.model.serialization.JpsProjectExtensionSerializer
|
||||
import org.jetbrains.kotlin.jps.JpsKotlinCompilerSettings
|
||||
|
||||
import static org.jetbrains.kotlin.config.SettingConstants.KOTLIN_COMPILER_SETTINGS_FILE;
|
||||
import static org.jetbrains.kotlin.config.SettingConstants.KOTLIN_TO_JVM_COMPILER_ARGUMENTS_SECTION;
|
||||
import org.jetbrains.kotlin.config.SettingConstants.KOTLIN_COMPILER_SETTINGS_FILE
|
||||
import org.jetbrains.kotlin.config.SettingConstants.KOTLIN_TO_JVM_COMPILER_ARGUMENTS_SECTION
|
||||
|
||||
class Kotlin2JvmCompilerArgumentsSerializer extends JpsProjectExtensionSerializer {
|
||||
Kotlin2JvmCompilerArgumentsSerializer() {
|
||||
super(KOTLIN_COMPILER_SETTINGS_FILE, KOTLIN_TO_JVM_COMPILER_ARGUMENTS_SECTION);
|
||||
internal class Kotlin2JvmCompilerArgumentsSerializer : JpsProjectExtensionSerializer(KOTLIN_COMPILER_SETTINGS_FILE,
|
||||
KOTLIN_TO_JVM_COMPILER_ARGUMENTS_SECTION) {
|
||||
|
||||
override fun loadExtension(project: JpsProject, componentTag: Element) {
|
||||
val settings = XmlSerializer.deserialize(componentTag, K2JVMCompilerArguments::class.java) ?: K2JVMCompilerArguments()
|
||||
JpsKotlinCompilerSettings.setK2JvmCompilerArguments(project, settings)
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadExtension(@NotNull JpsProject project, @NotNull Element componentTag) {
|
||||
K2JVMCompilerArguments settings = XmlSerializer.deserialize(componentTag, K2JVMCompilerArguments.class);
|
||||
if (settings == null) {
|
||||
settings = new K2JVMCompilerArguments();
|
||||
}
|
||||
|
||||
JpsKotlinCompilerSettings.Companion.setK2JvmCompilerArguments(project, settings);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveExtension(@NotNull JpsProject project, @NotNull Element componentTag) {
|
||||
override fun saveExtension(project: JpsProject, componentTag: Element) {
|
||||
}
|
||||
}
|
||||
|
||||
+17
-25
@@ -14,35 +14,27 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.jps.model;
|
||||
package org.jetbrains.kotlin.jps.model
|
||||
|
||||
import com.intellij.util.xmlb.XmlSerializer;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments;
|
||||
import org.jetbrains.jps.model.JpsProject;
|
||||
import org.jetbrains.jps.model.serialization.JpsProjectExtensionSerializer;
|
||||
import org.jetbrains.kotlin.jps.JpsKotlinCompilerSettings;
|
||||
import com.intellij.util.xmlb.XmlSerializer
|
||||
import org.jdom.Element
|
||||
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
|
||||
import org.jetbrains.jps.model.JpsProject
|
||||
import org.jetbrains.jps.model.serialization.JpsProjectExtensionSerializer
|
||||
import org.jetbrains.kotlin.jps.JpsKotlinCompilerSettings
|
||||
|
||||
import static org.jetbrains.kotlin.config.SettingConstants.KOTLIN_COMMON_COMPILER_ARGUMENTS_SECTION;
|
||||
import static org.jetbrains.kotlin.config.SettingConstants.KOTLIN_COMPILER_SETTINGS_FILE;
|
||||
import org.jetbrains.kotlin.config.SettingConstants.KOTLIN_COMMON_COMPILER_ARGUMENTS_SECTION
|
||||
import org.jetbrains.kotlin.config.SettingConstants.KOTLIN_COMPILER_SETTINGS_FILE
|
||||
|
||||
class KotlinCommonCompilerArgumentsSerializer extends JpsProjectExtensionSerializer {
|
||||
KotlinCommonCompilerArgumentsSerializer() {
|
||||
super(KOTLIN_COMPILER_SETTINGS_FILE, KOTLIN_COMMON_COMPILER_ARGUMENTS_SECTION);
|
||||
internal class KotlinCommonCompilerArgumentsSerializer : JpsProjectExtensionSerializer(KOTLIN_COMPILER_SETTINGS_FILE,
|
||||
KOTLIN_COMMON_COMPILER_ARGUMENTS_SECTION) {
|
||||
|
||||
override fun loadExtension(project: JpsProject, componentTag: Element) {
|
||||
val settings = XmlSerializer.deserialize(componentTag, CommonCompilerArguments.DummyImpl::class.java)
|
||||
?: CommonCompilerArguments.DummyImpl()
|
||||
JpsKotlinCompilerSettings.setCommonCompilerArguments(project, settings)
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadExtension(@NotNull JpsProject project, @NotNull Element componentTag) {
|
||||
CommonCompilerArguments settings = XmlSerializer.deserialize(componentTag, CommonCompilerArguments.DummyImpl.class);
|
||||
if (settings == null) {
|
||||
settings = new CommonCompilerArguments.DummyImpl();
|
||||
}
|
||||
|
||||
JpsKotlinCompilerSettings.Companion.setCommonCompilerArguments(project, settings);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveExtension(@NotNull JpsProject project, @NotNull Element componentTag) {
|
||||
override fun saveExtension(project: JpsProject, componentTag: Element) {
|
||||
}
|
||||
}
|
||||
|
||||
+16
-25
@@ -14,35 +14,26 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.jps.model;
|
||||
package org.jetbrains.kotlin.jps.model
|
||||
|
||||
import com.intellij.util.xmlb.XmlSerializer;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsProject;
|
||||
import org.jetbrains.jps.model.serialization.JpsProjectExtensionSerializer;
|
||||
import org.jetbrains.kotlin.config.CompilerSettings;
|
||||
import org.jetbrains.kotlin.jps.JpsKotlinCompilerSettings;
|
||||
import com.intellij.util.xmlb.XmlSerializer
|
||||
import org.jdom.Element
|
||||
import org.jetbrains.jps.model.JpsProject
|
||||
import org.jetbrains.jps.model.serialization.JpsProjectExtensionSerializer
|
||||
import org.jetbrains.kotlin.config.CompilerSettings
|
||||
import org.jetbrains.kotlin.jps.JpsKotlinCompilerSettings
|
||||
|
||||
import static org.jetbrains.kotlin.config.SettingConstants.KOTLIN_COMPILER_SETTINGS_FILE;
|
||||
import static org.jetbrains.kotlin.config.SettingConstants.KOTLIN_COMPILER_SETTINGS_SECTION;
|
||||
import org.jetbrains.kotlin.config.SettingConstants.KOTLIN_COMPILER_SETTINGS_FILE
|
||||
import org.jetbrains.kotlin.config.SettingConstants.KOTLIN_COMPILER_SETTINGS_SECTION
|
||||
|
||||
class KotlinCompilerSettingsSerializer extends JpsProjectExtensionSerializer {
|
||||
KotlinCompilerSettingsSerializer() {
|
||||
super(KOTLIN_COMPILER_SETTINGS_FILE, KOTLIN_COMPILER_SETTINGS_SECTION);
|
||||
internal class KotlinCompilerSettingsSerializer : JpsProjectExtensionSerializer(KOTLIN_COMPILER_SETTINGS_FILE,
|
||||
KOTLIN_COMPILER_SETTINGS_SECTION) {
|
||||
|
||||
override fun loadExtension(project: JpsProject, componentTag: Element) {
|
||||
val settings = XmlSerializer.deserialize(componentTag, CompilerSettings::class.java) ?: CompilerSettings()
|
||||
JpsKotlinCompilerSettings.setCompilerSettings(project, settings)
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadExtension(@NotNull JpsProject project, @NotNull Element componentTag) {
|
||||
CompilerSettings settings = XmlSerializer.deserialize(componentTag, CompilerSettings.class);
|
||||
if (settings == null) {
|
||||
settings = new CompilerSettings();
|
||||
}
|
||||
|
||||
JpsKotlinCompilerSettings.Companion.setCompilerSettings(project, settings);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveExtension(@NotNull JpsProject project, @NotNull Element componentTag) {
|
||||
override fun saveExtension(project: JpsProject, componentTag: Element) {
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user