121 lines
4.1 KiB
Groovy
121 lines
4.1 KiB
Groovy
/*
|
|
* Copyright (c) 2021 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'
|
|
}
|
|
|
|
apply from: "$rootProject.projectDir/gradle/android-library.gradle"
|
|
|
|
ext {
|
|
autofillDisableAuthRequirementBuildFlag = "autofill-disable-auth-requirement"
|
|
}
|
|
|
|
dependencies {
|
|
implementation project(path: ':app-build-config-api')
|
|
implementation project(path: ':privacy-config-api')
|
|
implementation project(path: ':feature-toggles-api')
|
|
implementation project(path: ':di')
|
|
implementation project(path: ':common-utils')
|
|
implementation project(path: ':common-ui')
|
|
implementation project(path: ':autofill-api')
|
|
implementation project(path: ':browser-api')
|
|
implementation project(path: ':autofill-store')
|
|
implementation project(path: ':statistics')
|
|
testImplementation project(path: ':autofill-test')
|
|
implementation project(path: ':sync-api')
|
|
implementation project(path: ':navigation-api')
|
|
implementation project(':user-agent-api')
|
|
|
|
anvil project(path: ':anvil-compiler')
|
|
implementation project(path: ':anvil-annotations')
|
|
|
|
implementation AndroidX.appCompat
|
|
implementation Google.android.material
|
|
implementation AndroidX.constraintLayout
|
|
implementation JakeWharton.timber
|
|
|
|
implementation KotlinX.coroutines.core
|
|
implementation AndroidX.fragment.ktx
|
|
implementation "androidx.webkit:webkit:_"
|
|
|
|
implementation Square.retrofit2.converter.moshi
|
|
implementation "com.squareup.moshi:moshi-kotlin:_"
|
|
implementation "com.squareup.moshi:moshi-adapters:_"
|
|
implementation Google.dagger
|
|
implementation AndroidX.core.ktx
|
|
implementation AndroidX.work.runtimeKtx
|
|
implementation AndroidX.room.ktx
|
|
implementation AndroidX.biometric
|
|
|
|
implementation "net.zetetic:android-database-sqlcipher:_"
|
|
|
|
// Testing dependencies
|
|
testImplementation "org.mockito.kotlin:mockito-kotlin:_"
|
|
testImplementation Testing.junit4
|
|
testImplementation AndroidX.core
|
|
testImplementation AndroidX.test.ext.junit
|
|
testImplementation "androidx.test:runner:_"
|
|
testImplementation Testing.robolectric
|
|
testImplementation CashApp.turbine
|
|
testImplementation "org.jetbrains.kotlin:kotlin-reflect:_"
|
|
|
|
testImplementation project(path: ':common-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"
|
|
}
|
|
|
|
coreLibraryDesugaring Android.tools.desugarJdkLibs
|
|
}
|
|
|
|
android {
|
|
anvil {
|
|
generateDaggerFactories = true // default is false
|
|
}
|
|
lint {
|
|
baseline file("lint-baseline.xml")
|
|
}
|
|
testOptions {
|
|
unitTests {
|
|
includeAndroidResources = true
|
|
}
|
|
}
|
|
namespace 'com.duckduckgo.autofill.impl'
|
|
compileOptions {
|
|
coreLibraryDesugaringEnabled = true
|
|
}
|
|
defaultConfig {
|
|
if (project.hasProperty("$autofillDisableAuthRequirementBuildFlag")) {
|
|
buildConfigField "boolean", "AUTH_REQUIRED", "false"
|
|
} else {
|
|
buildConfigField "boolean", "AUTH_REQUIRED", "true"
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.register('installForAutofillTesting', Exec) {
|
|
commandLine "$rootDir/gradlew", ':app:installInternalRelease', "-P$autofillDisableAuthRequirementBuildFlag"
|
|
}
|
|
|
|
tasks.register('autofillTestLocal', Exec) {
|
|
commandLine 'maestro', 'test', '--include-tags', 'autofillNoAuthTests', "$rootDir/.maestro"
|
|
dependsOn 'installForAutofillTesting'
|
|
} |