import Ġorg . apache . tools . ant . filters . Replace Tokens Ċ import Ġjava . io . FileInputStream Ċ import Ġjava . nio . file . Files Ċ import Ġjava . nio . file . Paths Ċ import Ġjava . util .* Ċ Ċ plugins Ġ{ ĊĠ Ġ` kotlin - dsl ` ĊĠ Ġ` maven - publish ` ĊĠ Ġid (" com . gradle . plugin - publish ") Ġversion Ġ" 0 . 1 0 . 1 " Ċ } Ċ Ċ gradle Plugin Ġ{ ĊĠ Ġplugins Ġ{ ĊĠĠĠ Ġcreate (" godot Plugin ") Ġ{ ĊĠĠĠĠĠ Ġid Ġ= Ġ" com . github . r anie j ade . godot - kotlin " ĊĠĠĠĠĠ ĠdisplayName Ġ= Ġ" Gradle Ġplugin Ġfor Ġgod ot - kotlin " ĊĠĠĠĠĠ Ġimplementation Class Ġ= Ġ" godot . gradle . God ot Plugin " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcreate (" godot Tool Plugin ") Ġ{ ĊĠĠĠĠĠ Ġid Ġ= Ġ" com . github . r anie j ade . godot - kotlin . plugin " ĊĠĠĠĠĠ ĠdisplayName Ġ= Ġ" Gradle Ġplugin Ġfor Ġauthor ing ĠGod ot Ġplugins Ġin Ġgod ot - kotlin ." ĊĠĠĠĠĠ Ġimplementation Class Ġ= Ġ" godot . gradle . God ot Tool Plugin " ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĠ Ġis Autom ated Publishing Ġ= Ġfalse Ċ } Ċ Ċ plugin Bundle Ġ{ ĊĠ Ġwebsite Ġ= Ġ" https :// github . com / r anie j ade / godot - kotlin " ĊĠ Ġv cs Url Ġ= Ġ" https :// github . com / r anie j ade / godot - kotlin . git " ĊĠ Ġtags Ġ= ĠlistOf (" kotlin ", Ġ" godot ", Ġ" game dev ") ĊĊĠ Ġmaven Coordinates Ġ{ ĊĠĠĠ ĠgroupId Ġ= Ġ" com . github . r anie j ade " ĊĠĠĠ Ġartifact Id Ġ= Ġ" godot - kotlin - gradle - plugin " ĊĠĠĠ Ġversion Ġ= Ġ"${ project . version }" ĊĠ Ġ} Ċ } Ċ Ċ repositories Ġ{ ĊĠ Ġj center () ĊĠ Ġmaven Central () Ċ } Ċ Ċ dependencies Ġ{ ĊĠ Ġimplementation ( kotlin (" stdlib ")) ĊĠ Ġimplementation ( kotlin (" gradle - plugin ")) ĊĠ Ġimplementation ( kotlin (" gradle - plugin - api ")) ĊĠ Ġimplementation (" com . squareup : kotlin po et : 1 . 5 . 0 ") Ċ } Ċ Ċ tasks Ġ{ ĊĠ Ġval Ġprocess Resources Ġby Ġgetting ( Copy :: class ) Ġ{ ĊĠĠĠ Ġoutputs . up ToDate When Ġ{ Ġfalse Ġ} ĊĠĠĠ Ġval Ġtokens Ġ= Ġmap Of (" version " Ġto Ġversion . toString ()) ĊĠĠĠ Ġfrom (" src / main / resources ") Ġ{ ĊĠĠĠĠĠ Ġinclude (" *. properties ") ĊĠĠĠĠĠ Ġfilter < Replace Tokens >(" tokens " Ġto Ġtokens ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġval Ġsource Jar Ġby Ġcreating ( Jar :: class ) Ġ{ ĊĠĠĠ Ġarchive Base Name . set (" godot - kotlin - gradle - plugin ") ĊĠĠĠ Ġarchive Version . set ( project . version . toString ()) ĊĠĠĠ Ġarchive Classifier . set (" sources ") ĊĠĠĠ Ġfrom ( source Sets [" main "]. all Source ) ĊĠ Ġ} Ċ } Ċ Ċ if Ġ( Files . exists ( Paths . get ("$ rootDir /../ local . properties "))) Ġ{ ĊĠ Ġval Ġlocal Properties Ġ= ĠProperties () ĊĠ Ġlocal Properties . load ( FileInputStream ("$ rootDir /../ local . properties ")) ĊĠ Ġlocal Properties . forEach Ġ{ Ġprop Ġ-> Ġproject . extra . set ( prop . key Ġas ĠString , Ġprop . value ) Ġ} Ċ } Ċ Ċ var Ġrelease Mode Ġ= Ġfalse Ċ if Ġ(" $ version ". matches ( Regex ("^ \\ d + \\. \\ d + \\. \\ d + (- rc \\. \\ d + )? "))) Ġ{ ĊĠ Ġrelease Mode Ġ= Ġtrue Ċ } Ċ project . extra [" release Mode "] Ġ= Ġrelease Mode Ċ project . extra [" artifacts "] Ġ= ĠarrayOf (" godot Plugin ") Ċ Ċ publishing Ġ{ ĊĠ Ġpublications Ġ{ ĊĠĠĠ Ġval Ġgod ot Plugin Ġby Ġcreating ( Maven Publication :: class ) Ġ{ ĊĠĠĠĠĠ Ġfrom ( components . get ByName (" java ")) ĊĠĠĠĠĠ Ġartifact ( tasks . get ByName (" source Jar ")) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ Ċ apply Ġ{ ĊĠ Ġplugin ( Bin tray Publish :: class . java ) Ċ }