import Ġcom . github . jen gel man . gradle . plugins . shadow . tasks . Shadow Jar Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġorg . gradle . api . Java Version Ċ import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġkotlin (" jvm ") Ġversion Ġ" 1 . 5 . 2 1 " ĊĊĠĠĠ Ġid (" org . cad ix dev . lic en ser ") Ġversion Ġ" 0 . 6 . 1 " ĊĠĠĠ Ġid (" com . github . john ren gel man . shadow ") Ġversion Ġ" 7 . 0 . 0 " ĊĠĠĠ Ġid (" io . spring . dependency - management ") Ġversion Ġ" 1 . 0 . 6 . RELEASE " Ċ } Ċ Ċ group Ġ= Ġ" io . z ach br " Ċ version Ġ= Ġ" 1 . 3 . 1 - SNAPSHOT " Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven (" https :// m 2 . dv 8 tion . net / releases ") ĊĠĠĠ Ġmaven (" https :// repo . spongepowered . org / maven ") ĊĠĠĠ Ġmaven Central () Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation (" org . kit te h . irc : client - lib : 8 . 0 . 0 ") ĊĠĠĠ Ġimplementation (" club . min n ced : discord - web hooks : 0 . 5 . 7 ") ĊĠĠĠ Ġimplementation (" net . dv 8 tion : J DA : 4 . 3 . 0 _ 2 9 7 ") Ġ{ ĊĠĠĠĠĠĠĠ Ġexclude ( module Ġ= Ġ" opus - java ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġimplementation (" org . jetbrains . kotlin : kotlin - stdlib - jdk 8 ") ĊĠĠĠ Ġimplementation (" org . json : json : 2 0 1 8 0 8 1 3 ") ĊĠĠĠ Ġimplementation (" org . spongepowered : configur ate - ho con : 4 . 1 . 1 ") ĊĠĠĠ Ġimplementation (" com . atlassian . common mark : common mark : 0 . 1 5 . 2 ") ĊĠĠĠ Ġimplementation (" com . atlassian . common mark : common mark - ext - g fm - strikethrough : 0 . 1 5 . 2 ") ĊĊĠĠĠ Ġimplementation (" org . slf 4 j : slf 4 j - api : 1 . 7 . 3 0 ") ĊĠĠĠ Ġimplementation (" org . apache . logging . log 4 j : log 4 j - core : 2 . 1 3 . 2 ") ĊĠĠĠ Ġruntime Only (" org . apache . logging . log 4 j : log 4 j - slf 4 j - impl : 2 . 1 3 . 2 ") ĊĊĠĠĠ Ġtest Implementation (" org . junit . jupiter : junit - jupiter - api : 5 . 6 . 2 ") ĊĠĠĠ Ġtest Runtime Only (" org . junit . jupiter : junit - jupiter - engine : 5 . 6 . 2 ") Ċ } Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġbuild Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On ( shadow Jar ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġwith Type < Shadow Jar > Ġ{ ĊĠĠĠĠĠĠĠ Ġmanifest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattributes [" Main - Class "] Ġ= Ġ" io . z ach br . dis 4 irc . Dis 4 IR CK t " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattributes [" Multi - Release "] Ġ= Ġ" true " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfrom ( file (" LICENSE . md ")) ĊĠĠĠĠĠĠĠ Ġarchive Classifier . set ("") ĊĠĠĠĠĠĠĠ Ġis Preserve File Timestamp s Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġis Re pro duc ible File Order Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġwith Type < Kotlin Compile > Ġ{ ĊĠĠĠĠĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġj vm Target Ġ= ĠJava Version . VERSION _ 1 _ 8 . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprocess Resources Ġ{ ĊĠĠĠĠĠĠĠ Ġexpand ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" projectName " Ġto Ġroot Project . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" project Version " Ġto Ġversion , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" project Git Hash " Ġto Ġget Git Hash (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" project Source Repo " Ġto Ġ" https :// github . com / z ach br / Dis 4 IRC " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Logging . show Standard Streams Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġuse JUnit Platform () ĊĠĠĠ Ġ} Ċ } Ċ Ċ // Ġupdate License s Ġ| Ġcheck License s Ċ license Ġ{ ĊĠĠĠ Ġheader ( project . file (" HEADER . txt ")) ĊĠĠĠ Ġext Ġ{ ĊĠĠĠĠĠĠĠ Ġset (" name ", Ġ" Dis 4 IRC ") ĊĠĠĠĠĠĠĠ Ġset (" year ", Ġ" 2 0 1 8 - 2 0 2 1 ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġget Git Hash (): ĠString Ġ{ ĊĠĠĠ Ġval Ġstdout Ġ= ĠByteArrayOutputStream () Ġ// Ġcannot Ġbe Ġfully Ġqualified , ĠÂ ¯ \_ ( ãĥĦ )_ / Â ¯ ĊĠĠĠ Ġexec Ġ{ ĊĠĠĠĠĠĠĠ Ġcommand Line Ġ= ĠlistOf (" git ", Ġ" rev - parse ", Ġ"-- short ", Ġ" HEAD ") ĊĠĠĠĠĠĠĠ Ġstandard Output Ġ= Ġstdout ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġstdout . toString (). trim () Ċ } Ċ Ċ dependency Management Ġ{ ĊĠĠĠ Ġimports Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven B om (" org . apache . logging . log 4 j : log 4 j - bom : 2 . 1 3 . 2 ") ĊĠĠĠ Ġ} Ċ } Ċ