Ċ import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ import Ġorg . kt 3 k . gradle . plugin . Cover alls Plugin Extension Ċ Ċ build script Ġ{ ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven Central () ĊĠĠĠ Ġ} Ċ } Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġjava ĊĠĠĠ Ġkotlin (" jvm ") Ġversion Ġ" 1 . 5 . 3 0 " ĊĠĠĠ Ġ` maven - publish ` ĊĠĠĠ Ġj aco co ĊĠĠĠ Ġid (" com . github . kt 3 k . coveralls ") Ġversion Ġ" 2 . 1 2 . 0 " ĊĠĠĠ Ġid (" org . j mail en . kot linter ") Ġversion Ġ" 3 . 5 . 1 " Ċ } Ċ Ċ group Ġ= Ġ" com . github . mo ia - dev " Ċ version Ġ= Ġ" 1 . 0 - SNAPSHOT " Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Central () Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation ( kotlin (" stdlib - jdk 8 ")) ĊĠĠĠ Ġimplementation ( kotlin (" reflect ")) Ċ } Ċ Ċ sub projects Ġ{ ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven Central () ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġapply ( plugin Ġ= Ġ" java ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" kotlin ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" jac oco ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" maven - publish ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" org . j mail en . kot linter ") ĊĊĠĠĠ Ġtasks Ġ{ ĊĠĠĠĠĠĠĠ Ġwith Type < Kotlin Compile > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Options . jvm Target Ġ= Ġ" 1 1 " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith Type < Test > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuse JUnit Platform () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Logging . show Standard Streams Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġpublishing Ġ{ ĊĠĠĠĠĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate < Maven Publication >(" maven ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( components [" java "]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpom Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicense Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" The ĠApache ĠLicense , ĠVersion Ġ 2 . 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" http :// www . apache . org / licenses / LICENSE - 2 . 0 . txt ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ configure < Cover alls Plugin Extension > Ġ{ ĊĠĠĠ Ġsource Dirs Ġ= Ġsub projects . flatMap Ġ{ Ġit . source Sets [" main "]. all Source . src Dirs Ġ}. filter Ġ{ Ġit . exists () Ġ}. map Ġ{ Ġit . path Ġ} ĊĠĠĠ Ġj aco co Report Path Ġ= Ġ"$ build Dir / reports / jac oco / report . xml " Ċ } Ċ Ċ val Ġj aco co Root Report Ġby Ġtasks . creating ( J aco co Report :: class ) Ġ{ ĊĠĠĠ Ġdescription Ġ= Ġ" Gener ates Ġan Ġaggregate Ġreport Ġfrom Ġall Ġsub projects " ĊĠĠĠ Ġgroup Ġ= Ġ" Coverage Ġreports " ĊĠĠĠ Ġsource Sets (* sub projects . map Ġ{ Ġit . source Sets [" main "] Ġ}. to Typed Array ()) ĊĠĠĠ Ġexecution Data ( file Tree ( project . rootDir . absolute Path ). include (" **/ build / jac oco /*. exec ")) ĊĊĠĠĠ Ġreports Ġ{ ĊĠĠĠĠĠĠĠ Ġhtml . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġxml . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġxml . set Destination ( File ( project . build Dir , Ġ" reports / jac oco / report . xml ")) ĊĠĠĠ Ġ} Ċ }