fluid-compiler

Compile Kotlin code and run Kapt annotation processing directly from Kotlin

License

License

GroupId

GroupId

com.github.fluidsonic
ArtifactId

ArtifactId

fluid-compiler
Last Version

Last Version

0.9.4
Release Date

Release Date

Type

Type

jar
Description

Description

fluid-compiler
Compile Kotlin code and run Kapt annotation processing directly from Kotlin
Project URL

Project URL

https://github.com/fluidsonic/fluid-compiler
Source Code Management

Source Code Management

https://github.com/fluidsonic/fluid-compiler

Download fluid-compiler

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.fluidsonic/fluid-compiler/ -->
<dependency>
    <groupId>com.github.fluidsonic</groupId>
    <artifactId>fluid-compiler</artifactId>
    <version>0.9.4</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.fluidsonic/fluid-compiler/
implementation 'com.github.fluidsonic:fluid-compiler:0.9.4'
// https://jarcasting.com/artifacts/com.github.fluidsonic/fluid-compiler/
implementation ("com.github.fluidsonic:fluid-compiler:0.9.4")
'com.github.fluidsonic:fluid-compiler:jar:0.9.4'
<dependency org="com.github.fluidsonic" name="fluid-compiler" rev="0.9.4">
  <artifact name="fluid-compiler" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.fluidsonic', module='fluid-compiler', version='0.9.4')
)
libraryDependencies += "com.github.fluidsonic" % "fluid-compiler" % "0.9.4"
[com.github.fluidsonic/fluid-compiler "0.9.4"]

Dependencies

compile (5)

Group / Artifact Type Version
org.jetbrains.kotlin : kotlin-bom jar 1.3.31
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.3.31
com.github.fluidsonic : fluid-stdlib-jvm jar 0.9.4
org.jetbrains.kotlin : kotlin-compiler-embeddable jar 1.3.31
org.jetbrains.kotlin : kotlin-annotation-processing-embeddable jar 1.3.31

Project Modules

There are no modules declared in this project.

fluid-compiler

Maven Central Kotlin #fluid-libraries Slack Channel

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.5")
}

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.3"
	languageVersion = "1.4"
	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

Versions

Version
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0