compose-lobsters/buildSrc/src/main/java/KaptConfigs.kt
Harsh Shandilya db07a12be5 all: reformat with ktfmt google style
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-02 13:06:49 +05:30

28 lines
959 B
Kotlin

import org.gradle.api.Project
import org.gradle.kotlin.dsl.configure
import org.jetbrains.kotlin.gradle.plugin.KaptExtension
/** Apply default kapt configs to the [Project]. */
internal fun Project.configureKapt() {
extensions.configure<KaptExtension> {
javacOptions {
if (hasDaggerCompilerDependency) {
option("-Adagger.fastInit=enabled")
option("-Adagger.strictMultibindingValidation=enabled")
option("-Adagger.experimentalDaggerErrorMessages=enabled")
option("-Xmaxerrs", 500)
option("-Adagger.moduleBindingValidation=ERROR")
}
}
// disable kapt tasks for unit tests
tasks
.matching { it.name.startsWith("kapt") && it.name.endsWith("UnitTestKotlin") }
.configureEach { enabled = false }
}
}
private val Project.hasDaggerCompilerDependency: Boolean
get() =
configurations.any {
it.dependencies.any { dependency -> dependency.name == "dagger-compiler" }
}