package Ġcom . m icles workshop . docs . commands Ċ Ċ import Ġco . a ik ar . commands . Base Command Ċ import Ġco . a ik ar . commands . Command Help Ċ import Ġco . a ik ar . commands . Invalid Command Argument Ċ import Ġco . a ik ar . commands . annotation .* Ċ import Ġcom . m icles workshop . docs . Docs Plugin Ċ import Ġorg . bukkit . Chat Color Ċ import Ġorg . bukkit . Chat Color .* Ċ import Ġorg . bukkit . command . Command Sender Ċ import Ġorg . eclipse . j git . api . Git Ċ import Ġorg . eclipse . j git . api . Pull Result Ċ import Ġjava . io . File Ċ Ċ @ Suppress (" unused ") Ċ @ Command Alias (" docs admin ") Ċ @ Command Permission (" docs . admin ") Ċ class ĠDocs Admin Command ( private Ġval Ġplugin : ĠDocs Plugin ) Ġ: ĠBase Command () Ġ{ ĊĊĠĠĠ Ġ@ Help Command ĊĠĠĠ Ġfun Ġon Help (@ Suppress (" UNUSED _ PARAMETER ") Ġsender : ĠCommand Sender , Ġhelp : ĠCommand Help ) Ġ= Ġhelp . show Help () ĊĊĠĠĠ Ġ@ Sub command (" origin ") ĊĠĠĠ Ġ@ Description (" Changes Ġgit Ġorigin ĠURL Ġand Ġcl ones ") ĊĠĠĠ Ġfun Ġon Origin ( sender : ĠCommand Sender , Ġurl : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtmp Dir Ġ= Ġplugin . git Root Tmp ĊĠĠĠĠĠĠĠ Ġtmp Dir . delete Re cursively () ĠĠ Ġ// Ġdelete Ġin Ġcase Ġit Ġis Ġleft Ġover Ġfor Ġsome Ġreason ĊĠĠĠĠĠĠĠ Ġtmp Dir . mkdir s () ĊĠĠĠĠĠĠĠ Ġtmp Dir . delete On Exit () ĠĠĠĠĠĠĠ Ġ// Ġmake Ġsure Ġit 's Ġdeleted Ġwhen Ġthe Ġprogram Ġexits ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender . send Status (" Cl oning ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGit . clone Repository (). set URI ( url ). set Directory ( tmp Dir ). call (). close () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Dir . delete Re cursively () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠInvalid Command Argument (" Error Ġoccurred Ġwhile Ġattempting Ġto Ġclone : Ġ'${ e . message }'. ĠSee Ġconsole Ġfor Ġstack trace .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsender . send OK () ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender . send Status (" Copy ing Ġfiles ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( plugin . git Root . exists ()) Ġplugin . git Root . move ( plugin . git Root Old ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Dir . move ( plugin . git Root ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( plugin . git Root Old . exists ()) Ġplugin . git Root Old . delete Re cursively () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠInvalid Command Argument (" Something Ġwent Ġwrong . ĠPlease Ġsee Ġconsole .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsender . send OK () ĊĠĠĠĠĠĠĠ Ġsender . send Finish (" Changed Ġorigin Ġto Ġ$ url Ġand Ġcloned . ĠFiles : Ġ${ plugin . git Root . list ()?. join ToString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ" none "} ") ĊĠĠĠĠĠĠĠ Ġif Ġ(! File ( plugin . git Root , Ġ" docs "). exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sendMessage ("${ YELLOW } WARNING : ĠCl oned Ġrepository Ġhas Ġno Ġ' docs ' Ġfolder ! Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Will Ġnot Ġbe Ġable Ġto Ġdisplay Ġany Ġdocs . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Please Ġensure Ġthat Ġyou Ġhave Ġyour Ġrepository Ġset Ġup Ġcorrectly .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Sub command (" update ") ĊĠĠĠ Ġ@ Description (" updates Ġthe Ġrepo ") ĊĠĠĠ Ġfun ĠonUpdate ( sender : ĠCommand Sender ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgit : ĠGit ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender . send Status (" Checking Ġlocal Ġrepository ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgit Ġ= ĠGit . open ( plugin . git Root ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠInvalid Command Argument (" Failed Ġto Ġupdate : ĠError Ġwhile Ġloading Ġrepository . ĠYou Ġmay Ġhave Ġto Ġuse Ġ/ docs Ġorigin Ġfirst . ĠError : Ġ'${ e . message }'. ĠSee Ġconsole Ġfor Ġstack trace .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsender . send OK () ĊĠĠĠĠĠĠĠ Ġval Ġresult : ĠPull Result ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender . send Status (" Pull ing Ġchanges ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġgit . pull (). call () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgit . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! result . is Successful ) Ġthrow ĠException ( result . fetch Result . messages ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠInvalid Command Argument (" Failed Ġto Ġpull : Ġ${ e . message }. ĠSee Ġconsole Ġfor Ġstack trace .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsender . send OK () ĊĠĠĠĠĠĠĠ Ġsender . send Finish (" Pul led Ġchanges . ĠResult : Ġ$ result ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠFile . move ( new File : ĠFile ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Readable ( true ) ĊĠĠĠĠĠĠĠ Ġset Writable ( true ) ĊĠĠĠĠĠĠĠ Ġnew File . delete Re cursively () ĊĠĠĠĠĠĠĠ Ġrename To ( new File ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠCommand Sender . send Status ( status : ĠString ) Ġ= ĠsendMessage ("$ DARK _ A QUA $ status ...") ĊĊĠĠĠ Ġprivate Ġfun ĠCommand Sender . send OK () Ġ= ĠsendMessage ("$ GREEN Ġ-> ĠOK ") ĊĊĠĠĠ Ġprivate Ġfun ĠCommand Sender . send Finish ( message : ĠString ) Ġ= ĠsendMessage ("$ A QUA $ message ") Ċ }