104 lines
3.1 KiB
Groovy
104 lines
3.1 KiB
Groovy
apply plugin: 'com.android.library'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlin-android-extensions'
|
|
apply plugin: 'kotlin-kapt'
|
|
apply plugin: 'dagger.hilt.android.plugin'
|
|
|
|
android {
|
|
compileSdkVersion 30
|
|
|
|
defaultConfig {
|
|
// versionCode and versionName must be hardcoded to support F-droid
|
|
versionCode 702071
|
|
versionName '7.2.7'
|
|
minSdkVersion 16
|
|
targetSdkVersion 30
|
|
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
|
|
}
|
|
|
|
compileOptions {
|
|
targetCompatibility 1.8
|
|
sourceCompatibility 1.8
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = JavaVersion.VERSION_1_8.toString()
|
|
}
|
|
}
|
|
|
|
kapt {
|
|
correctErrorTypes true
|
|
}
|
|
|
|
hilt {
|
|
enableTransformForLocalTests true
|
|
}
|
|
|
|
dependencies {
|
|
// Dependencies must be hardcoded to support F-droid
|
|
|
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
|
|
// AndroidX
|
|
implementation 'androidx.appcompat:appcompat:1.1.0'
|
|
implementation 'androidx.preference:preference:1.1.1'
|
|
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
|
implementation 'androidx.activity:activity-ktx:1.1.0'
|
|
implementation "androidx.fragment:fragment-ktx:1.2.5"
|
|
|
|
// Constraint
|
|
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
|
|
|
|
// Lifecycle
|
|
api 'android.arch.lifecycle:extensions:1.1.1'
|
|
implementation 'android.arch.lifecycle:viewmodel:1.1.1'
|
|
|
|
// Dagger
|
|
implementation 'com.google.dagger:hilt-android:2.28.1-alpha'
|
|
kapt 'com.google.dagger:hilt-android-compiler:2.28.1-alpha'
|
|
testImplementation 'com.google.dagger:hilt-android-testing:2.28.1-alpha'
|
|
kaptTest 'com.google.dagger:hilt-android-compiler:2.28.1-alpha'
|
|
implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha01"
|
|
kapt "androidx.hilt:hilt-compiler:1.0.0-alpha01"
|
|
|
|
// Room
|
|
api 'androidx.room:room-runtime:2.2.5'
|
|
api 'androidx.room:room-ktx:2.2.5'
|
|
kapt 'androidx.room:room-compiler:2.2.5'
|
|
testImplementation 'androidx.room:room-testing:2.2.5'
|
|
|
|
// Moshi - Json
|
|
api 'com.squareup.moshi:moshi:1.9.1'
|
|
api 'com.squareup.moshi:moshi-kotlin:1.9.1'
|
|
kapt 'com.squareup.moshi:moshi-kotlin-codegen:1.9.1'
|
|
|
|
// Coroutines
|
|
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.5'
|
|
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.5'
|
|
|
|
// Kotlin Lib
|
|
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72'
|
|
|
|
// Unit Tests
|
|
testImplementation 'junit:junit:4.13'
|
|
testImplementation 'org.mockito:mockito-core:2.24.0'
|
|
testImplementation 'com.nhaarman.mockitokotlin2:mockito-kotlin:2.1.0'
|
|
testImplementation "io.mockk:mockk:1.10.0"
|
|
|
|
// Core library
|
|
androidTestImplementation 'androidx.test:core:1.2.0'
|
|
|
|
// AndroidJUnitRunner and JUnit Rules
|
|
androidTestImplementation 'androidx.test:runner:1.2.0'
|
|
androidTestImplementation 'androidx.test:rules:1.2.0'
|
|
androidTestUtil 'androidx.test:orchestrator:1.2.0'
|
|
}
|
|
|
|
tasks.withType(Test) {
|
|
testLogging {
|
|
exceptionFormat "full"
|
|
}
|
|
afterTest { desc, result ->
|
|
println "Executing test ${desc.name} [${desc.className}] with result: ${result.resultType}"
|
|
}
|
|
}
|