plugins Ġ{ ĊĠĠĠ Ġid (" kotlin ") ĊĠĠĠ Ġid (" maven - publish ") ĊĠĠĠ Ġj aco co Ċ } Ċ Ċ source Sets Ġ{ ĊĠĠĠ Ġmain Ġ{ ĊĠĠĠĠĠĠĠ Ġjava . src Dir (" src / main / kotlin ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest Ġ{ ĊĠĠĠĠĠĠĠ Ġjava . src Dir (" src / test / kotlin ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks . with Type < org . jetbrains . kotlin . gradle . tasks . Kotlin Compile > Ġ{ ĊĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠĠĠĠĠ Ġj vm Target Ġ= Ġ" 1 . 8 " ĊĠĠĠĠĠĠĠ Ġfree Compiler Args Ġ= ĠlistOf ("- X opt - in = kotlin . Requires Opt In ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks . with Type < J aco co Report > Ġ{ ĊĠĠĠ Ġclass Directories . from ("$ build Dir / classes / kotlin / main ") ĊĠĠĠ Ġsource Directories . from ("$ project Dir / src / main / kotlin ") ĊĊĠĠĠ Ġreports Ġ{ ĊĠĠĠĠĠĠĠ Ġxml . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġhtml . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġxml . destination Ġ= ĠFile ("$ build Dir / jac oco / coverage . xml ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġexecution Data . from ("$ build Dir / jac oco / test . exec ") Ċ } Ċ Ċ val Ġsources Jar Ġby Ġtasks . creating ( Jar :: class ) Ġ{ ĊĠĠĠ Ġarchive Classifier . set (" sources ") ĊĠĠĠ Ġfrom ( source Sets . get ByName (" main "). all Source ) Ċ } Ċ Ċ artifacts Ġ{ ĊĠĠĠ Ġarch ives ( sources Jar ) Ċ } Ċ Ċ publishing Ġ{ ĊĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate < Maven Publication >(" release ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( components [" java "]) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgroupId Ġ= Ġ" com . k ache j " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact Id Ġ= Ġ" k ache j " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġ" 0 . 2 . 0 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( sources Jar ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation ( Lib s . kotlin ) ĊĠĠĠ Ġimplementation ( Lib s . kotlin ) ĊĠĠĠ Ġimplementation ( Lib s . coroutines ) ĊĠĠĠ Ġtest Implementation ( Lib s . tur bine ) ĊĠĠĠ Ġtest Implementation ( Lib s . junit 4 ) Ċ } Ċ