165 строки
6.0 KiB
Groovy
165 строки
6.0 KiB
Groovy
plugins {
|
|
id "org.jetbrains.kotlin.plugin.serialization" version "$kotlin_version"
|
|
}
|
|
|
|
apply plugin: 'com.android.library'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlin-android-extensions'
|
|
apply plugin: 'kotlin-kapt'
|
|
apply plugin: 'jacoco'
|
|
|
|
jacoco {
|
|
toolVersion = "0.8.7"
|
|
}
|
|
|
|
repositories {
|
|
maven { url "https://jitpack.io" }
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion compile_sdk_version as Integer
|
|
ndkVersion ndk_version
|
|
|
|
defaultConfig {
|
|
minSdkVersion min_sdk_version as Integer
|
|
targetSdkVersion target_sdk_version as Integer
|
|
versionCode 1
|
|
versionName "1.0"
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
|
|
kapt {
|
|
arguments {
|
|
arg("room.schemaLocation", "$projectDir/schemas")
|
|
arg("room.incremental", "true")
|
|
}
|
|
}
|
|
}
|
|
buildTypes {
|
|
debug {
|
|
testCoverageEnabled = project.hasProperty('coverage')
|
|
}
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
packagingOptions {
|
|
pickFirst("META-INF/*.kotlin_module")
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
testOptions {
|
|
unitTestVariants.all {
|
|
testDebugUnitTest.useJUnit()
|
|
}
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = "1.8"
|
|
freeCompilerArgs += "-Xuse-experimental=kotlin.ExperimentalUnsignedTypes"
|
|
}
|
|
|
|
lintOptions {
|
|
abortOnError false
|
|
warningsAsErrors false
|
|
textReport true
|
|
textOutput "stdout"
|
|
explainIssues true
|
|
showAll true
|
|
}
|
|
|
|
sourceSets {
|
|
androidTest {
|
|
java.srcDirs += "src/sharedTest/java"
|
|
}
|
|
test {
|
|
java.srcDirs += "src/sharedTest/java"
|
|
java.srcDirs += "src/samples/java"
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation "com.google.dagger:dagger:$dagger_version"
|
|
kapt "com.google.dagger:dagger-compiler:$dagger_version"
|
|
|
|
implementation "com.squareup.retrofit2:retrofit:$retrofit2_version"
|
|
implementation "com.squareup.retrofit2:converter-scalars:$retrofit2_version"
|
|
implementation "com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2"
|
|
implementation "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:0.8.0"
|
|
|
|
implementation "androidx.room:room-runtime:$androidx_room_persistence_version"
|
|
implementation "androidx.room:room-ktx:$androidx_room_persistence_version"
|
|
kapt "androidx.room:room-compiler:$androidx_room_persistence_version"
|
|
testImplementation "androidx.room:room-testing:$androidx_room_persistence_version"
|
|
|
|
implementation "com.squareup.okhttp3:okhttp:$com_squareup_okhttp3_okhttp_version"
|
|
implementation "com.squareup.okhttp3:logging-interceptor:$com_squareup_okhttp3_okhttp_version"
|
|
|
|
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlin_serialization_version"
|
|
|
|
// KTX
|
|
implementation "androidx.collection:collection-ktx:$collections_ktx_version"
|
|
implementation "androidx.core:core-ktx:$core_ktx_version"
|
|
|
|
//other
|
|
implementation "androidx.preference:preference-ktx:$androidx_preference_version"
|
|
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
|
implementation "com.squareup.picasso:picasso:$picasso_version"
|
|
|
|
//noinspection GradleDependency
|
|
implementation "androidx.security:security-crypto:1.0.0-rc03"
|
|
implementation "org.bouncycastle:bcprov-jdk15on:$org_bouncycastle_bcprov"
|
|
|
|
api 'com.google.guava:guava:28.1-android'
|
|
// JWE/JWS
|
|
implementation "com.nimbusds:nimbus-jose-jwt:$nimbus_jose_jwt_version"
|
|
//Used for Json Canonicalization performed for ION
|
|
implementation "io.github.erdtman:java-json-canonicalization:1.1"
|
|
implementation "com.github.microsoft:CorrelationVector-Java:$correlation_vector_version"
|
|
|
|
// test dependencies
|
|
androidTestImplementation "androidx.test.ext:junit:$androidx_test_junit_version"
|
|
androidTestImplementation "androidx.test:runner:$androidx_test_runner_version"
|
|
androidTestImplementation "org.assertj:assertj-core:$assertj_test_version"
|
|
androidTestImplementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
|
|
androidTestImplementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
|
|
androidTestImplementation "io.mockk:mockk-android:$mockk_version"
|
|
androidTestImplementation "android.arch.core:core-testing:1.1.1"
|
|
|
|
testImplementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
|
|
testImplementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
|
|
testImplementation "io.mockk:mockk:$mockk_version"
|
|
testImplementation 'com.willowtreeapps.assertk:assertk-jvm:0.21'
|
|
testImplementation "org.assertj:assertj-core:$assertj_test_version"
|
|
testImplementation "junit:junit:$junit_version"
|
|
testImplementation "android.arch.core:core-testing:1.1.1"
|
|
}
|
|
|
|
/**
|
|
* Task that starts all test tasks and merges reports from them into one report.
|
|
*/
|
|
task jacocoCoverageReport(type: JacocoReport, dependsOn: ['testDebugUnitTest', 'createDebugCoverageReport']) {
|
|
reports {
|
|
xml.enabled = true
|
|
html.enabled = true
|
|
}
|
|
|
|
final def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*', '**/*Test*.*', 'android/**/*.*',
|
|
'**/*_MembersInjector.class', '**/Dagger*Component*.class', '**/Dagger*Subcomponent*.class',
|
|
'**/*Subcomponent$Builder.class', '**/*Module_*Factory.class']
|
|
final def debugTree = fileTree(dir: "$buildDir/tmp/kotlin-classes/debug", excludes: fileFilter)
|
|
final def kotlinClasses = fileTree(dir: "$buildDir/tmp/kotlin-classes/debug", excludes: fileFilter)
|
|
final def mainSrc = "$buildDir/src/main/java"
|
|
|
|
sourceDirectories.setFrom(files([mainSrc]))
|
|
classDirectories.setFrom(files([debugTree, kotlinClasses]))
|
|
executionData.setFrom(fileTree(dir: project.projectDir, includes: [
|
|
'**/*.exec', '**/*.ec'
|
|
]))
|
|
}
|