/* * Copyright (c) 2020 DuckDuckGo * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ plugins { id 'com.android.library' id 'kotlin-android' id 'com.squareup.anvil' id 'kotlin-parcelize' } apply from: "$rootProject.projectDir/gradle/android-library.gradle" android { lintOptions { baseline file("lint-baseline.xml") } anvil { generateDaggerFactories = true // default is false } testOptions { unitTests { includeAndroidResources = true } } namespace 'com.duckduckgo.mobile.android.vpn' compileOptions { coreLibraryDesugaringEnabled = true } } dependencies { anvil project(':anvil-compiler') implementation project(':navigation-api') implementation project(':anrs-api') implementation project(':anvil-annotations') implementation project(':vpn-store') implementation project(':vpn-api') implementation project(':app-tracking-api') implementation project(':app-store') implementation project(':browser-api') implementation project(':di') implementation project(':common-utils') implementation project(':common-ui') implementation project(':statistics') implementation project(':app-build-config-api') implementation project(':feature-toggles-api') implementation project(':privacy-config-api') implementation project(':vpn-network-api') implementation project(':remote-messaging-api') implementation project(':statistics') implementation project(':library-loader-api') implementation project(':network-protection-api') implementation project(':data-store-api') implementation AndroidX.core.ktx implementation AndroidX.appCompat implementation Google.android.material implementation AndroidX.constraintLayout implementation AndroidX.lifecycle.viewModelKtx implementation AndroidX.lifecycle.runtime.ktx implementation AndroidX.lifecycle.commonJava8 implementation AndroidX.lifecycle.liveDataKtx implementation "androidx.viewpager2:viewpager2:_" // multi-process shared preferences implementation "com.frybits.harmony:harmony:_" // Lottie implementation "com.airbnb.android:lottie:_" // Shimmer implementation "com.facebook.shimmer:shimmer:_" // Dagger compileOnly "org.glassfish:javax.annotation:10.0-b28" implementation Google.dagger implementation KotlinX.coroutines.core testImplementation project(':vpn-store-test') testImplementation (KotlinX.coroutines.test) { // https://github.com/Kotlin/kotlinx.coroutines/issues/2023 // conflicts with mockito due to direct inclusion of byte buddy exclude group: "org.jetbrains.kotlinx", module: "kotlinx-coroutines-debug" } implementation "com.squareup.logcat:logcat:_" implementation 'nl.dionsegijn:konfetti:1.2.5' // Room implementation AndroidX.room.runtime implementation AndroidX.room.rxJava2 implementation AndroidX.room.ktx // WorkManager implementation AndroidX.work.runtimeKtx implementation "androidx.work:work-multiprocess:_" testImplementation AndroidX.work.testing implementation AndroidX.work.rxJava2 implementation Square.retrofit2.converter.moshi implementation "com.squareup.moshi:moshi-kotlin:_" implementation Square.okHttp3.okHttp implementation "com.github.bumptech.glide:glide:_" // Testing dependencies testImplementation "org.mockito.kotlin:mockito-kotlin:_" testImplementation Testing.junit4 testImplementation AndroidX.test.ext.junit testImplementation AndroidX.archCore.testing testImplementation AndroidX.lifecycle.runtime.testing testImplementation 'app.cash.turbine:turbine:_' testImplementation Testing.robolectric testImplementation project(':common-test') testImplementation project(':vpn-api-test') testImplementation project(':feature-toggles-test') coreLibraryDesugaring Android.tools.desugarJdkLibs }