Skip to content

Allows annotation processors to read Doma resources at compile-time

License

Notifications You must be signed in to change notification settings

domaframework/doma-compile-plugin

Repository files navigation

Doma Compile Plugin

Doma compile plugin is a gradle plugin.
It allows annotation processors to read Doma resources at compile-time.

The plugin supports Java and Kotlin.

Java CI with Gradle project chat Twitter

How to use

See Gradle Plugin Portal.

What does the plugin do ?

The plugin is equivalent to the following gradle script:

def domaResources = ['doma.compile.config', 'META-INF/**/*.sql', 'META-INF/**/*.script']

task copyDomaResourcesJava(type: Copy) {
    from sourceSets.main.resources.srcDirs
    into compileJava.destinationDir
    include domaResources
}

compileJava {
    dependsOn copyDomaResourcesJava
}

processResources {
    exclude domaResources
}

task copyDomaResourcesKotlin(type: Copy) {
    from sourceSets.main.resources.srcDirs
    into compileKotlin.destinationDir
    include domaResources
}

compileKotlin {
    dependsOn copyDomaResourcesKotlin
}

kapt {
    arguments {
        arg('doma.resources.dir', compileKotlin.destinationDir)
    }
}

Example build.gradle.kts

Major versions

Status and Repository

Version Status Repository Branch
Doma Compile Plugin 2 limited-support domaframework/doma-compile-plugin 2.x
Doma Compile Plugin 3 stable domaframework/doma-compile-plugin master

Compatibility matrix

The supported versions of Doma:

Doma 2 Doma 3
Doma Compile Plugin 2 v
Doma Compile Plugin 3 v

The minimum supported versions of Java:

Java 8 Java 17
Doma Compile Plugin 2 v
Doma Compile Plugin 3 v