/* Ċ Ġ* ĠCopyright Ġ 2 0 1 3 - 2 0 1 5 ĠE ug ene ĠPet ren ko Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . jon ny zz z . team city . plugins . node . agent Ċ Ċ import Ġjet brains . build Server . agent . Build Progress Logger Ċ import Ġjet brains . build Server . messages . Default Messages Info Ċ import Ġjet brains . build Server . agent . Build Runner Context Ċ import Ġjet brains . build Server . agent . Agent Running Build Ċ import Ġjava . io . IOException Ċ import Ġjet brains . build Server . Run Build Exception Ċ import Ġjava . io . File Ċ import Ġjava . io . File OutputStream Ċ import Ġjava . io . Buffered OutputStream Ċ import Ġjava . io . OutputStream Writer Ċ import Ġjet brains . build Server . util . File Util Ċ Ċ /** Ċ Ġ* Ġ@ author ĠE ug ene ĠPet ren ko Ġ( e ug ene . pet ren ko @ gmail . com ) Ċ Ġ* ĠDate : Ġ 1 6 . 0 8 . 1 3 Ġ 2 2 : 4 0 Ċ Ġ*/ Ċ Ċ fun ĠBuild Progress Logger . block ( name : ĠString , Ġdescription : ĠString Ġ= Ġname ): Ġ() Ġ-> ĠUnit Ġ{ ĊĠ Ġthis . log Message ( Default Messages Info . create Block Start ( name , Ġdescription , Ġ" jon ny zz z ")) ĊĊĠ Ġreturn { ĊĠĠĠ Ġthis . log Message ( Default Messages Info . create Block End ( name , Ġ" jon ny zz z ")) ĊĠ Ġ} Ċ } Ċ Ċ inline Ġfun Ġ< T > ĠAgent Running Build . logging ( f : ĠBuild Progress Logger . () Ġ-> ĠT ): ĠT Ġ= Ġbuild Logger . f () Ċ inline Ġfun Ġ< T > ĠBuild Runner Context . logging ( f : ĠBuild Progress Logger . () Ġ-> ĠT ): ĠT Ġ= Ġbuild . logging ( f ) ĊĊ Ċ /** Ċ Ġ* Ġ@ author ĠE ug ene ĠPet ren ko Ġ( e ug ene . pet ren ko @ gmail . com ) Ċ Ġ* ĠDate : Ġ 1 8 . 0 8 . 1 3 Ġ 2 2 : 3 8 Ċ Ġ*/ Ċ Ċ inline Ġfun Ġ< T > Ġio ( errorMessage : ĠString , Ġbody : Ġ() Ġ-> ĠT ): ĠT Ġ{ ĊĠ Ġtry Ġ{ ĊĠĠĠ Ġreturn Ġbody () ĊĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠ Ġthrow ĠRun Build Exception ("$ errorMessage . Ġ${ e . message }", Ġe ) ĊĠ Ġ} Ċ } Ċ Ċ fun Ġwrite UTF ( file : File , Ġtext : String ) Ġ{ ĊĠ Ġval Ġwriter Ġ= ĠOutputStream Writer ( Buffered OutputStream ( File OutputStream ( file )), Ġ" utf - 8 ") ĊĠ Ġtry Ġ{ ĊĠĠĠ Ġwriter . write ( text ) ĊĠ Ġ} Ġfinally Ġ{ ĊĠĠĠ ĠFile Util . close ( writer ) ĊĠ Ġ} Ċ } Ċ