import Ġorg . jetbrains . kotlin . gradle . dsl . Kotlin Compile Ċ import Ġorg . jl le its ch uh . gradle . kt lint . tasks . Generate Reports Task Ċ Ċ val Ġtu Pro log Package Ġget () Ġ= Ġroot Project . group . toString () Ċ val Ġtu Pro log Package Dir Ġget () Ġ= Ġtu Pro log Package . replace ('.', ĠFile . separator Char ) Ċ Ċ kotlin Ġ{ ĊĠĠĠ Ġsource Sets Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcommon Main Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi (" io . github . g ci at to : kt - math :_ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi ( project (": utils ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinfo Kt File Ġ= Ġkotlin . src Dirs . first (). absolute File . resolve ("$ tu Pro log Package Dir / Info . kt ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcreate Info Kt Ġby Ġtasks . creating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo Last Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfo Kt File . write Text ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| package Ġ$ tu Pro log Package ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| object ĠInfo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġconst Ġval ĠVERSION Ġ= Ġ"${ root Project . version }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġval ĠPLATFORM : ĠPlatform Ġby Ġlazy Ġ{ Ġcurrent Platform () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| """. trim Margin () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutputs . file ( info Kt File ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadd De pen de cy Action : Ġ( Task ) Ġ-> ĠUnit Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . depends On ( create Info Kt ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . inputs . file ( info Kt File ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtasks . with Type < Kotlin Compile <* >> (). forEach ( add De pen de cy Action ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtasks . with Type < Generate Reports Task >(). forEach ( add De pen de cy Action ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ