plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-kapt' id 'kotlin-parcelize' } def gitCommits = 'git rev-list --count HEAD'.execute([], rootDir).text.trim().toInteger() android { compileSdkVersion 30 buildToolsVersion '30.0.2' defaultConfig { applicationId 'org.koitharu.kotatsu' minSdkVersion 21 targetSdkVersion 30 versionCode gitCommits versionName '1.0-a1' kapt { arguments { arg 'room.schemaLocation', "$projectDir/schemas".toString() } } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } buildTypes { debug { applicationIdSuffix = '.debug' } release { multiDexEnabled false minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } buildFeatures { viewBinding true } lintOptions { disable 'MissingTranslation' abortOnError false } testOptions { unitTests.includeAndroidResources = true unitTests.returnDefaultValues = true } } tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.toString() freeCompilerArgs += [ '-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi', '-Xopt-in=org.koin.core.component.KoinApiExtension' ] } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.1' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1' implementation 'androidx.core:core-ktx:1.5.0-alpha05' implementation 'androidx.activity:activity-ktx:1.2.0-beta01' implementation 'androidx.fragment:fragment-ktx:1.3.0-beta01' implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0-beta01' implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.0-beta01' implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.0-beta01' implementation 'androidx.lifecycle:lifecycle-service:2.3.0-beta01' implementation 'androidx.lifecycle:lifecycle-process:2.3.0-beta01' implementation 'androidx.constraintlayout:constraintlayout:2.0.4' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' implementation 'androidx.recyclerview:recyclerview:1.2.0-alpha06' implementation 'androidx.viewpager2:viewpager2:1.1.0-alpha01' implementation 'androidx.preference:preference-ktx:1.1.1' implementation 'androidx.work:work-runtime-ktx:2.4.0' implementation 'com.google.android.material:material:1.3.0-alpha04' //noinspection LifecycleAnnotationProcessorWithJava8 kapt 'androidx.lifecycle:lifecycle-compiler:2.3.0-beta01' implementation 'androidx.room:room-runtime:2.2.5' implementation 'androidx.room:room-ktx:2.2.5' kapt 'androidx.room:room-compiler:2.2.5' implementation 'com.squareup.okhttp3:okhttp:4.9.0' implementation 'com.squareup.okio:okio:2.9.0' implementation 'org.jsoup:jsoup:1.13.1' implementation 'com.hannesdorfmann:adapterdelegates4-kotlin-dsl:4.3.0' implementation 'com.hannesdorfmann:adapterdelegates4-kotlin-dsl-viewbinding:4.3.0' implementation 'org.koin:koin-android:2.2.0' implementation 'org.koin:koin-androidx-viewmodel:2.2.0' implementation 'io.coil-kt:coil-base:1.1.0' implementation 'com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0' implementation 'com.tomclaw.cache:cache:1.0' debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.5' testImplementation 'junit:junit:4.13.1' testImplementation 'org.json:json:20201115' testImplementation 'org.koin:koin-test:2.2.0-rc-2' }