buildSrc: conditionally configure Dagger and disable kapt in tests

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2021-02-01 18:29:22 +05:30
parent 0c1b20d3e7
commit 2a4c58a680
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80

View file

@ -8,10 +8,24 @@ import org.jetbrains.kotlin.gradle.plugin.KaptExtension
internal fun Project.configureKapt() { internal fun Project.configureKapt() {
extensions.configure<KaptExtension> { extensions.configure<KaptExtension> {
javacOptions { javacOptions {
if (hasDaggerCompilerDependency) {
option("-Adagger.fastInit=enabled") option("-Adagger.fastInit=enabled")
option("-Adagger.strictMultibindingValidation=enabled")
option("-Adagger.experimentalDaggerErrorMessages=enabled") option("-Adagger.experimentalDaggerErrorMessages=enabled")
option("-Xmaxerrs", 500) option("-Xmaxerrs", 500)
option("-Adagger.moduleBindingValidation=ERROR") 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"
}
}