/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 0 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . android . build . gradle . internal . services Ċ Ċ import Ġcom . android . a apt compiler . Resource Compiler Options Ċ import Ġcom . android . a apt compiler . can Compile Resource In Jvm Ċ import Ġcom . android . a apt compiler . compile Resource Ċ import Ġcom . android . build . gradle . internal . Logger Wrapper Ċ import Ġcom . android . build . gradle . internal . res . bl ame Logger For Ċ import Ġcom . android . builder . internal . a apt . A apt Convert Config Ċ import Ġcom . android . builder . internal . a apt . A apt Package Config Ċ import Ġcom . android . builder . internal . a apt . v 2 . A apt 2 Ċ import Ġcom . android . ide . common . resources . Compile Resource Request Ċ import Ġcom . android . utils . I Logger Ċ import Ġjavax . annotation . concurrent . Thread Safe Ċ Ċ /** ĠWrap s Ġan Ġ[ A apt 2 ] Ġto Ġpush Ġsome Ġcompile Ġrequests Ġto Ġthe Ġin - process Ġresource Ġcompiler Ġ*/ Ċ @ Thread Safe Ċ class ĠPartial In Process Resource Processor Ġ( val Ġdelegate : ĠA apt 2 ): ĊĠĠĠ ĠA apt 2 Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcompile ( request : ĠCompile Resource Request , Ġlogger : ĠILogger ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO ( b / 1 6 0 9 4 9 5 4 6 ): Ġmerge Ġpartial Ġr Ġsupport Ġto Ġwork Ġin Ġthe Ġsame Ġinvocation , ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrather Ġthan Ġfalling Ġback Ġto Ġcalling ĠA AP T ĊĠĠĠĠĠĠĠ Ġif Ġ( can Compile Resource In Jvm ( request . inputFile , Ġrequest . is P ng C runch ing ) Ġ&& Ġrequest . partial R File Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoptions Ġ= ĠResource Compiler Options ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpseudo localize Ġ= Ġrequest . is Pseudo Local ize , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlegacy Mode Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Path Ġ= Ġrequest . source Path , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbl ame Logger Ġ= Ġbl ame Logger For ( request , ĠLogger Wrapper . getLogger ( this :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompile Resource ( request . inputFile , Ġrequest . output Directory , Ġoptions , Ġbl ame Logger ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate . compile ( request , Ġlogger ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlink ( request : ĠA apt Package Config , Ġlogger : ĠILogger ) Ġ= Ġdelegate . link ( request , Ġlogger ) ĊĊĠĠĠ Ġoverride Ġfun Ġconvert ( request : ĠA apt Convert Config , Ġlogger : ĠILogger ) Ġ= Ġdelegate . convert ( request , logger ) Ċ } Ċ