import Ġio . github . n ucleus powered . gradle . enums . get Level Ċ import Ġio . github . n ucleus powered . gradle . task . Rel Notes Task Ċ import Ġio . github . n ucleus powered . gradle . task . Std Out Exec Ċ import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . net . URL Ċ import Ġjava . nio . charset . StandardCharsets Ċ import Ġjava . nio . file . Files Ċ Ċ val Ġkotlin _ version : ĠString Ġby Ġextra Ċ build script Ġ{ ĊĠĠĠ Ġvar Ġkotlin _ version : ĠString Ġby Ġextra ĊĠĠĠ Ġkotlin _ version Ġ= Ġ" 1 . 3 . 6 1 " ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven Central () ĊĠĠĠ Ġ} ĊĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠ Ġclasspath ( kotlin (" gradle - plugin ", Ġkotlin _ version )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġjava ĊĠĠĠ Ġidea ĊĠĠĠ Ġec lipse ĊĠĠĠ Ġ` maven - publish ` ĊĠĠĠ Ġ// Ġid (" com . github . hi ery nom us . license ") Ġversion Ġ" 0 . 1 5 . 0 " Ġapply Ġfalse ĊĠĠĠ Ġid (" org . cad ix dev . lic en ser ") Ġversion Ġ" 0 . 5 . 1 " Ġapply Ġfalse ĊĠĠĠ Ġid (" net . ky ori . b loss om ") Ġversion Ġ" 1 . 2 . 0 " ĊĠĠĠ Ġid (" com . github . john ren gel man . shadow ") Ġversion Ġ" 5 . 2 . 0 " ĊĠĠĠ Ġid (" org . spongepowered . gradle . plugin ") Ġversion Ġ" 1 . 0 . 2 " ĊĠĠĠ Ġ// Ġid (" org . spongepowered . gradle . plugin ") Ġversion Ġ" 0 . 1 1 . 0 - SNAPSHOT " ĊĠĠĠ Ġkotlin (" jvm ") Ġversion Ġ" 1 . 3 . 6 1 " Ċ } Ċ apply Ġ{ ĊĠĠĠ Ġplugin (" kotlin ") Ċ } Ċ Ċ // ĠUnt il ĠI Ġcan Ġfigure Ġout Ġhow Ġto Ġget ĠB loss om Ġto Ġaccept Ġtask Ġoutputs , Ġif Ġat Ġall Ċ // Ġthis Ġwill Ġhave Ġto Ġdo . Ċ fun Ġget Git Commit () Ġ: ĠString Ġ{ ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbyte Out Ġ= ĠByteArrayOutputStream () ĊĠĠĠĠĠĠĠ Ġproject . exec Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommand Line Ġ= Ġ" git Ġrev - parse Ġ-- short ĠHEAD ". split (" Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstandard Output Ġ= Ġbyte Out ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbyte Out . toString (" UTF - 8 "). trim () ĊĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġignore ĊĠĠĠĠĠĠĠ Ġ" unknown " ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġverbose Ġ= Ġroot Project . properties [" verbose - compile "] Ġ!= Ġnull Ċ all projects Ġ{ ĊĊĠĠĠ Ġapply ( plugin Ġ= Ġ" org . cad ix dev . lic en ser ") ĊĊĠĠĠ Ġconfigure < org . cad ix dev . gradle . lic en ser . License Extension > Ġ{ ĊĠĠĠĠĠĠĠ Ġheader Ġ= Ġroot Project . file (" HEADER . txt ") ĊĠĠĠĠĠĠĠ Ġnew Line Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġexclude (" ** /*. info ") ĊĠĠĠĠĠĠĠ Ġexclude (" assets /** ") ĊĠĠĠĠĠĠĠ Ġexclude (" *. k ts ") ĊĠĠĠĠĠĠĠ Ġexclude (" ** /*. json ") ĊĠĠĠĠĠĠĠ Ġexclude (" *. properties ") ĊĠĠĠĠĠĠĠ Ġexclude (" *. txt ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( verbose ) Ġ{ ĊĠĠĠĠĠĠĠ Ġgradle . projects Evalu ated Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtasks . with Type ( Java Compile :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoptions . compiler Args . add ("- X lint : unchecked ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoptions . is De precation Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ extra [" git Hash "] Ġ= Ġget Git Commit () Ċ Ċ // ĠGet Ġthe ĠLevel Ċ val Ġn ucleus Version : ĠString Ġby Ġproject Ġ// Ġ= Ġproject . properties [" n ucleus Version "] ?. toString () !! Ċ val Ġn ucleus Version Suffix Ġ: ĠString ? Ġby Ġproject Ġ// Ġ= Ġproject . properties [" n ucleus Version Suffix "] ?. toString () Ċ val Ġv avr Version : ĠString Ġby Ġproject Ċ val Ġdeclared ApiVersion : ĠString Ġby Ġproject Ċ val Ġsp onge ApiVersion : ĠString Ġby Ġproject Ċ Ċ var Ġlevel Ġ= Ġget Level ( n ucleus Version , Ġn ucleus Version Suffix ) Ċ val Ġsp onge Version : ĠString Ġ= Ġdeclared ApiVersion Ċ val Ġversion String : ĠString Ġ= Ġif Ġ( n ucleus Version Suffix Ġ== Ġnull ) Ġ{ ĊĠĠĠ Ġn ucleus Version Ċ } Ġelse Ġ{ ĊĠĠĠ Ġ"$ n ucleus Version -$ n ucleus Version Suffix " Ċ } Ċ val Ġfilename Suffix Ġ= Ġ" Sp onge API $ sponge Version " Ċ version Ġ= Ġversion String Ċ Ċ project (": n ucleus - api "). version Ġ= Ġversion String Ċ project (": n ucleus - core "). version Ġ= Ġversion String Ċ Ċ group Ġ= Ġ" io . github . n ucleus powered " Ċ Ċ default Tasks . add (" license Format ") Ċ default Tasks . add (" build ") Ċ Ċ sponge Ġ{ ĊĠĠĠ ĠapiVersion ("$ sponge ApiVersion ") ĊĠĠĠ Ġplatform ( org . spongepowered . gradle . common . Sp onge Platform . V AN IL LA ) ĊĠĠĠ Ġplugin (" n ucleus ") Ġ{ ĊĠĠĠĠĠĠĠ Ġloader ( org . spongepowered . gradle . plugin . config . Plugin Lo aders . JAVA _ PLAIN ) ĊĠĠĠĠĠĠĠ ĠdisplayName (" N ucleus ") ĊĠĠĠĠĠĠĠ Ġmain Class (" io . github . n ucleus powered . n ucleus . bootstrap . N ucleus Bootstrap per ") ĊĠĠĠĠĠĠĠ Ġdescription (" N ucleus ") ĊĠĠĠĠĠĠĠ Ġversion ( version String ) ĊĠĠĠĠĠĠĠ Ġlinks Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhomepage (" https :// n ucleus powered . org ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsource (" https :// github . com / N ucleus Power ed / N ucleus ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġissues (" https :// github . com / N ucleus Power ed / N ucleus / issues ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcontributor (" dual sp iral ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription (" Lead ĠDeveloper ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdependency (" sponge api ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload Order ( org . spongepowered . plugin . metadata . Plugin Dependency . Load Order . AFTER ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptional ( false ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ java Ġ{ ĊĠĠĠ Ġsource Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 ĊĠĠĠ Ġtarget Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 Ċ } Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Central () ĊĠĠĠ Ġmaven (" https :// repo . spongepowered . org / maven ") Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation ( project (": n ucleus - api ")) ĊĠĠĠ Ġimplementation ( project (": n ucleus - core ")) ĊĠĠĠ Ġimplementation ( project (": n ucleus - bootstrap ")) ĊĠĠĠ Ġtest Implementation (" junit : junit : 4 . 1 2 ") Ċ } Ċ Ċ /** Ċ Ġ* ĠFor Ġuse Ġwith ĠGithub ĠActions , Ġas Ġyou Ġprobably Ġsuspect ed Ġby Ġthe Ġname Ġof Ġthe Ġtask Ċ Ġ*/ Ċ val Ġset Github Actions Version Ġby Ġtasks . register ing ( Exec :: class ) Ġ{ ĊĠĠĠ Ġcommand Line (" echo ", Ġ":: set - env Ġname = NU CLE US _ VERSION ::$ version ") ĊĠĠĠ Ġif Ġ(! level . is Snapshot ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcommand Line (" echo ", Ġ":: set - env Ġname = NU CLE US _ NOT _ SNAPSHOT :: true ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġgit Hash Ġby Ġtasks . register ing ( Std Out Exec :: class ) Ġ Ġ{ ĊĠĠĠ Ġcommand Line (" git ", Ġ" rev - parse ", Ġ"-- short ", Ġ" HEAD ") ĊĠĠĠ Ġdo Last Ġ{ ĊĠĠĠĠĠĠĠ Ġproject . extra [" git Hash "] Ġ= Ġresult ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġgit Commit Message Ġby Ġtasks . register ing ( Std Out Exec :: class ) Ġ{ ĊĠĠĠ Ġcommand Line (" git ", Ġ" log ", Ġ"- 1 ", Ġ"-- format =% B ") Ċ } Ċ Ċ val Ġclean Output Ġby Ġtasks . register ing ( Delete :: class ) Ġ{ ĊĠĠĠ Ġdelete ( file Tree (" output "). matching Ġ{ ĊĠĠĠĠĠĠĠ Ġinclude (" *. jar ") ĊĠĠĠĠĠĠĠ Ġinclude (" *. md ") ĊĠĠĠĠĠĠĠ Ġinclude (" *. json ") ĊĠĠĠĠĠĠĠ Ġinclude (" *. yml ") ĊĠĠĠ Ġ}) Ċ } Ċ Ċ val Ġcopy J ars Ġby Ġtasks . register ing ( Copy :: class ) Ġ{ ĊĠĠĠ Ġdepends On (": n ucleus - api : copy J ars ") ĊĠĠĠ Ġdepends On (": n ucleus - core : build ") ĊĠĠĠ Ġdepends On ( tasks . shadow Jar ) ĊĠĠĠ Ġfrom ( tasks . shadow Jar ) ĊĠĠĠ Ġinto ( project . file (" output ")) Ċ } Ċ Ċ val Ġrel Notes Ġby Ġtasks . register ing ( Rel Notes Task :: class ) Ġ{ ĊĠĠĠ Ġdepends On ( git Hash ) ĊĠĠĠ Ġdepends On ( git Commit Message ) ĊĠĠĠ Ġversion String Ġ{ Ġversion String Ġ} ĊĠĠĠ Ġgit Hash Ġ{ Ġgit Hash . get (). result !! Ġ} ĊĠĠĠ Ġgit Commit Ġ{ Ġgit Commit Message . get (). result !! Ġ} ĊĠĠĠ Ġlevel Ġ{ Ġlevel Ġ} Ċ } Ċ Ċ val Ġwrite Rel Notes Ġby Ġtasks . register ing Ġ{ ĊĠĠĠ Ġdepends On ( rel Notes ) ĊĠĠĠ Ġdo Last Ġ{ ĊĠĠĠĠĠĠĠ ĠFiles . write ( project . project Dir . to Path (). resolve (" change logs "). resolve ("${ n ucleus Version }. md "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrel Notes . get (). rel Notes !!. toByteArray ( StandardCharsets . UTF _ 8 )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġoutput Rel Notes Ġby Ġtasks . register ing Ġ{ ĊĠĠĠ Ġdepends On ( rel Notes ) ĊĠĠĠ Ġdo Last Ġ{ ĊĠĠĠĠĠĠĠ ĠFiles . write ( project . project Dir . to Path (). resolve (" output "). resolve ("${ n ucleus Version }. md "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrel Notes . get (). rel Notes !!. toByteArray ( StandardCharsets . UTF _ 8 )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġshadow Jar : Ġcom . github . jen gel man . gradle . plugins . shadow . tasks . Shadow Jar Ġby Ġtasks Ċ Ċ val Ġupload Ġby Ġtasks . register ing ( io . github . n ucleus powered . gradle . task . Upload To O re :: class ) Ġ{ ĊĠĠĠ Ġdepends On ( shadow Jar ) ĊĠĠĠ Ġdepends On ( rel Notes ) ĊĠĠĠ Ġfile Provider Ġ= Ġshadow Jar . archive File ĊĠĠĠ Ġnotes Ġ= Ġ{ Ġrel Notes . get (). rel Notes !! Ġ} ĊĠĠĠ Ġrelease Level Ġ= Ġ{ Ġlevel Ġ} ĊĠĠĠ ĠapiKey Ġ= Ġproperties [" ore _ apikey "] ?. toString () Ġ?: ĠSystem . getenv (" NU CLE US _ ORE _ API KEY ") ĊĠĠĠ Ġplugin id Ġ= Ġ" n ucleus " Ċ } Ċ Ċ val Ġcompile Kotlin : ĠKotlin Compile Ġby Ġtasks Ċ compile Kotlin . kotlin Options Ġ{ ĊĠĠĠ Ġj vm Target Ġ= Ġ" 1 . 8 " Ċ } Ċ val Ġcompile Test Kotlin : ĠKotlin Compile Ġby Ġtasks Ċ compile Test Kotlin . kotlin Options Ġ{ ĊĠĠĠ Ġj vm Target Ġ= Ġ" 1 . 8 " Ċ } Ċ Ċ val Ġsetup Doc Gen Ġby Ġtasks . register ing ( io . github . n ucleus powered . gradle . task . Setup Server :: class ) Ġ{ ĊĠĠĠ Ġdepends On ( shadow Jar ) ĊĠĠĠ Ġsp onge Van illa Download Ġ= ĠURL (" https :// repo . spongepowered . org / maven / org / spongepowered / sponge van illa / 1 . 1 2 . 2 - 7 . 2 . 3 - RC 3 7 2 / sponge van illa - 1 . 1 2 . 2 - 7 . 2 . 3 - RC 3 7 2 . jar ") ĊĠĠĠ Ġsp onge Van illa SHA 1 Hash Ġ= Ġ" e 7 2 ec 4 bc 0 3 6 8 cd 2 fc 6 0 4 f 4 1 2 eed 5 fa 8 9 4 1 d 7 5 8 0 c " ĊĠĠĠ Ġaccept E ula Ġ= Ġtrue ĊĠĠĠ Ġfile Provider Ġ= Ġshadow Jar . archive File Ċ } Ċ Ċ val Ġrun Doc Gen Ġby Ġtasks . register ing ( Java Exec :: class ) Ġ{ ĊĠĠĠ Ġdepends On ( setup Doc Gen ) ĊĠĠĠ Ġworking Dir Ġ= ĠFile (" run ") ĊĠĠĠ Ġclasspath Ġ= Ġfiles ( File (" run / sv . jar ")) ĊĠĠĠ Ġsystem Property (" n ucleus . doc gen ", Ġ" docs ") Ċ } Ċ Ċ val Ġcopy Doc Gen Ġby Ġtasks . register ing ( Copy :: class ) Ġ{ ĊĠĠĠ Ġdepends On ( run Doc Gen ) ĊĠĠĠ Ġfrom (" run / docs ") ĊĠĠĠ Ġinto ( project . file (" output ")) Ċ } Ċ Ċ val Ġdoc Gen Ġby Ġtasks . register ing Ġ{ ĊĠĠĠ Ġdepends On ( copy Doc Gen ) ĊĠĠĠ Ġdepends On ( run Doc Gen ) ĊĠĠĠ Ġdepends On ( setup Doc Gen ) Ċ } Ċ Ċ val Ġdelete Doc Gen Server Ġby Ġtasks . register ing ( Delete :: class ) Ġ{ ĊĠĠĠ Ġdelete (" run ") Ċ } Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġshadow Jar Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On (": n ucleus - api : build ") ĊĠĠĠĠĠĠĠ Ġdepends On (": n ucleus - core : build ") ĊĠĠĠĠĠĠĠ Ġdepends On (": n ucleus - bootstrap : build ") ĊĠĠĠĠĠĠĠ Ġdepends On ( git Hash ) ĊĠĠĠĠĠĠĠ Ġdo First Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanifest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattributes [" Implementation - Title "] Ġ= Ġproject . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattributes [" Sp onge API - Version "] Ġ= Ġsp onge ApiVersion ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattributes [" Implementation - Version "] Ġ= Ġproject . version ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattributes [" Git - Hash "] Ġ= Ġgit Hash . get (). result ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinclude ( project (": n ucleus - api ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinclude ( project (": n ucleus - core ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinclude ( project (": n ucleus - modules ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinclude ( project (": n ucleus - bootstrap ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinclude ( dependency (" io . v avr : v avr :$ v avr Version ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! project . properties . containsKey (" nore locate ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre locate (" io . v avr ", Ġ" io . github . n ucleus powered . re locate . io . v avr ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġminimize Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexclude ( project (": n ucleus - api ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexclude ( project (": n ucleus - core ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexclude ( project (": n ucleus - modules ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexclude ( project (": n ucleus - bootstrap ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġexclude (" io / github / n ucleus powered / n ucleus / api / N ucleus API Mod . class ") ĊĠĠĠĠĠĠĠ Ġval Ġm inecraft version : ĠString Ġby Ġproject ĊĠĠĠĠĠĠĠ Ġarchive FileName . set (" N ucleus -${ version String }- MC ${ minecraft version }- $ filename Suffix - plugin . jar ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġbuild Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On ( shadow Jar ) ĊĠĠĠĠĠĠĠ Ġdepends On ( copy J ars ) ĊĠĠĠĠĠĠĠ Ġdepends On ( output Rel Notes ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclean Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On ( clean Output ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġb loss om Source Replacement Java Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On ( git Hash ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ publishing Ġ{ ĊĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate < Maven Publication >(" core ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshadow . component ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Artifacts ( listOf ( shadow Jar )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġversion String ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgroupId Ġ= Ġproject . properties [" groupId "] ?. toString () !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact Id Ġ= Ġproject . properties [" artifactId "] ?. toString () !! ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! version String . contains (" SNAPSHOT ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" GitHub Packages " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri ( project . find Property (" g pr . uri ") Ġas ĠString ? Ġ?: Ġ"${ project . properties [" gh Uri "] ?. toString () !! }${ System . getenv (" REPO ") }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= Ġproject . find Property (" g pr . user ") Ġas ĠString ? Ġ?: ĠSystem . getenv (" USER ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġproject . find Property (" g pr . key ") Ġas ĠString ? Ġ?: ĠSystem . getenv (" KEY ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ