fluid-compiler
Compile Kotlin code and run Kapt annotation processing directly from Kotlin, for example to unit test your annotation processors!
Installation
build.gradle.kts
:
dependencies {
implementation("io.fluidsonic.compiler:fluid-compiler:0.10.2")
}
Example
import io.fluidsonic.compiler.*
val result = KotlinCompiler()
.includesCurrentClasspath()
.jvmTarget(KotlinJvmTarget.v1_8)
.processors(MyAnnotationProcessor())
.sources("sources", "more-sources/Example.kt")
.compile()
// result.exitCode contains the exit code of the compiler
// result.messages contains all messages printed during compilation and annotation processing
// result.generatedFiles contains all files generated by annotation processors
Additional configuration
.destination("output")
.kotlinHome("/path/to/kotlin/home")
.moduleName("my-module")
Manually setting compiler arguments
.arguments {
apiVersion = "1.2"
languageVersion = "1.2"
newInference = true
}
For a complete list of all compiler arguments check out K2JVMCompilerArguments.
Manually setting Kapt options
.kaptOptions {
flags += KaptFlag.CORRECT_ERROR_TYPES
mode = AptMode.STUBS_AND_APT
}
For a complete list of all Kapt options check out KaptOptions.
License
Apache 2.0