Librechat-Mobile/build-logic/convention/src/main/kotlin/AndroidRoomConventionPlugin.kt
2026-03-09 22:00:00 -05:00

27 lines
872 B
Kotlin

import androidx.room.gradle.RoomExtension
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.dependencies
class AndroidRoomConventionPlugin : Plugin<Project> {
override fun apply(target: Project) {
with(target) {
pluginManager.apply("androidx.room")
pluginManager.apply("com.google.devtools.ksp")
extensions.configure<RoomExtension> {
schemaDirectory("$projectDir/schemas")
}
dependencies {
add("implementation", libs.findBundle("room").get())
add("ksp", libs.findLibrary("room-compiler").get())
}
}
}
}
private val Project.libs
get() = extensions.getByType(org.gradle.api.artifacts.VersionCatalogsExtension::class.java)
.named("libs")