/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 , ĠO ath ĠInc . Ċ Ġ* ĠLicensed Ġunder Ġthe Ġterms Ġof Ġthe ĠMIT ĠLicense . ĠSee ĠLICENSE . md Ġfile Ġin Ġproject Ġroot Ġfor Ġterms . Ċ Ġ*/ Ċ Ċ package Ġcom . a ol . mobile . sdk . cil ib . task Ċ Ċ import Ġcom . a ol . mobile . sdk . ap itr acker . dto . as TypeDescriptor List Ċ import Ġcom . a ol . mobile . sdk . ap itr acker . utils . Pro guard Ċ import Ġorg . gradle . api . Default Task Ċ import Ġorg . gradle . api . tasks . Input File Ċ import Ġorg . gradle . api . tasks . OutputFile Ċ import Ġorg . gradle . api . tasks . Task Action Ċ import Ġorg . gradle . api . tasks . incremental . Incremental Task Inputs Ċ import Ġjava . io . File Ċ Ċ open Ġclass ĠPro guard Gen Task Ġ: ĠDefault Task () Ġ{ ĊĠĠĠ Ġ@ Input File ĊĠĠĠ Ġlateinit Ġvar Ġmanifest File : ĠFile ĊĠĠĠ Ġ@ OutputFile ĊĠĠĠ Ġlateinit Ġvar Ġpro guard File : ĠFile ĊĊĠĠĠ Ġ@ Task Action ĊĠĠĠ Ġfun Ġexecute ( inputs : ĠIncrement al Task Inputs ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( inputs . is Incremental ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject . delete ( pro guard File ) ĊĊĠĠĠĠĠĠĠ Ġinputs . out Of Date Ġ{ Ġchange Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmanifest Ġ= Ġchange . file . read Text (). as TypeDescriptor List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpro guard File . write Text ( Pro guard . generate Rules ( manifest )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinputs . removed Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pro guard File . exists ()) Ġproject . delete ( pro guard File ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ