package Ġcom . project . starter . quality . plugins Ċ Ċ import Ġcom . android . build . gradle . Base Extension Ċ import Ġcom . project . starter . config . findBy Type Ċ import Ġcom . project . starter . config . plugins . root Config Ċ import Ġcom . project . starter . quality . internal . configure Check style Ċ import Ġcom . project . starter . quality . internal . configure Det ek t Ċ import Ġcom . project . starter . quality . internal . configure K tl int Ċ import Ġcom . project . starter . quality . tasks . Issue Links Task . Companion . register Issue Checker Task Ċ import Ġcom . project . starter . quality . tasks . Project Code Style Task . Companion . add Project Code Style Task Ċ import Ġorg . gradle . api . Plugin Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . file . File Tree Ċ import Ġorg . gradle . api . tasks . Source Set Container Ċ import Ġorg . jetbrains . kotlin . gradle . dsl . Kotlin Multi platform Extension Ċ Ċ class ĠQuality Plugin Ġ: ĠPlugin < Project > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġapply ( project : ĠProject ) Ġ= Ġwith ( project ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrepositories . maven Central () ĊĠĠĠĠĠĠĠ Ġadd Project Code Style Task () ĊĠĠĠĠĠĠĠ Ġconfigure K tl int () ĊĠĠĠĠĠĠĠ Ġconfigure Det ek t () ĊĠĠĠĠĠĠĠ Ġconfigure Check style () ĊĠĠĠĠĠĠĠ Ġconfigure Issue Checker Task () ĊĠĠĠĠĠĠĠ Ġconfigure Format On Re compile () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠProject . configure Issue Checker Task () Ġ{ ĊĠĠĠĠĠĠĠ Ġregister Issue Checker Task Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Android Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Sets . configure Each Ġ{ Ġsource Set Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Ġ+= Ġsource Set . java . src Dirs ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġdir Ġ-> Ġproject . file Tree ( dir ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. reduce Ġ{ Ġmerged : ĠFile Tree , Ġtree : ĠFile Tree Ġ-> Ġmerged Ġ+ Ġtree Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Multi platform Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Sets . configure Each Ġ{ Ġsource Set Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Ġ+= Ġsource Set . kotlin . source Directories . as File Tree ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Jvm Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . configure Each Ġ{ Ġsource Set Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Ġ+= Ġsource Set . all Source ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport . set ( build Dir . resolve (" reports / issue _ comments . txt ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgithub Token . set ( provider < String ?> Ġ{ Ġproperties [" GITHUB _ TOKEN "] ?. toString () Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠProject . configure Format On Re compile () Ġ{ ĊĠĠĠĠĠĠĠ Ġplugin Manager . with Plugin (" kotlin ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtasks . named (" compile Kotlin ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( root Config . quality . format On Compile ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . depends On ("$ path : format Kotlin ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġplugin Manager . with Plugin (" com . android . library ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtasks . named (" pre Build ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( root Config . quality . format On Compile ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . depends On ("$ path : format Kotlin ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġplugin Manager . with Plugin (" com . android . application ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtasks . named (" pre Build ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( root Config . quality . format On Compile ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . depends On ("$ path : format Kotlin ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġinline Ġfun ĠProject . on Android ( cross inline Ġfunction : ĠBase Extension . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġproject . extensions . find ByName (" android ") ?. let Ġ{ Ġ( it Ġas ? ĠBase Extension )?. function () Ġ} Ċ } Ċ Ċ internal Ġinline Ġfun ĠProject . on Multi platform ( cross inline Ġfunction : ĠKotlin Multi platform Extension . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġproject . extensions . find ByName (" kotlin ") ?. let Ġ{ Ġ( it Ġas ? ĠKotlin Multi platform Extension )?. function () Ġ} Ċ } Ċ Ċ internal Ġinline Ġfun ĠProject . on Jvm ( cross inline Ġfunction : ĠSource Set Container . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġproject . extensions . findBy Type < Source Set Container >() ?. let ( function ) Ċ } Ċ