1414 * limitations under the License.
1515 */
1616
17- import com.google.devtools.ksp. gradle.KspExtension
17+ import androidx.room. gradle.RoomExtension
1818import com.google.samples.apps.nowinandroid.libs
1919import org.gradle.api.Plugin
2020import org.gradle.api.Project
21- import org.gradle.api.tasks.InputDirectory
22- import org.gradle.api.tasks.PathSensitive
23- import org.gradle.api.tasks.PathSensitivity
2421import org.gradle.kotlin.dsl.configure
2522import org.gradle.kotlin.dsl.dependencies
26- import org.gradle.process.CommandLineArgumentProvider
27- import java.io.File
2823
2924class AndroidRoomConventionPlugin : Plugin <Project > {
3025
3126 override fun apply (target : Project ) {
3227 with (target) {
28+ pluginManager.apply (" androidx.room" )
3329 pluginManager.apply (" com.google.devtools.ksp" )
3430
35- extensions.configure<KspExtension > {
31+ extensions.configure<RoomExtension > {
3632 // The schemas directory contains a schema file for each version of the Room database.
3733 // This is required to enable Room auto migrations.
3834 // See https://developer.android.com/reference/kotlin/androidx/room/AutoMigration.
39- arg( RoomSchemaArgProvider ( File (projectDir, " schemas" )) )
35+ schemaDirectory( " $projectDir / schemas" )
4036 }
4137
4238 dependencies {
@@ -46,16 +42,4 @@ class AndroidRoomConventionPlugin : Plugin<Project> {
4642 }
4743 }
4844 }
49-
50- /* *
51- * https://issuetracker.google.com/issues/132245929
52- * [Export schemas](https://developer.android.com/training/data-storage/room/migrating-db-versions#export-schemas)
53- */
54- class RoomSchemaArgProvider (
55- @get:InputDirectory
56- @get:PathSensitive(PathSensitivity .RELATIVE )
57- val schemaDir : File ,
58- ) : CommandLineArgumentProvider {
59- override fun asArguments () = listOf (" room.schemaLocation=${schemaDir.path} " )
60- }
6145}
0 commit comments