plugins { id("com.android.application") id("kotlin-android") id("kotlin-kapt") id("kotlin-parcelize") } android { compileSdk = 31 defaultConfig { applicationId = "at.connyduck.pixelcat" minSdk = 24 targetSdk = 31 versionCode = 1 versionName = "0.0 snapshot1" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { getByName("release") { isMinifyEnabled = true isShrinkResources = true proguardFiles("shrinker-rules.pro") } } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } buildFeatures { viewBinding = true } packagingOptions { resources.excludes.add("LICENSE_OFL") resources.excludes.add("LICENSE_UNICODE") resources.excludes.add("okhttp3/internal/publicsuffix/NOTICE") resources.excludes.add("DebugProbesKt.bin") } sourceSets["main"].java.srcDir("src/main/kotlin") sourceSets["test"].java.srcDir("src/test/kotlin") } tasks { withType { kotlinOptions.jvmTarget = "1.8" kotlinOptions.freeCompilerArgs += "-Xopt-in=kotlin.RequiresOptIn" } withType { useJUnitPlatform() } } dependencies { val lifecycleVersion = "2.4.0" val emojiCompatVersion = "1.2.0-alpha01" val roomVersion = "2.4.1" val okHttpVersion = "4.9.3" val retrofitVersion = "2.9.0" val moshiVersion = "1.13.0" val daggerVersion = "2.40.5" val jUnitVersion = "5.8.2" implementation("androidx.core:core-ktx:1.7.0") implementation("androidx.appcompat:appcompat:1.4.1") implementation("androidx.activity:activity-ktx:1.4.0") implementation("androidx.fragment:fragment-ktx:1.4.1") implementation("com.google.android.material:material:1.5.0") implementation("androidx.constraintlayout:constraintlayout:2.1.3") implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0") implementation("androidx.recyclerview:recyclerview:1.2.1") implementation("androidx.annotation:annotation:1.3.0") implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVersion") implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion") implementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion") implementation("androidx.lifecycle:lifecycle-common-java8:$lifecycleVersion") implementation("androidx.preference:preference-ktx:1.2.0") implementation("androidx.emoji:emoji-bundled:$emojiCompatVersion") implementation("androidx.emoji:emoji-appcompat:$emojiCompatVersion") implementation("androidx.paging:paging-runtime-ktx:3.1.0") implementation("androidx.viewpager2:viewpager2:1.0.0") implementation("androidx.room:room-ktx:$roomVersion") implementation("androidx.room:room-paging:$roomVersion") kapt("androidx.room:room-compiler:$roomVersion") implementation("com.squareup.okhttp3:okhttp:$okHttpVersion") implementation("com.squareup.okhttp3:logging-interceptor:$okHttpVersion") implementation("com.squareup.retrofit2:retrofit:$retrofitVersion") implementation("com.squareup.retrofit2:converter-moshi:$retrofitVersion") implementation("com.squareup.moshi:moshi-kotlin:$moshiVersion") implementation("com.squareup.moshi:moshi-adapters:$moshiVersion") kapt("com.squareup.moshi:moshi-kotlin-codegen:$moshiVersion") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0") implementation("com.fxn769:pix:1.5.6") implementation("com.github.yalantis:ucrop:2.2.5") implementation("me.relex:circleindicator:2.1.6") implementation("io.coil-kt:coil:1.0.0-rc3") implementation("com.github.connyduck:sparkbutton:4.1.0") implementation("com.google.dagger:dagger:$daggerVersion") kapt("com.google.dagger:dagger-compiler:$daggerVersion") implementation("com.google.dagger:dagger-android-support:$daggerVersion") kapt("com.google.dagger:dagger-android-processor:$daggerVersion") testImplementation("org.junit.jupiter:junit-jupiter-api:$jUnitVersion") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:$jUnitVersion") testImplementation("com.squareup.okhttp3:mockwebserver:$okHttpVersion") }