@ file : Suppress (" Un stable Api Usage ") Ċ Ċ package Ġcom . aut onomous apps . tasks Ċ Ċ import Ġcom . aut onomous apps . TASK _ GROUP _ DEP Ċ import Ġcom . aut onomous apps . internal . utils . toJson Ċ import Ġcom . aut onomous apps . internal . utils . to Pretty String Ċ import Ġorg . gradle . api . Default Task Ċ import Ġorg . gradle . api . artifacts . Configuration Ċ import Ġorg . gradle . api . artifacts . Project Dependency Ċ import Ġorg . gradle . api . file . Regular File Property Ċ import Ġorg . gradle . api . tasks .* Ċ Ċ @ Cache able Task Ċ abstract Ġclass ĠAb i Analysis Aggregate Report Task Ġ: ĠDefault Task () Ġ{ ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġgroup Ġ= ĠTASK _ GROUP _ DEP ĊĠĠĠ Ġdescription Ġ= Ġ" Ag greg ates ĠABI Ġanalysis Ġreports Ġacross Ġall Ġsub projects " ĊĠ Ġ} ĊĊĠ Ġ@ get : Path Sensitive ( Path Sensitivity . REL ATIVE ) ĊĠ Ġ@ get : Input Files ĊĠ Ġlateinit Ġvar Ġabi Reports : ĠConfiguration ĊĊĠ Ġ@ get : OutputFile ĊĠ Ġabstract Ġval Ġproject Report : ĠRegular File Property ĊĊĠ Ġ@ get : OutputFile ĊĠ Ġabstract Ġval Ġproject Report Pretty : ĠRegular File Property ĊĊĠ Ġ@ Task Action ĊĠ Ġfun Ġaction () Ġ{ ĊĠĠĠ Ġ// ĠOutputs ĊĠĠĠ Ġval Ġproject Report File Ġ= Ġproject Report . get (). as File ĊĠĠĠ Ġval Ġproject Report Pretty File Ġ= Ġproject Report Pretty . get (). as File ĊĠĠĠ Ġ// ĠCleanup Ġprior Ġexecution ĊĠĠĠ Ġproject Report File . delete () ĊĠĠĠ Ġproject Report Pretty File . delete () ĊĊĠĠĠ Ġval Ġabi Analysis Reports Ġ= Ġabi Reports . dependencies . map Ġ{ Ġdependency Ġ-> ĊĠĠĠĠĠ Ġval Ġpath Ġ= Ġ( dependency Ġas ĠProject Dependency ). dependency Project . path ĊĊĠĠĠĠĠ Ġval Ġabi List Ġ= Ġabi Reports . file Collection ( dependency ). single File . read Lines () ĊĊĠĠĠĠĠ Ġpath Ġto Ġabi List ĊĠĠĠ Ġ}. toMap () ĊĊĠĠĠ Ġproject Report File . write Text ( abi Analysis Reports . toJson ()) ĊĠĠĠ Ġproject Report Pretty File . write Text ( abi Analysis Reports . to Pretty String ()) ĊĊĠĠĠ Ġlogger . debug (" ABI Ġreport ĠĠĠĠĠ Ġ: Ġ${ project Report File . path }") ĊĠĠĠ Ġlogger . debug ("( pretty - print ed ): Ġ${ project Report Pretty File . path }") ĊĠ Ġ} Ċ } Ċ