xref: /aosp_15_r20/external/kotlinx.serialization/gradle/kover.gradle (revision 57b5a4a64c534cf7f27ac9427ceab07f3d8ed3d8)
1*57b5a4a6SAndroid Build Coastguard Worker/*
2*57b5a4a6SAndroid Build Coastguard Worker * Copyright 2017-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
3*57b5a4a6SAndroid Build Coastguard Worker */
4*57b5a4a6SAndroid Build Coastguard Worker
5*57b5a4a6SAndroid Build Coastguard Workerapply plugin: 'kover'
6*57b5a4a6SAndroid Build Coastguard Worker
7*57b5a4a6SAndroid Build Coastguard Workertasks.withType(Test) { task ->
8*57b5a4a6SAndroid Build Coastguard Worker    kover {
9*57b5a4a6SAndroid Build Coastguard Worker        enabled = rootProject.ext.koverEnabled
10*57b5a4a6SAndroid Build Coastguard Worker
11*57b5a4a6SAndroid Build Coastguard Worker    }
12*57b5a4a6SAndroid Build Coastguard Worker}
13*57b5a4a6SAndroid Build Coastguard Workertasks.koverVerify {
14*57b5a4a6SAndroid Build Coastguard Worker    // Core is mainly uncovered because a lot of serializers are tested with JSON
15*57b5a4a6SAndroid Build Coastguard Worker    def minPercentage = (project.name.contains("core") || project.name.contains("properties")|| project.name.contains("json-okio")) ? 44 : 80
16*57b5a4a6SAndroid Build Coastguard Worker    rule {
17*57b5a4a6SAndroid Build Coastguard Worker        name = "Minimal line coverage rate in percents"
18*57b5a4a6SAndroid Build Coastguard Worker        bound {
19*57b5a4a6SAndroid Build Coastguard Worker            minValue = minPercentage
20*57b5a4a6SAndroid Build Coastguard Worker            // valueType is 'COVERED_LINES_PERCENTAGE' by default
21*57b5a4a6SAndroid Build Coastguard Worker        }
22*57b5a4a6SAndroid Build Coastguard Worker    }
23*57b5a4a6SAndroid Build Coastguard Worker}
24