plugins Ġ{ ĊĠĠĠ Ġid (" org . jetbrains . kotlin . jvm "). version (" 1 . 4 . 1 0 ") ĊĠĠĠ Ġid (" com . github . john ren gel man . shadow "). version (" 6 . 1 . 0 ") ĊĠĠĠ Ġid (" maven - publish ") ĊĠĠĠ Ġid (" java - library ") Ċ } Ċ Ċ all projects Ġ{ ĊĠĠĠ Ġgroup Ġ= Ġ" net . source bot " ĊĠĠĠ Ġversion Ġ= Ġ" 5 . 2 . 8 " ĊĠĠĠ Ġbuild Dir Ġ= ĠFile ( root Project . project Dir , Ġ" target / output /$ name ") ĊĊĠĠĠ Ġapply ( plugin Ġ= Ġ" org . jetbrains . kotlin . jvm ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" com . github . john ren gel man . shadow ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" maven - publish ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" java - library ") ĊĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġj center () ĊĠĠĠĠĠĠĠ Ġmaven Local () ĊĠĠĠĠĠĠĠ Ġmaven Central () ĊĠĠĠĠĠĠĠ Ġmaven (" https :// nexus . mc devs . us / repository / mc devs /") ĊĠĠĠĠĠĠĠ Ġmaven (" https :// m 2 . dv 8 tion . net / releases ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtasks Ġ{ ĊĠĠĠĠĠĠĠ Ġcompile Java Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsource Compatibility Ġ= Ġ" 1 1 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Compatibility Ġ= Ġ" 1 1 " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcompile Kotlin Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Options . jvm Target Ġ= Ġ" 1 1 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Options . free Compiler Args Ġ= ĠList ( 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- X jvm - default = enable " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġprocess Resources Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfiles Matching (" module . json ") Ġ{ Ġexpand (" project " Ġto Ġproject ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutputs . up ToDate When Ġ{ Ġfalse Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġjava Ġ{ ĊĠĠĠĠĠĠĠ Ġwith Sources Jar () ĊĠĠĠĠĠĠĠ Ġwith Javadoc Jar () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublishing Ġ{ ĊĠĠĠĠĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( project . find Property (" deploy ") Ġ?: Ġ" local ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" local " Ġ-> Ġmaven Local () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" remote " Ġ-> Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( project . version . toString (). endsWith ("- SNAPSHOT ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Url (" https :// nexus . d velop ed . net / repository / d velop ed - snapshots /") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaven Content Ġ{ Ġsnapshots Only () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Url (" https :// nexus . d velop ed . net / repository / d velop ed - releases /") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaven Content Ġ{ Ġreleases Only () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= ĠSystem . getenv (" N EX US _ USERNAME ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= ĠSystem . getenv (" N EX US _ PASSWORD ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate < Maven Publication >(" assembly ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( components [" java "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ task (" install ") Ġ{ ĊĠĠĠ Ġval Ġdepends Ġ= ĠFile (" INSTALL "). let Ġ{ Ġfile Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġsub projects Ġ= Ġproject (": Extensions "). sub projects . map Ġ{ Ġit . name Ġ} ĊĠĠĠĠĠĠĠ Ġ( if Ġ(! file . exists ()) Ġsub projects Ġelse Ġfile . read Lines ()). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ": Extensions :${ it }: shadow Jar " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġdepends On (": API : shadow Jar ", Ġ* depends . to Typed Array ()) Ċ }