1
0
Форкнуть 0
VerifiableCredential-SDK-An.../sdk/build.gradle

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'
]))
}