Skip to content

Commit

Permalink
Refactor annotation processor configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
MerlinTHS committed Feb 15, 2023
1 parent 30a10d6 commit a936cb9
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package io.mths.kava.gradle.config.processor

import io.mths.kava.gradle.plugins.Plugin
import io.mths.kava.gradle.plugins.hasPlugin
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation

fun KotlinCompilation<*>.configureAnnotationProcessor(
config: KavaProcessorConfig
) {
if (hasPlugin(Plugin.Ksp)) {
addProcessorDependencies(config.kspConfigs)
addGeneratedSourceDirs(config.generatedDirectories)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package io.mths.kava.gradle.config.processor

import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation

internal fun KotlinCompilation<*>.addGeneratedSourceDirs(
directories: List<String>
) {
for (sourceSet in kotlinSourceSets) {
directories.forEach(sourceSet.kotlin::srcDir)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package io.mths.kava.gradle.config.processor

data class KavaProcessorConfig(
val generatedDirectories: List<String>,
val kspConfigs: List<String>
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package io.mths.kava.gradle.config.processor

import io.mths.kava.gradle.Dependency
import org.gradle.kotlin.dsl.dependencies
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation

internal fun KotlinCompilation<*>.addProcessorDependencies(
kspConfigs: List<String>
) {
target.project.dependencies {
for (config in kspConfigs) {
add(config, Dependency.processor)
}
}
}

0 comments on commit a936cb9

Please sign in to comment.