1import static de.fayard.refreshVersions.core.Versions.versionFor 2 3plugins { 4 id 'com.android.application' 5 id "org.jetbrains.kotlin.android" 6} 7 8android { 9 namespace 'com.airbnb.lottie.snapshots' 10 compileSdk 34 11 defaultConfig { 12 applicationId "com.airbnb.lottie.snapshots" 13 minSdk 21 14 targetSdk 34 15 versionCode 1 16 versionName VERSION_NAME 17 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 18 buildConfigField("String", "GIT_BRANCH", "\"" + System.getenv("GITHUB_REF_NAME") + "\"") 19 buildConfigField("String", "GIT_SHA", "\"" + System.getenv("GITHUB_SHA") + "\"") 20 } 21 22 buildTypes { 23 debug { 24 buildConfigField("String", "S3AccessKey", "\"" + System.getenv("LOTTIE_S3_API_KEY") + "\"") 25 buildConfigField("String", "S3SecretKey", "\"" + System.getenv("LOTTIE_S3_SECRET_KEY") + "\"") 26 buildConfigField("String", "HappoApiKey", "\"" + System.getenv("LOTTIE_HAPPO_API_KEY") + "\"") 27 buildConfigField("String", "HappoSecretKey", "\"" + System.getenv("LOTTIE_HAPPO_SECRET_KEY") + "\"") 28 } 29 release { 30 minifyEnabled false 31 } 32 } 33 34 kotlinOptions { 35 freeCompilerArgs += [ 36 "-Xskip-prerelease-check", 37 "-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi", 38 "-opt-in=kotlin.RequiresOptIn", 39 ] 40 } 41 buildFeatures { 42 compose true 43 viewBinding true 44 buildConfig true 45 } 46 47 composeOptions { 48 kotlinCompilerExtensionVersion = versionFor(project, AndroidX.compose.compiler) 49 } 50} 51 52dependencies { 53 implementation project(':lottie-compose') 54 implementation libs.androidx.appcompat 55 implementation libs.androidx.core.ktx 56 implementation libs.androidx.activity.compose 57 implementation platform(libs.compose.bom) 58 implementation libs.compose.ui 59 implementation libs.compose.ui.tooling 60 implementation libs.compose.material 61 62 implementation libs.okhttp 63 64 androidTestImplementation libs.aws.android.sdk.s3 65 androidTestImplementation(libs.aws.android.sdk.mobile.client) { transitive = true } 66 androidTestImplementation(libs.aws.android.sdk.auth.userpools) { transitive = true } 67 68 androidTestImplementation libs.androidx.test.junit 69 androidTestImplementation libs.androidx.test.espresso 70 androidTestImplementation libs.androidx.test.espresso.idling 71 androidTestImplementation libs.androidx.test.core 72 androidTestImplementation libs.androidx.test.rules 73 androidTestImplementation libs.jjwt 74 androidTestImplementation libs.mockito.android 75 androidTestImplementation libs.mockito.kotlin 76} 77