buildscript { dependencies { classpath "com.google.devtools.ksp:symbol-processing-gradle-plugin:${rootProject["kspVersion"]}" } } plugins { id 'com.android.library' id 'expo-module-gradle-plugin' } apply plugin: 'com.google.devtools.ksp' group = 'expo.modules.astralibraryscanner' version = '0.1.0' def queueFontAssetsDir = layout.buildDirectory.dir("generated/astraQueueFonts") def prepareQueueFontAssets = tasks.register("prepareQueueFontAssets", Copy) { from( "$rootDir/../node_modules/@expo-google-fonts/inter/400Regular/Inter_400Regular.ttf", "$rootDir/../node_modules/@expo-google-fonts/inter/500Medium/Inter_500Medium.ttf", "$rootDir/../node_modules/@expo-google-fonts/inter/600SemiBold/Inter_600SemiBold.ttf", ) into(queueFontAssetsDir) } android { namespace "expo.modules.astralibraryscanner" defaultConfig { versionCode 1 versionName "0.1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } sourceSets { androidTest.assets.srcDirs += files("$projectDir/schemas") main.assets.srcDir(queueFontAssetsDir) } lintOptions { abortOnError false } } tasks.named("preBuild").configure { dependsOn(prepareQueueFontAssets) } dependencies { // ExoPlayer 2.19.0 (same version the vendored kotlin-audio fork pulls in) for // MetadataRetriever — parses ID3/Vorbis/MP4 container tags (ReplayGain) without // decoding audio. Transitively brings exoplayer-extractor (the frame classes). implementation 'com.google.android.exoplayer:exoplayer-core:2.19.0' implementation 'androidx.room:room-runtime:2.8.4' implementation 'androidx.room:room-ktx:2.8.4' implementation 'androidx.recyclerview:recyclerview:1.4.0' implementation 'androidx.metrics:metrics-performance:1.0.0' implementation 'com.google.android.material:material:1.13.0' implementation 'com.github.bumptech.glide:glide:5.0.5' ksp 'androidx.room:room-compiler:2.8.4' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.room:room-testing:2.8.4' androidTestImplementation 'androidx.test:core:1.6.1' androidTestImplementation 'androidx.test.ext:junit:1.2.1' androidTestImplementation 'androidx.test:runner:1.6.2' } ksp { arg("room.schemaLocation", "$projectDir/schemas") arg("room.generateKotlin", "true") }