From db0a5f4f80d8c8a433ca3e48124cbd918a4d2991 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Fri, 26 Apr 2013 20:35:04 +0400 Subject: [PATCH] Using XML instead of module scripts when running from IDE Original commit: f1f9d5327cb4e7f1674c273f6cc6fd9c4087537c --- .../jetbrains/jet/jps/build/KotlinBuilder.java | 4 ++-- .../KotlinBuilderModuleScriptGenerator.java | 16 +++++++++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/jps/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilder.java b/jps/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilder.java index 2fbeb0f7ef9..2f0eb7bb58f 100644 --- a/jps/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilder.java +++ b/jps/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilder.java @@ -82,7 +82,7 @@ public class KotlinBuilder extends ModuleLevelBuilder { return ExitCode.NOTHING_DONE; } - File scriptFile = KotlinBuilderModuleScriptGenerator.generateModuleScript(context, representativeTarget, sourceFiles); + File moduleFile = KotlinBuilderModuleScriptGenerator.generateModuleDescription(context, representativeTarget, sourceFiles); File outputDir = representativeTarget.getOutputDir(); @@ -99,7 +99,7 @@ public class KotlinBuilder extends ModuleLevelBuilder { KotlinCompilerRunner.runCompiler( messageCollector, environment, - scriptFile, + moduleFile, outputItemCollector, /*runOutOfProcess = */false); diff --git a/jps/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilderModuleScriptGenerator.java b/jps/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilderModuleScriptGenerator.java index ed89aac90d1..ce53354d6ad 100644 --- a/jps/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilderModuleScriptGenerator.java +++ b/jps/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilderModuleScriptGenerator.java @@ -21,7 +21,7 @@ import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.compiler.runner.KotlinModuleDescriptionGenerator; -import org.jetbrains.jet.compiler.runner.KotlinModuleScriptGenerator; +import org.jetbrains.jet.compiler.runner.KotlinModuleXmlGenerator; import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor; import org.jetbrains.jps.incremental.CompileContext; import org.jetbrains.jps.incremental.ModuleBuildTarget; @@ -33,7 +33,10 @@ import org.jetbrains.jps.model.java.JpsJavaDependenciesEnumerator; import org.jetbrains.jps.model.java.JpsJavaExtensionService; import org.jetbrains.jps.model.library.JpsLibrary; import org.jetbrains.jps.model.library.JpsLibraryRoot; -import org.jetbrains.jps.model.module.*; +import org.jetbrains.jps.model.module.JpsDependencyElement; +import org.jetbrains.jps.model.module.JpsLibraryDependency; +import org.jetbrains.jps.model.module.JpsModule; +import org.jetbrains.jps.model.module.JpsSdkDependency; import org.jetbrains.jps.util.JpsPathUtil; import java.io.File; @@ -45,10 +48,13 @@ import java.util.List; import static org.jetbrains.jet.compiler.runner.KotlinModuleDescriptionGenerator.DependencyProvider; public class KotlinBuilderModuleScriptGenerator { - public static File generateModuleScript(CompileContext context, ModuleBuildTarget target, List sourceFiles) + + public static final KotlinModuleDescriptionGenerator GENERATOR = KotlinModuleXmlGenerator.INSTANCE; + + public static File generateModuleDescription(CompileContext context, ModuleBuildTarget target, List sourceFiles) throws IOException { - CharSequence moduleScriptText = KotlinModuleScriptGenerator.INSTANCE.generateModuleScript( + CharSequence moduleScriptText = GENERATOR.generateModuleScript( target.getId(), getKotlinModuleDependencies(context, target), sourceFiles, @@ -57,7 +63,7 @@ public class KotlinBuilderModuleScriptGenerator { Collections.singleton(target.getOutputDir()) ); - File scriptFile = new File(target.getOutputDir(), "script.kts"); + File scriptFile = new File(target.getOutputDir(), "script." + GENERATOR.getFileExtension()); writeScriptToFile(context, moduleScriptText, scriptFile);