161 lines
5.4 KiB
Groovy
161 lines
5.4 KiB
Groovy
plugins {
|
|
id 'com.android.application'
|
|
id 'kotlin-android'
|
|
id 'kotlin-kapt'
|
|
id 'com.google.devtools.ksp'
|
|
id 'kotlin-parcelize'
|
|
id 'dagger.hilt.android.plugin'
|
|
}
|
|
|
|
android {
|
|
compileSdk = 34
|
|
buildToolsVersion = '34.0.0'
|
|
namespace = 'org.koitharu.kotatsu'
|
|
|
|
defaultConfig {
|
|
applicationId 'org.koitharu.kotatsu'
|
|
minSdk = 21
|
|
targetSdk = 34
|
|
versionCode = 574
|
|
versionName = '6.0.1'
|
|
generatedDensities = []
|
|
testInstrumentationRunner "org.koitharu.kotatsu.HiltTestRunner"
|
|
ksp {
|
|
arg("room.schemaLocation", "$projectDir/schemas")
|
|
}
|
|
androidResources {
|
|
generateLocaleConfig true
|
|
}
|
|
}
|
|
buildTypes {
|
|
debug {
|
|
applicationIdSuffix = '.debug'
|
|
}
|
|
release {
|
|
multiDexEnabled false
|
|
minifyEnabled true
|
|
shrinkResources true
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
buildFeatures {
|
|
viewBinding true
|
|
buildConfig true
|
|
}
|
|
sourceSets {
|
|
androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
|
|
main.java.srcDirs += 'src/main/kotlin/'
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_17
|
|
targetCompatibility JavaVersion.VERSION_17
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = JavaVersion.VERSION_17.toString()
|
|
freeCompilerArgs += [
|
|
'-opt-in=kotlin.ExperimentalStdlibApi',
|
|
'-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi',
|
|
'-opt-in=kotlinx.coroutines.FlowPreview',
|
|
'-opt-in=kotlin.contracts.ExperimentalContracts',
|
|
'-opt-in=coil.annotation.ExperimentalCoilApi',
|
|
]
|
|
}
|
|
lint {
|
|
abortOnError true
|
|
disable 'MissingTranslation', 'PrivateResource', 'NotifyDataSetChanged', 'SetJavaScriptEnabled'
|
|
}
|
|
testOptions {
|
|
unitTests.includeAndroidResources true
|
|
unitTests.returnDefaultValues false
|
|
kotlinOptions {
|
|
freeCompilerArgs += ['-opt-in=org.koitharu.kotatsu.parsers.InternalParsersApi']
|
|
}
|
|
}
|
|
}
|
|
afterEvaluate {
|
|
compileDebugKotlin {
|
|
kotlinOptions {
|
|
freeCompilerArgs += ['-opt-in=org.koitharu.kotatsu.parsers.InternalParsersApi']
|
|
}
|
|
}
|
|
}
|
|
dependencies {
|
|
//noinspection GradleDependency
|
|
implementation('com.github.KotatsuApp:kotatsu-parsers:3a76504380') {
|
|
exclude group: 'org.json', module: 'json'
|
|
}
|
|
|
|
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.9.10'
|
|
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
|
|
|
|
implementation 'androidx.appcompat:appcompat:1.6.1'
|
|
implementation 'androidx.core:core-ktx:1.10.1'
|
|
implementation 'androidx.activity:activity-ktx:1.7.2'
|
|
implementation 'androidx.fragment:fragment-ktx:1.6.1'
|
|
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1'
|
|
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.6.1'
|
|
implementation 'androidx.lifecycle:lifecycle-service:2.6.1'
|
|
implementation 'androidx.lifecycle:lifecycle-process:2.6.1'
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
|
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
|
|
implementation 'androidx.recyclerview:recyclerview:1.3.1'
|
|
implementation 'androidx.viewpager2:viewpager2:1.1.0-beta02'
|
|
implementation 'androidx.preference:preference-ktx:1.2.1'
|
|
implementation 'androidx.biometric:biometric-ktx:1.2.0-alpha05'
|
|
implementation 'com.google.android.material:material:1.9.0'
|
|
implementation 'androidx.lifecycle:lifecycle-common-java8:2.6.1'
|
|
|
|
// TODO https://issuetracker.google.com/issues/254846063
|
|
implementation 'androidx.work:work-runtime-ktx:2.8.1'
|
|
//noinspection GradleDependency
|
|
implementation('com.google.guava:guava:32.0.1-android') {
|
|
exclude group: 'com.google.guava', module: 'failureaccess'
|
|
exclude group: 'org.checkerframework', module: 'checker-qual'
|
|
exclude group: 'com.google.j2objc', module: 'j2objc-annotations'
|
|
}
|
|
|
|
implementation 'androidx.room:room-runtime:2.5.2'
|
|
implementation 'androidx.room:room-ktx:2.5.2'
|
|
ksp 'androidx.room:room-compiler:2.5.2'
|
|
|
|
implementation 'com.squareup.okhttp3:okhttp:4.11.0'
|
|
implementation 'com.squareup.okhttp3:okhttp-dnsoverhttps:4.11.0'
|
|
implementation 'com.squareup.okio:okio:3.5.0'
|
|
|
|
implementation 'com.hannesdorfmann:adapterdelegates4-kotlin-dsl:4.3.2'
|
|
implementation 'com.hannesdorfmann:adapterdelegates4-kotlin-dsl-viewbinding:4.3.2'
|
|
|
|
implementation 'com.google.dagger:hilt-android:2.47'
|
|
kapt 'com.google.dagger:hilt-compiler:2.47'
|
|
implementation 'androidx.hilt:hilt-work:1.0.0'
|
|
kapt 'androidx.hilt:hilt-compiler:1.0.0'
|
|
|
|
implementation 'io.coil-kt:coil-base:2.4.0'
|
|
implementation 'io.coil-kt:coil-svg:2.4.0'
|
|
implementation 'com.github.KotatsuApp:subsampling-scale-image-view:9b1d20be67'
|
|
implementation 'com.github.solkin:disk-lru-cache:1.4'
|
|
implementation 'io.noties.markwon:core:4.6.2'
|
|
|
|
implementation 'ch.acra:acra-http:5.11.1'
|
|
implementation 'ch.acra:acra-dialog:5.11.1'
|
|
|
|
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.12'
|
|
|
|
testImplementation 'junit:junit:4.13.2'
|
|
testImplementation 'org.json:json:20230618'
|
|
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3'
|
|
|
|
androidTestImplementation 'androidx.test:runner:1.5.2'
|
|
androidTestImplementation 'androidx.test:rules:1.5.0'
|
|
androidTestImplementation 'androidx.test:core-ktx:1.5.0'
|
|
androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.5'
|
|
|
|
androidTestImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3'
|
|
|
|
androidTestImplementation 'androidx.room:room-testing:2.5.2'
|
|
androidTestImplementation 'com.squareup.moshi:moshi-kotlin:1.15.0'
|
|
|
|
androidTestImplementation 'com.google.dagger:hilt-android-testing:2.47'
|
|
kaptAndroidTest 'com.google.dagger:hilt-android-compiler:2.47'
|
|
}
|