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 implementation libs.okhttp.tls 64 65 androidTestImplementation libs.aws.android.sdk.s3 66 androidTestImplementation(libs.aws.android.sdk.mobile.client) { transitive = true } 67 androidTestImplementation(libs.aws.android.sdk.auth.userpools) { transitive = true } 68 69 androidTestImplementation libs.androidx.test.junit 70 androidTestImplementation libs.androidx.test.espresso 71 androidTestImplementation libs.androidx.test.espresso.idling 72 androidTestImplementation libs.androidx.test.core 73 androidTestImplementation libs.androidx.test.rules 74 androidTestImplementation libs.jjwt 75 androidTestImplementation libs.mockito.android 76 androidTestImplementation libs.mockito.kotlin 77} 78