import Ġcom . github . jen gel man . gradle . plugins . shadow . tasks . Shadow Jar Ċ import Ġnet . mine cre ll . plugin yml . b ungee . B ungee Plugin Description Ċ import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ import Ġorg . jl le its ch uh . gradle . kt lint . K tl int Extension Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġkotlin (" jvm ") Ġversion Ġ" 1 . 4 . 3 0 " ĊĠĠĠ Ġid (" com . github . john ren gel man . shadow ") Ġversion Ġ" 6 . 1 . 0 " Ġapply Ġfalse ĊĠĠĠ Ġid (" net . mine cre ll . plugin - yml . b ungee ") Ġversion Ġ" 0 . 3 . 0 " Ġapply Ġfalse ĊĠĠĠ Ġid (" org . jl le its ch uh . gradle . kt lint ") Ġversion Ġ" 1 0 . 0 . 0 " Ċ } Ċ Ċ all projects Ġ{ ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" org . jl le its ch uh . gradle . kt lint ") ĊĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven Central () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconfigure < K tl int Extension > Ġ{ ĊĠĠĠĠĠĠĠ Ġversion . set (" 0 . 4 0 . 0 ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ sub projects Ġ{ ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" kotlin ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" com . github . john ren gel man . shadow ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" net . mine cre ll . plugin - yml . b ungee ") ĊĊĠĠĠ Ġval Ġshadow Implementation Ġby Ġconfigurations . creating ĊĠĠĠ Ġconfigurations [" implementation "]. extends From ( shadow Implementation ) ĊĊĠĠĠ Ġval Ġproject Ġ= ĠProject . get ( project . name ) Ġ?: Ġerror (" Not ĠFound ĠProject Ġ${ project . name }") ĊĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven ( url Ġ= Ġ" https :// pap erm c . io / repo / repository / maven - public /") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( project ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProject . Core Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshadow Implementation ( kotlin (" stdlib - jdk 8 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProject . Discord Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" com . google . code . gson : gson : 2 . 8 . 6 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Implementation (" org . slf 4 j : slf 4 j - simple : 1 . 7 . 3 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProject . V ot ifier Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" io . netty : netty - handler : 4 . 1 . 5 3 . Final ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" io . netty ", Ġ" netty - transport - native - ep oll ", Ġ" 4 . 1 . 5 3 . Final ", Ġclassifier Ġ= Ġ" linux - x 8 6 _ 6 4 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" stdlib - jdk 8 ")) ĊĠĠĠĠĠĠĠ Ġimplementation (" io . github . water fall mc : water fall - api : 1 . 1 6 - R 0 . 4 - SNAPSHOT ") ĊĠĠĠĠĠĠĠ Ġproject . depend ProjectName . forEach Ġ{ Ġimplementation ( project (" :$ it ")) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtasks . with Type < Kotlin Compile > Ġ{ ĊĠĠĠĠĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġj vm Target Ġ= Ġ" 1 1 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfree Compiler Args Ġ+= Ġ"- X opt - in = kotlin . Requires Opt In " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtasks . with Type < Shadow Jar > Ġ{ ĊĠĠĠĠĠĠĠ Ġconfigurations Ġ= ĠlistOf ( shadow Implementation ) ĊĠĠĠĠĠĠĠ Ġclassifier Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġdestination Directory . set ( file ("../ j ars ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconfigure < B ungee Plugin Description > Ġ{ ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġproject . name ĊĠĠĠĠĠĠĠ Ġversion Ġ= Ġproject . version ĊĠĠĠĠĠĠĠ Ġmain Ġ= Ġproject . main ĊĠĠĠĠĠĠĠ Ġauthor Ġ= Ġproject . author ĊĠĠĠĠĠĠĠ Ġdepends Ġ= Ġproject . all Depend Plugin ĊĠĠĠ Ġ} Ċ } Ċ Ċ task (" update Versions ") Ġ{ ĊĠĠĠ Ġdo Last Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoutput Block Comment Ġ= Ġ" <!-- ĠGenerate ĠVersions Ġ--> " ĊĠĠĠĠĠĠĠ Ġval Ġescaped Output Block Comment Ġ= ĠRegex . escape ( output Block Comment ) ĊĠĠĠĠĠĠĠ Ġval Ġmd File Ġ= Ġfile (" README . md ") ĊĠĠĠĠĠĠĠ Ġval Ġfile Content Ġ= Ġmd File . buffered Reader (). use Ġ{ Ġit . read Text () Ġ} ĊĠĠĠĠĠĠĠ Ġmd File . write Text ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile Content . replace ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ escaped Output Block Comment [ \\ s \\ S ]* $ escaped Output Block Comment ". to Regex (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild String Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ln ( output Block Comment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ln ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠName Ġ| ĠVersion Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|: -----| -------- :| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProject . list . sorted By Ġ{ Ġit . name Ġ}. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ln ("| Ġ${ it . name } Ġ| Ġ${ it . version } Ġ| ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( output Block Comment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ