/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 7 ĠF U JI ĠG oro Ġ( gfx ). Ċ Ġ* Ċ Ġ* Ġ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 Ġio . github . ret rop iler Ċ Ċ import Ġcom . android . build . gradle . App Extension Ċ import Ġcom . android . build . gradle . App Plugin Ċ import Ġorg . gradle . api . Plugin Ċ import Ġorg . gradle . api . Project Ċ Ċ class ĠRet rop iler Plugin : ĠPlugin < Project > Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDEFAULT _ USE _ RET ROL AMBDA Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġapply ( project : ĠProject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġproject . extensions . create ( Ret rop iler Extension . NAME , ĠRet rop iler Extension :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġproject . plugins . with Type ( App Plugin :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( when Ġ( project . extensions . extra Properties . has (" use Ret rol ambda ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġproject . extensions . extra Properties . get (" use Ret rol ambda ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠDEFAULT _ USE _ RET ROL AMBDA ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġas ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject . apply ( map Of (" plugin " Ġto Ġ" me . tat ark a . ret rol ambda ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġextension Ġ= Ġproject . extensions . findBy Type ( App Extension :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextension . register Transform ( Ret rop iler Transform ( project )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Released ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject . dependencies . add (" compile ", Ġ" io . github . ret rop iler : ret rop iler - runtime :${ version () }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject . dependencies . add (" compile ", Ġproject . root Project . project (": runtime ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Released (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġjava Class . get Package (). implementation Version Ġ!= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġversion (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġjava Class . get Package (). implementation Version ĊĠĠĠ Ġ} Ċ } Ċ