1+ import com.vanniktech.maven.publish.SonatypeHost
2+
13plugins {
24 id(" kotlin" )
3- id(" jacoco" )
4- id(" info.solidsoft.pitest" )
5- id(" com.vanniktech.maven.publish" )
5+ jacoco
6+ alias(libs.plugins.vanniktech.maven.publish)
67}
78
89dependencies {
@@ -17,22 +18,8 @@ dependencies {
1718
1819tasks.jacocoTestCoverageVerification {
1920 violationRules {
20- rule { limit { minimum = " 0.95 " .toBigDecimal() } }
21+ rule { limit { minimum = " 0.9 " .toBigDecimal() } }
2122 }
22- classDirectories.setFrom(
23- sourceSets.main.get().output.asFileTree.matching {
24- // jacoco cannot handle inline functions properly
25- exclude(
26- " at/florianschuster/control/DefaultTagKt*" ,
27- " at/florianschuster/control/TakeUntilKt*" ,
28- )
29- // builders
30- exclude(
31- " at/florianschuster/control/ControllerKt*" ,
32- " at/florianschuster/control/EffectControllerKt*" ,
33- )
34- }
35- )
3623}
3724
3825tasks.jacocoTestReport {
@@ -45,38 +32,40 @@ tasks.jacocoTestReport {
4532
4633// ---- end jacoco --- //
4734
48- // ---- pitest --- //
49-
50- pitest {
51- targetClasses.add(" at.florianschuster.control.*" )
52- mutationThreshold.set(100 )
53- excludedClasses.addAll(
54- // inline function
55- " at.florianschuster.control.DefaultTagKt**" ,
56- " at.florianschuster.control.TakeUntilKt**" ,
57-
58- // builder
59- " at.florianschuster.control.Controller**" ,
60- " at.florianschuster.control.EffectController**" ,
61-
62- // inlined invokeSuspend
63- " at.florianschuster.control.ControllerImplementation\$ stateJob\$ 1" ,
64- " at.florianschuster.control.ControllerImplementation\$ stateJob\$ 1\$ 2"
65- )
66- threads.set(4 )
67- jvmArgs.add(" -ea" )
68- avoidCallsTo.addAll(
69- " kotlin.jvm.internal" ,
70- " kotlin.ResultKt" ,
71- " kotlinx.coroutines"
72- )
73- verbose.set(true )
74- }
75-
76- // ---- end pitest --- //
77-
7835// ---- publishing --- //
7936
37+ group = " at.florianschuster.control"
8038version = System .getenv(" libraryVersionTag" )
8139
40+ mavenPublishing {
41+ publishToMavenCentral(SonatypeHost .S01 )
42+ signAllPublications()
43+ coordinates(group.toString(), " control-core" , version.toString())
44+ pom {
45+ name = " control-core"
46+ description = " coroutines flow based uni-directional architecture"
47+ inceptionYear = " 2019"
48+ url = " https://github.com/floschu/control"
49+ licenses {
50+ license {
51+ name = " The Apache Software License, Version 2.0"
52+ url = " http://www.apache.org/licenses/LICENSE-2.0.txt"
53+ distribution = " repo"
54+ }
55+ }
56+ developers {
57+ developer {
58+ id = " floschu"
59+ name = " Florian Schuster"
60+ url = " https://github.com/floschu"
61+ }
62+ }
63+ scm {
64+ url = " https://github.com/floschu/control"
65+ connection
= " scm:[email protected] :floschu/control.git" 66+ developerConnection
= " scm:[email protected] :floschu/control.git" 67+ }
68+ }
69+ }
70+
8271// ---- end publishing --- //
0 commit comments