blob: 48d9c6e3c7ed788f82ba1e9f8a7e97dddaf32bec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
@file:OptIn(ExperimentalCompilerApi::class)
package moe.nea.mcautotranslations
import com.tschuchort.compiletesting.JvmCompilationResult
import com.tschuchort.compiletesting.KotlinCompilation
import com.tschuchort.compiletesting.SourceFile
import com.tschuchort.compiletesting.configureKsp
import moe.nea.mcautotranslations.kotlin.MCAutoTranslationsComponentRegistrar
import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar
import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
private val DEFAULT_PLUGINS = arrayOf(
MCAutoTranslationsComponentRegistrar()
)
fun compile(
list: List<SourceFile>,
vararg plugins: CompilerPluginRegistrar = DEFAULT_PLUGINS
): JvmCompilationResult {
return KotlinCompilation().apply {
sources = list
compilerPluginRegistrars = plugins.toList()
inheritClassPath = true
messageOutputStream = System.out // TODO: capture this output somehow for testing
}.compile()
}
|