@@ -51,7 +51,7 @@ dependencies {
5151}
5252
5353application {
54- mainClass.set(" com.dragos.kafkacsvloader.MainKt " )
54+ mainClass.set(" com.dragos.kafkacsvloader.KafkaCsvLoaderCommandKt " )
5555}
5656
5757tasks.withType<KotlinCompile > {
@@ -85,7 +85,7 @@ tasks.withType<Test> {
8585// Fat JAR configuration
8686tasks.jar {
8787 manifest {
88- attributes[" Main-Class" ] = " com.dragos.kafkacsvloader.MainKt "
88+ attributes[" Main-Class" ] = " com.dragos.kafkacsvloader.KafkaCsvLoaderCommandKt "
8989 attributes[" Implementation-Version" ] = version
9090 }
9191 duplicatesStrategy = DuplicatesStrategy .EXCLUDE
@@ -158,6 +158,7 @@ tasks.jacocoTestReport {
158158 )
159159}
160160
161+ // Find the jacocoTestReport task and update it:
161162tasks.jacocoTestReport {
162163 dependsOn(tasks.test)
163164
@@ -180,13 +181,55 @@ tasks.jacocoTestReport {
180181 " **/KafkaCsvLoaderCommand\$ *.class" ,
181182 " **/LoadCommand.class" ,
182183 " **/LoadCommand\$ *.class" ,
184+ " **/LoadCommandKt.class" ,
185+ " **/LoadCommandKt\$ *.class" ,
183186 )
184187 }
185188 },
186189 ),
187190 )
188191}
189192
193+ tasks.jacocoTestCoverageVerification {
194+ dependsOn(tasks.jacocoTestReport)
195+
196+ classDirectories.setFrom(
197+ files(
198+ classDirectories.files.map {
199+ fileTree(it) {
200+ exclude(
201+ " **/generated/**" ,
202+ " **/LoadCommand.class" ,
203+ " **/LoadCommand\$ *.class" ,
204+ " **/LoadCommandKt.class" ,
205+ " **/LoadCommandKt\$ *.class" ,
206+ )
207+ }
208+ },
209+ ),
210+ )
211+
212+ violationRules {
213+ rule {
214+ element = " BUNDLE"
215+ limit {
216+ counter = " INSTRUCTION"
217+ value = " COVEREDRATIO"
218+ minimum = " 0.80" .toBigDecimal()
219+ }
220+ }
221+
222+ rule {
223+ element = " CLASS"
224+ limit {
225+ counter = " LINE"
226+ value = " COVEREDRATIO"
227+ minimum = " 0.70" .toBigDecimal()
228+ }
229+ }
230+ }
231+ }
232+
190233tasks.jacocoTestCoverageVerification {
191234 dependsOn(tasks.jacocoTestReport)
192235
0 commit comments