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 703021 versionName '7.3.2' 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' testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test: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}" } }