package Ġio . github . de te kt . report . xml Ċ Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Det ek tion Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Finding Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Output Report Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Severity Ċ Ċ /** Ċ Ġ* ĠContains Ġrule Ġviolations Ġin Ġan ĠXML Ġformat . ĠThe Ġreport Ġfollows Ġthe Ġstructure Ġof Ġa ĠCheck style Ġreport . Ċ Ġ* ĠSee : Ġhttps :// de te kt . github . io / de te kt / configurations . html # output - reports Ċ Ġ*/ Ċ class ĠXml Output Report Ġ: ĠOutput Report () Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġending Ġ= Ġ" xml " ĊĊĠĠĠ Ġoverride Ġval Ġname Ġ= Ġ" Check style ĠXML Ġreport " ĊĊĠĠĠ Ġprivate Ġval ĠFind ing . severity Label : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġwhen Ġ( issue . severity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSeverity . Code S mell , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSeverity . Style , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSeverity . Warning , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSeverity . Maint ain ability , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSeverity . Performance Ġ-> Ġ" warning " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSeverity . Defect Ġ-> Ġ" error " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSeverity . Minor Ġ-> Ġ" info " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSeverity . Security Ġ-> Ġ" fatal " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrender ( de te ktion : ĠDet ek tion ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġs mell s Ġ= Ġde te ktion . find ings . flatMap Ġ{ Ġit . value Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġlines Ġ= ĠArrayList < String >() ĊĠĠĠĠĠĠĠ Ġlines Ġ+= Ġ"<? xml Ġversion =\" 1 . 0 \" Ġencoding =\" utf - 8 \" ?>" ĊĠĠĠĠĠĠĠ Ġlines Ġ+= Ġ"< check style Ġversion =\" 4 . 3 \"> " ĊĊĠĠĠĠĠĠĠ Ġs mell s . groupBy Ġ{ Ġit . location . file Ġ}. forEach Ġ{ Ġ( fileName , Ġfindings ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlines Ġ+= Ġ"< file Ġname =\" ${ fileName . to Xml String () }\ ">" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfindings . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlines Ġ+= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ t < error Ġline =\" ${ it . location . source . line . to Xml String ()} \"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" column =\" ${ it . location . source . column . to Xml String ()} \"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" severity =\" ${ it . severity Label . to Xml String ()} \"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" message =\" ${ it . message Or Description (). to Xml String ()} \"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" source =\" ${ " de te kt .${ it . id . to Xml String ()} "} \" Ġ/> " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). join ToString ( separator Ġ= Ġ" Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlines Ġ+= Ġ"</ file >" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlines Ġ+= Ġ"</ check style >" ĊĠĠĠĠĠĠĠ Ġreturn Ġlines . join ToString ( separator Ġ= Ġ"\ n ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠAny . to Xml String () Ġ= ĠXml Escape . escape Xml ( toString (). trim ()) Ċ } Ċ