Adding generation states destroying to module-based compilation, to fix kapt usage with this compilation path

This commit is contained in:
Ilya Chernikov
2016-01-15 14:45:22 +03:00
committed by Zalim Bashorov
parent 3615ca5b02
commit c585d91e79
@@ -49,6 +49,7 @@ import java.io.File
import java.lang.reflect.Constructor
import java.lang.reflect.InvocationTargetException
import java.net.URLClassLoader
import java.util.*
import java.util.concurrent.TimeUnit
import java.util.jar.Attributes
@@ -109,6 +110,8 @@ object KotlinToJVMBytecodeCompiler {
result.throwIfError()
val generationStates = ArrayList<GenerationState>();
for (module in chunk) {
ProgressIndicatorAndCompilationCanceledStatus.checkCanceled()
val ktFiles = CompileEnvironmentUtil.getKtFiles(
@@ -118,13 +121,21 @@ object KotlinToJVMBytecodeCompiler {
val generationState = generate(environment, result, ktFiles, module, moduleOutputDirectory,
module.getModuleName())
outputFiles.put(module, generationState.factory)
generationStates.add(generationState);
}
for (module in chunk) {
ProgressIndicatorAndCompilationCanceledStatus.checkCanceled()
writeOutput(configuration, outputFiles[module]!!, File(module.getOutputDirectory()), jarPath, jarRuntime, null)
try {
for (module in chunk) {
ProgressIndicatorAndCompilationCanceledStatus.checkCanceled()
writeOutput(configuration, outputFiles[module]!!, File(module.getOutputDirectory()), jarPath, jarRuntime, null)
}
return true
}
finally {
for (generationState in generationStates) {
generationState.destroy();
}
}
return true
}
fun createCompilerConfiguration(