@ file : Suppress (" unused ") Ċ Ċ package Ġno . el hub . tools . autore lease Ċ Ċ import Ġno . el hub . tools . autore lease . log . Logger Ċ import Ġjava . io . File Ċ Ċ fun ĠProcess . inputStream As Text () Ġ= Ġthis . inputStream . buffered Reader (). use Ġ{ Ġit . read Text (). trim () Ġ} Ċ Ċ fun ĠProcess . inputStream As Lines () Ġ= Ġthis . inputStream . buffered Reader (). use Ġ{ Ġit . read Lines (). map Ġ{ Ġl Ġ-> Ġl . trim () Ġ} Ġ} Ċ Ċ /** Ċ Ġ* ĠClass Ġfor Ġrunning Ġnative Ġprocesses . Ċ Ġ* Ċ Ġ* Ġ@ property Ġdir Ġthe Ġworking Ġdirectory Ġof Ġthe Ġprocess Ċ Ġ*/ Ċ class ĠProc ( private Ġval Ġdir : ĠFile , Ġprivate Ġval Ġlog : ĠLogger ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠEvalu ates Ġthe Ġresult Ġof Ġ[ block ] Ġfunction Ġinvocation ĊĠĠĠĠ Ġ* Ġand Ġuses Ġthe Ġreturned Ġstring Ġas Ġan Ġinput Ġfor Ġthe Ġcommand Ġto Ġrun . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġblock Ġa Ġfunction Ġthat Ġreturns Ġa Ġstring Ġcontaining Ġthe Ġprogram Ġand Ġit 's Ġarguments ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġrun Command ( block : Ġ() Ġ-> ĠString ) Ġ= Ġrun Command ( block . invoke ()) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRuns Ġ[ command ] Ġas Ġa Ġnative Ġprocess Ġand Ġreturns Ġa Ġnew Ġ[ Process ] Ġobject Ġfor Ġmanaging Ġthe Ġsubprocess . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcommand Ġa Ġstring Ġcontaining Ġthe Ġprogram Ġand Ġit 's Ġarguments ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġrun Command ( command : ĠString ) Ġ= Ġrun Command ("/ bin / bash ", Ġ"- c ", Ġcommand ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRuns Ġa Ġnative Ġprocess Ġand Ġreturns Ġa Ġnew Ġ[ Process ] Ġobject Ġfor Ġmanaging Ġthe Ġsubprocess . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġargs Ġa Ġstring Ġarray Ġcontaining Ġthe Ġprogram Ġand Ġits Ġarguments ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġrun Command ( var arg Ġargs : ĠString ): ĠProcess Ġ= Ġlog . log gable (* args ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire NotNull ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProcess Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. command (* args ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. directory ( dir ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. redirect Error Stream ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. start () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġlog . info (" Start Ġcommand Ġprocess Ġwith Ġargs Ġ[ ${ args . join ToString (", Ġ" )} ]") Ġ} ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġ" Cannot Ġstart , Ġprocess Ġis Ġnull " Ġ} ĊĠĠĠ Ġ} Ċ } Ċ