Added support project settings to old kotlin2jvm compiler.
This commit is contained in:
@@ -23,6 +23,7 @@ import com.intellij.openapi.compiler.CompilerMessageCategory;
|
||||
import com.intellij.openapi.compiler.TranslatingCompiler;
|
||||
import com.intellij.openapi.compiler.ex.CompileContextEx;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.AnnotationOrderRootType;
|
||||
import com.intellij.openapi.roots.OrderEnumerator;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
@@ -31,10 +32,13 @@ import com.intellij.util.Chunk;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.cli.common.arguments.CommonCompilerArguments;
|
||||
import org.jetbrains.jet.cli.common.arguments.K2JVMCompilerArguments;
|
||||
import org.jetbrains.jet.cli.common.messages.MessageCollector;
|
||||
import org.jetbrains.jet.compiler.runner.*;
|
||||
import org.jetbrains.jet.plugin.JetFileType;
|
||||
import org.jetbrains.jet.plugin.compiler.configuration.Kotlin2JvmCompilerSettings;
|
||||
import org.jetbrains.jet.plugin.compiler.configuration.KotlinCommonCompilerSettings;
|
||||
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector;
|
||||
|
||||
import java.io.File;
|
||||
@@ -91,13 +95,14 @@ public class JetCompiler implements TranslatingCompiler {
|
||||
doCompile(compileContext, moduleChunk, testFiles, module, outputSink, true);
|
||||
}
|
||||
|
||||
private void doCompile(
|
||||
private static void doCompile(
|
||||
final CompileContext compileContext,
|
||||
Chunk<Module> moduleChunk,
|
||||
List<VirtualFile> files,
|
||||
Module module,
|
||||
OutputSink outputSink,
|
||||
boolean tests) {
|
||||
boolean tests
|
||||
) {
|
||||
if (files.isEmpty()) return;
|
||||
|
||||
MessageCollector messageCollector = new MessageCollectorAdapter(compileContext);
|
||||
@@ -108,7 +113,7 @@ public class JetCompiler implements TranslatingCompiler {
|
||||
return;
|
||||
}
|
||||
|
||||
final File outputDir = environment.getOutput();
|
||||
File outputDir = environment.getOutput();
|
||||
|
||||
File scriptFile = tryToWriteScriptFile(compileContext, moduleChunk, files, module, tests,
|
||||
compileContext.getModuleOutputDirectory(module),
|
||||
@@ -123,27 +128,22 @@ public class JetCompiler implements TranslatingCompiler {
|
||||
compileContext.getProgressIndicator().setText("Emitting: " + outputFile);
|
||||
}
|
||||
};
|
||||
runCompiler(messageCollector, environment, scriptFile, collector);
|
||||
runCompiler(module.getProject(), messageCollector, environment, scriptFile, collector);
|
||||
|
||||
TranslatingCompilerUtils.reportOutputs(outputSink, outputDir, collector);
|
||||
}
|
||||
|
||||
private static void runCompiler(
|
||||
Project project,
|
||||
MessageCollector messageCollector,
|
||||
CompilerEnvironment environment,
|
||||
File scriptFile,
|
||||
OutputItemsCollector outputItemsCollector
|
||||
) {
|
||||
K2JVMCompilerArguments commonArguments = new K2JVMCompilerArguments();
|
||||
commonArguments.verbose = true;
|
||||
commonArguments.tags = true;
|
||||
commonArguments.printArgs = true;
|
||||
commonArguments.version = true;
|
||||
CommonCompilerArguments commonArguments = KotlinCommonCompilerSettings.getInstance(project).getSettings();
|
||||
K2JVMCompilerArguments k2jvmArguments = Kotlin2JvmCompilerSettings.getInstance(project).getSettings();
|
||||
|
||||
K2JVMCompilerArguments jvmArguments = new K2JVMCompilerArguments();
|
||||
jvmArguments.module = scriptFile.getAbsolutePath();
|
||||
|
||||
KotlinCompilerRunner.runK2JvmCompiler(commonArguments, jvmArguments, messageCollector, environment, scriptFile, outputItemsCollector);
|
||||
KotlinCompilerRunner.runK2JvmCompiler(commonArguments, k2jvmArguments, messageCollector, environment, scriptFile, outputItemsCollector);
|
||||
}
|
||||
|
||||
public static File tryToWriteScriptFile(
|
||||
|
||||
Reference in New Issue
Block a user