-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle
More file actions
89 lines (73 loc) · 2.27 KB
/
build.gradle
File metadata and controls
89 lines (73 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
buildscript {
repositories {
jcenter()
}
}
plugins {
id 'org.jetbrains.kotlin.jvm' version '1.3.50'
id "io.gitlab.arturbosch.detekt" version "1.0.1"
id 'jacoco'
}
group 'name.denyago'
version '0.0.1'
repositories {
mavenCentral()
jcenter()
maven { url 'https://jitpack.io' }
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
def coroutines_version = '1.2.1'
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:$coroutines_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:$coroutines_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-debug:$coroutines_version"
implementation 'ch.qos.logback:logback-classic:1.0.13'
implementation "io.github.rybalkinsd:kohttp:0.11.0" // HTTP Client
implementation 'com.beust:klaxon:5.0.1' // JSON DeSer
def koin_version = "2.0.1"
implementation "org.koin:koin-core:$koin_version" // DI
testImplementation 'io.kotlintest:kotlintest-runner-junit5:3.3.2'
testImplementation "org.koin:koin-test:$koin_version"
testImplementation 'com.github.gmazzo:okhttp-mock:1.3.2'
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
test {
useJUnitPlatform()
}
detekt {
toolVersion = "1.0.1"
input = files("src/main/kotlin", "src/test/kotlin")
filters = ".*/resources/.*,.*/build/.*"
autoCorrect = true
//baseline = file("my-detekt-baseline.xml") // Just if you want to create a baseline file.
}
jacocoTestReport {
reports {
xml.enabled false
csv.enabled false
html.enabled true
html.destination file("${buildDir}/reports/coverage")
}
}
jacocoTestCoverageVerification {
violationRules {
rule {
limit {
minimum = 0.9
}
}
}
}
task testCoverage {
group = "verification"
description = "Runs the unit tests with coverage."
dependsOn(":test", ":jacocoTestReport", ":jacocoTestCoverageVerification")
tasks.findByName("jacocoTestReport").mustRunAfter("test")
tasks.findByName("jacocoTestCoverageVerification").mustRunAfter("jacocoTestReport")
}