plugins {
  id 'com.android.application'
  id 'kotlin-android'
  id 'kotlin-kapt'
}

android {
  compileSdkVersion 30
  buildToolsVersion "30.0.3"

  defaultConfig {
    applicationId "com.airbnb.lottie.sample.compose"
    minSdkVersion 21
    targetSdkVersion 30
    versionCode 1
    versionName VERSION_NAME

    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  }

  buildTypes {
    release {
      minifyEnabled false
    }
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
  kotlinOptions {
    jvmTarget = '1.8'
    freeCompilerArgs += [
        "-Xallow-jvm-ir-dependencies",
        "-Xskip-prerelease-check",
        "-Xuse-experimental=kotlinx.coroutines.ExperimentalCoroutinesApi",
        "-Xuse-experimental=androidx.compose.animation.ExperimentalAnimationApi",
        "-Xopt-in=androidx.compose.material.ExperimentalMaterialApi",
        "-Xopt-in=com.google.accompanist.pager.ExperimentalPagerApi",
        "-Xopt-in=kotlin.RequiresOptIn",
    ]
  }
  buildFeatures {
    compose true
  }
  composeOptions {
    kotlinCompilerExtensionVersion composeVersion
  }
}

kapt {
  correctErrorTypes = true
}

dependencies {
  implementation project(':lottie-compose')
  implementation 'androidx.core:core-ktx:1.5.0'
  implementation 'androidx.multidex:multidex:2.0.1'
  implementation 'androidx.activity:activity-ktx:1.2.3'
  implementation 'androidx.activity:activity-compose:1.3.0-beta02'
  implementation 'androidx.appcompat:appcompat:1.4.0-alpha02'
  implementation 'com.google.android.material:material:1.3.0'
  implementation "androidx.compose.ui:ui:$composeVersion"
  implementation "androidx.compose.material:material:$composeVersion"
  implementation "androidx.compose.material:material-icons-extended:$composeVersion"
  implementation "androidx.compose.ui:ui-tooling:$composeVersion"
  implementation "androidx.navigation:navigation-compose:2.4.0-alpha02"
  implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
  implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1'

  implementation "androidx.navigation:navigation-ui-ktx:2.3.5"

  implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0'
  implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0'

  implementation "com.google.dagger:dagger:$daggerVersion"
  kapt "com.google.dagger:dagger-compiler:$daggerVersion"

  implementation 'com.squareup.retrofit2:retrofit:2.9.0'
  implementation 'com.squareup.retrofit2:converter-moshi:2.9.0'
  implementation "com.google.accompanist:accompanist-coil:0.11.1"
  implementation "com.google.accompanist:accompanist-pager-indicators:0.11.1"
  implementation 'com.airbnb.android:mavericks:2.3.0'
  implementation 'com.airbnb.android:mavericks-compose:2.1.0-alpha02'

  testImplementation 'junit:junit:4.13.2'
  androidTestImplementation 'androidx.test.ext:junit:1.1.2'
  androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}