File tree Expand file tree Collapse file tree 4 files changed +52
-24
lines changed
src/main/kotlin/io/github/petertrr Expand file tree Collapse file tree 4 files changed +52
-24
lines changed Original file line number Diff line number Diff line change @@ -4,9 +4,9 @@ import io.gitlab.arturbosch.detekt.Detekt
4
4
import org.jetbrains.kotlin.gradle.targets.jvm.tasks.KotlinJvmTest
5
5
6
6
plugins {
7
- alias(libs.plugins.kotlin.multiplatform)
7
+ kotlin(" multiplatform" )
8
+ id(" jacoco-convention" )
8
9
alias(libs.plugins.detekt)
9
- jacoco
10
10
}
11
11
12
12
configureVersioning()
@@ -65,25 +65,3 @@ dependencies {
65
65
tasks.withType<Detekt > {
66
66
tasks.getByName(" check" ).dependsOn(this )
67
67
}
68
-
69
- // configure Jacoco-based code coverage reports for JVM tests executions
70
- jacoco {
71
- toolVersion = " 0.8.7"
72
- }
73
- val jvmTestTask by tasks.named<KotlinJvmTest >(" jvmTest" ) {
74
- configure<JacocoTaskExtension > {
75
- // this is needed to generate jacoco/jvmTest.exec
76
- isEnabled = true
77
- }
78
- }
79
- val jacocoTestReportTask by tasks.register<JacocoReport >(" jacocoTestReport" ) {
80
- executionData(jvmTestTask.extensions.getByType(JacocoTaskExtension ::class .java).destinationFile)
81
- additionalSourceDirs(kotlin.sourceSets[" commonMain" ].kotlin.sourceDirectories)
82
- classDirectories.setFrom(file(" $buildDir /classes/kotlin/jvm/main" ))
83
- reports {
84
- xml.required.set(true )
85
- html.required.set(true )
86
- }
87
- }
88
- jvmTestTask.finalizedBy(jacocoTestReportTask)
89
- jacocoTestReportTask.dependsOn(jvmTestTask)
Original file line number Diff line number Diff line change @@ -7,8 +7,10 @@ repositories {
7
7
mavenCentral()
8
8
}
9
9
10
+ val libs = extensions.getByType<VersionCatalogsExtension >().named(" libs" )
10
11
dependencies {
11
12
implementation(" org.ajoberstar.reckon:reckon-gradle:0.13.1" )
12
13
implementation(" org.jetbrains.dokka:dokka-gradle-plugin:1.6.10" )
13
14
implementation(" io.github.gradle-nexus:publish-plugin:1.1.0" )
15
+ implementation(" org.jetbrains.kotlin:kotlin-gradle-plugin:${libs.findVersion(" kotlin" ).get()} " )
14
16
}
Original file line number Diff line number Diff line change
1
+ enableFeaturePreview(" VERSION_CATALOGS" )
2
+
3
+ dependencyResolutionManagement {
4
+ versionCatalogs {
5
+ create(" libs" ) {
6
+ from(files(" ../gradle/libs.versions.toml" ))
7
+ }
8
+ }
9
+ }
Original file line number Diff line number Diff line change
1
+ import org.gradle.api.tasks.testing.Test
2
+ import org.gradle.kotlin.dsl.named
3
+ import org.gradle.kotlin.dsl.getValue
4
+ import org.gradle.kotlin.dsl.provideDelegate
5
+ import org.gradle.kotlin.dsl.register
6
+ import org.gradle.testing.jacoco.plugins.JacocoTaskExtension
7
+ import org.gradle.testing.jacoco.tasks.JacocoReport
8
+
9
+ plugins {
10
+ kotlin(" multiplatform" )
11
+ jacoco
12
+ }
13
+
14
+ kotlin {
15
+ // to register `KotlinJvmTest` tasks before configuring Jacoco
16
+ jvm()
17
+ }
18
+
19
+ // configure Jacoco-based code coverage reports for JVM tests executions
20
+ jacoco {
21
+ toolVersion = " 0.8.7"
22
+ }
23
+ val jvmTestTask by tasks.named<Test >(" jvmTest" ) {
24
+ configure<JacocoTaskExtension > {
25
+ // this is needed to generate jacoco/jvmTest.exec
26
+ isEnabled = true
27
+ }
28
+ }
29
+ val jacocoTestReportTask by tasks.register<JacocoReport >(" jacocoTestReport" ) {
30
+ executionData(jvmTestTask.extensions.getByType(JacocoTaskExtension ::class .java).destinationFile)
31
+ additionalSourceDirs(kotlin.sourceSets[" commonMain" ].kotlin.sourceDirectories)
32
+ classDirectories.setFrom(file(" $buildDir /classes/kotlin/jvm/main" ))
33
+ reports {
34
+ xml.required.set(true )
35
+ html.required.set(true )
36
+ }
37
+ }
38
+ jvmTestTask.finalizedBy(jacocoTestReportTask)
39
+ jacocoTestReportTask.dependsOn(jvmTestTask)
You can’t perform that action at this time.
0 commit comments