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'

android {
  namespace "expo.modules.astralibraryscanner"
  defaultConfig {
    versionCode 1
    versionName "0.1.0"
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  }
  sourceSets {
    androidTest.assets.srcDirs += files("$projectDir/schemas")
  }
  lintOptions {
    abortOnError false
  }
}

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'
  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")
}
