import Ġcom . github . ben man es . gradle . versions . updates . Dependency Updates Task Ċ import Ġio . gitlab . art urb os ch . de te kt . Det ek t Ċ import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ Ċ plugins Ġ{ ĊĠ Ġid ( Det ek t Lib . Plugin Id ) Ġversion ĠDet ek t Lib . Version ĊĠ Ġid ( Gradle Versions . Plugin Id ) Ġversion ĠGradle Versions . Version ĊĠ Ġid ( Gr Git . Plugin Id ) Ġversion ĠGr Git . Version Ċ } Ċ Ċ build script Ġ{ ĊĠ Ġrepositories Ġ{ ĊĠĠĠ Ġgoogle () ĊĠĠĠ Ġmaven Central () ĊĠĠĠ Ġgradle Plugin Portal () ĊĠĠĠ Ġj center () ĊĠ Ġ} ĊĠ Ġdependencies Ġ{ ĊĠĠĠ Ġclasspath ( Android . Gradle Plugin ) ĊĠĠĠ Ġclasspath ( Kotlin . Gradle Plugin ) ĊĠĠĠ Ġclasspath ( Sql Del ight . Plugin ) ĊĠĠĠ Ġclasspath ( Det ek t Lib . Plugin ) ĊĠĠĠ Ġclasspath ( Gradle Versions . Plugin ) ĊĠĠĠ Ġclasspath ( Firebase . Crash ly t ics Plugin ) ĊĠ Ġ} Ċ } Ċ Ċ all projects Ġ{ ĊĠ Ġrepositories Ġ{ ĊĠĠĠ Ġmaven Central () ĊĠĠĠ Ġgoogle () ĊĠĠĠ Ġmaven (" https :// jit pack . io ") ĊĠĠĠ Ġj center () ĊĠ Ġ} ĊĊĠ Ġtasks . with Type < Java Compile > Ġ{ ĊĠĠĠ Ġsource Compatibility Ġ= Ġ" 1 . 8 " ĊĠĠĠ Ġtarget Compatibility Ġ= Ġ" 1 . 8 " ĊĠ Ġ} ĊĊĠ Ġtasks . with Type < Kotlin Compile > Ġ{ ĊĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠĠĠ Ġj vm Target Ġ= Ġ" 1 . 8 " ĊĠĠĠĠĠ Ġlanguage Version Ġ= Ġ" 1 . 5 " ĊĠĠĠĠĠ ĠapiVersion Ġ= Ġ" 1 . 5 " ĊĠĠĠĠĠ Ġfree Compiler Args Ġ= Ġfree Compiler Args Ġ+ ĠlistOf ( ĊĠĠĠĠĠĠĠ Ġ"- progress ive ", ĊĠĠĠĠĠĠĠ Ġ"- X opt - in = kotlin . Requires Opt In ", ĊĠĠĠĠĠĠĠ Ġ"- X opt - in = kotlin x . coroutines . Experimental Cor outines Api ", ĊĠĠĠĠĠĠĠ Ġ"- X skip - pr erelease - check ", ĊĠĠĠĠĠĠĠ Ġ"- X use - experimental = kotlin . contracts . Experimental Contracts ", ĊĠĠĠĠĠĠĠ Ġ"- X jvm - enable - preview " ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġtasks . with Type < Test > Ġ{ ĊĠĠĠ Ġuse JUnit Platform () ĊĠĠĠ Ġtest Logging Ġ{ ĊĠĠĠĠĠ Ġevents (" passed ", Ġ" skipped ", Ġ" failed ") ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ Ċ dependencies Ġ{ ĊĠ Ġde te kt ( Det ek t Lib . Formatting ) ĊĠ Ġde te kt ( Det ek t Lib . Cli ) Ċ } Ċ Ċ tasks . with Type < Det ek t > Ġ{ ĊĠ Ġparallel Ġ= Ġtrue ĊĠ Ġconfig . set From ( root Project . file (" de te kt - config . yml ")) ĊĠ Ġset Source ( files ( project Dir )) ĊĠ Ġexclude ( sub projects . map Ġ{ Ġ"${ it . build Dir . relative To ( rootDir ). path }/ " Ġ}) ĊĠ Ġexclude (" ** /. gradle /** ") ĊĠ Ġreports Ġ{ ĊĠĠĠ Ġxml Ġ{ ĊĠĠĠĠĠ Ġenabled Ġ= Ġtrue ĊĠĠĠĠĠ Ġdestination Ġ= Ġfile (" build / reports / de te kt / de te kt - results . xml ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġhtml . enabled Ġ= Ġfalse ĊĠĠĠ Ġtxt . enabled Ġ= Ġfalse ĊĠ Ġ} Ċ } Ċ Ċ tasks . register (" check ") Ġ{ ĊĠ Ġgroup Ġ= Ġ" Verification " ĊĠ Ġdescription Ġ= Ġ" Allow s Ġto Ġattach ĠDet ek t Ġto Ġthe Ġroot Ġproject ." Ċ } Ċ Ċ tasks . with Type < Dependency Updates Task > Ġ{ ĊĠ Ġreject Version If Ġ{ ĊĠĠĠ Ġis Non Stable ( candidate . version ) Ġ&& Ġ! is Non Stable ( current Version ) ĊĠ Ġ} Ċ } Ċ Ċ fun Ġis Non Stable ( version : ĠString ): ĠBoolean Ġ{ ĊĠ Ġval Ġregex Ġ= Ġ"^ [ 0 - 9 ,. v - ]+ (- r )? $ ". to Regex () ĊĠ Ġreturn Ġ! regex . matches ( version ) Ċ } Ċ