package Ġimage Ċ Ċ import Ġcom . android . ide . common . vect ord raw able . Svg 2 Vector Ċ import Ġcom . github . aj alt . cli kt . core . Cli kt Command Ċ import Ġcom . github . aj alt . cli kt . parameters . arguments . argument Ċ import Ġcom . github . aj alt . cli kt . parameters . arguments . multiple Ċ import Ġcom . github . aj alt . cli kt . parameters . types . file Ċ import Ġjava . io . File Ċ Ċ class ĠSvg To Xml Ġ: ĠCli kt Command ( ĊĠ Ġname Ġ= Ġ" svg 2 xml ", ĊĠ Ġhelp Ġ= Ġ" Con verts Ġsvg Ġfiles Ġto Ġandroid Ġxml Ġvector Ġdraw ables ." Ċ ) Ġ{ ĊĊĠ Ġprivate Ġval Ġfiles Ġby Ġargument (). file ( must Be Readable Ġ= Ġtrue ). multiple () ĊĊĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠ Ġfiles . toSet () ĊĠĠĠĠĠ Ġ. forEach Ġ{ Ġinput Ġ-> ĊĠĠĠĠĠĠĠ Ġconvert ( input ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġconvert ( input : ĠFile ) Ġ{ ĊĠĠĠ Ġrequire ( input . exists () Ġ&& Ġinput . extension Ġ== Ġ" svg ") Ġ{ ĊĠĠĠĠĠ Ġ" File Ġ$ input Ġmust Ġexist Ġand Ġbe Ġa Ġsvg Ġfile ." ĊĠĠĠ Ġ} ĊĠĠĠ Ġexecute (" sv go ", Ġinput . absolute Path , Ġ"- p ", Ġ" 1 ") ĊĠĠĠ Ġval Ġbase Name Clean ed Ġ= Ġinput . name Without Extension ĊĠĠĠĠĠ Ġ. replace ('.', Ġ'_ ') ĊĠĠĠĠĠ Ġ. replace ('- ', Ġ'_ ') ĊĠĠĠĠĠ Ġ. replace (' Ġ', Ġ'_ ') ĊĠĠĠĠĠ Ġ. lowercase () ĊĊĠĠĠ Ġval Ġxml Ġ= ĠFile ( input . parent File , Ġ"$ base Name Clean ed . xml ") ĊĊĠĠĠ Ġxml . output Stream (). use Ġ{ ĊĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠSvg 2 Vector . parse Svg To Xml ( input , Ġit ) ĊĠĠĠĠĠĠĠ Ġif Ġ( error . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġecho (" Error Ġin ĠSvg 2 Vector Ġfor Ġ$ input \ n $ error ") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġexecute (" av oc ado ", Ġxml . absolute Path ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġxml . delete () ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠUnit ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ