import static de.fayard.refreshVersions.core.Versions.versionFor

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

android {
    namespace 'com.airbnb.lottie.issues.compose'
    compileSdk 33
    defaultConfig {
        applicationId "com.airbnb.lottie.issues.compose"
        // DO NOT SUBMIT
        minSdk 29
        targetSdk 33
        versionCode 1
        versionName "1.0"
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_17.toString()
    }
    buildFeatures {
        compose true
    }
    composeOptions {
        kotlinCompilerExtensionVersion = versionFor(project, AndroidX.compose.compiler)
    }
}

dependencies {
    implementation project(':lottie-compose')
    implementation libs.androidx.appcompat
    implementation libs.androidx.activity.compose
    implementation platform(libs.compose.bom)
    implementation libs.compose.ui
    implementation libs.compose.material
    implementation libs.compose.material.icons.extended
    implementation libs.compose.ui.tooling
}
