package Ġcom . me leg y . link ester Ċ Ċ import Ġcom . android . build . gradle . Library Extension Ċ import Ġcom . android . build . gradle . App Extension Ċ import Ġcom . android . build . gradle . Base Extension Ċ import Ġcom . android . build . gradle . api . Android Base Plugin Ċ import Ġcom . android . build . gradle . api . Base Variant Ċ import Ġorg . gradle . api . Plugin Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . Gradle Exception Ċ import Ġorg . gradle . api . Domain Object Set Ċ import Ġjava . util . Locale Ċ Ċ internal Ġclass ĠLink ester Plugin Ġ: ĠPlugin < Project > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġapply ( project : ĠProject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġconfigured Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġproject . plugins . with Type ( Android Base Plugin :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfigured Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure Link ester ( project ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġproject . after Evaluate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( configured ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" The ĠLink ester ĠAndroid ĠGradle Ġplugin Ġcan Ġonly Ġbe Ġapplied Ġto Ġan ĠAndroid Ġproject ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconfigure Link ester ( project : ĠProject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġextension Ġ= Ġproject . extension ĊĠĠĠĠĠĠĠ Ġval Ġvariants Ġ= Ġextension . variants ĊĊĠĠĠĠĠĠĠ Ġvariants . all Ġ{ Ġvariant Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( variant . build Type . isDebug gable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoutput Dir Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject . file ("${ project . build Dir }/ generated / res / link ester /${ variant . dir Name }") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtask Ġ= Ġproject . tasks ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" process ${ variant . name . capitalize ( Locale . EN GL ISH )} Link ester ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLink ester Deep Links Collector Task :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtask . intermediate Dir Ġ= Ġoutput Dir ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvariant . register Generated Res Folders ( project . files ( output Dir ). built By ( task )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval ĠProject . extension : ĠBase Extension ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġproject . extensions . findBy Type ( Base Extension :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow Ġerror (" Project Ġ$ name Ġis Ġnot Ġan ĠAndroid Ġproject .") ĊĊĠĠĠ Ġprivate Ġval ĠBase Extension . variants : ĠDomain Object Set < out ĠBase Variant > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠApp Extension Ġ-> Ġapplication Variants ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLibrary Extension Ġ-> Ġlibrary Variants ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠGradle Exception (" Unsupported ĠBase Extension Ġtype ! Ġ${ java Class :: getSimpleName }") ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ