/** Ċ Ġ* ĠCreated Ġby Ġapp com Ġinteractive ĠGmbH Ġon Ġ 2 0 1 9 - 0 8 - 2 4 . Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 9 Ġapp com Ġinteractive ĠGmbH . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ Ċ package Ġde . nan og i ants . gradle . metrics Ċ Ċ import Ġde . nan og i ants . gradle . base . Metric Ċ import Ġde . nan og i ants . gradle . entities . write . J aco co Out Entity Ċ import Ġde . nan og i ants . gradle . entities . write . Value Entity Ċ import Ġde . nan og i ants . gradle . map pers . J aco co Mapper Ċ import Ġorg . gradle . api . Project Ċ import Ġjava . io . File Ċ Ċ class ĠJ aco co Metric ( val Ġproject : ĠProject , Ġval Ġis Android Module : ĠBoolean ) Ġ: ĠMetric ( ĊĠ ĠNAME , Ġ"/ build / reports / jac oco " Ċ ) Ġ{ ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠ Ġconst Ġval ĠNAME Ġ= Ġ" jac oco " ĊĊĠĠĠ Ġobject ĠTypes Ġ{ ĊĊĠĠĠĠĠ Ġconst Ġval ĠIN STR UCTION Ġ= Ġ" INSTR UCTION " ĊĠĠĠĠĠ Ġconst Ġval ĠB RANCH Ġ= Ġ" BRANCH " ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġfile (): ĠFile Ġ= Ġfile Directory () ĊĊĠ Ġoverride Ġfun Ġmap (): ĠJ aco co Out Entity Ġ{ ĊĠĠĠ Ġval Ġj aco co File Ġ= Ġif Ġ( is Android Module ) Ġ{ ĊĠĠĠĠĠ Ġval Ġtest Task Ġ= ĊĠĠĠĠĠĠĠ Ġproject . tasks . filter Ġ{ Ġit . name . startsWith (" test ") Ġ&& Ġit . name . contains (" Debug UnitTest ") Ġ}. to Typed Array () ĊĠĠĠĠĠĠĠĠĠ Ġ. first () ĊĠĠĠĠĠ Ġval Ġname Ġ= Ġtest Task . name . capitalize () ĊĊĠĠĠĠĠ ĠFile ( file (), Ġ" jac oco ${ name } Report / jac oco ${ name } Report . xml ") ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ ĠFile ( file (), Ġ" test / jac oco Test Report . xml ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġinstruction Ġ= ĠValue Entity ( 0 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠ Ġvar Ġbranch Ġ= ĠValue Entity ( 0 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĊĠĠĠ Ġif Ġ( jac oco File . exists ()) Ġ{ ĊĠĠĠĠĠ Ġval Ġentity Ġ= ĠJ aco co Mapper (). to Model ( jac oco File ) ĊĠĠĠĠĠ Ġwith ( entity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcounters . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . type Ġ== ĠTypes . INSTR UCTION ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinstruction Ġ= ĠValue Entity ( it . covered Ġ+ Ġit . missed , Ġit . covered , Ġit . missed ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . type Ġ== ĠTypes . BRANCH ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbranch Ġ= ĠValue Entity ( it . covered Ġ+ Ġit . missed , Ġit . covered , Ġit . missed ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn ĠJ aco co Out Entity ( entity . name , Ġinstruction , Ġbranch ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn ĠJ aco co Out Entity ( NAME , Ġinstruction , Ġbranch ) ĊĠ Ġ} Ċ }