/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠGrab tax i ĠHold ings ĠP TE ĠL TE Ġ( GR AB ) Ċ Ġ* Ċ Ġ* Ġ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 . grab . gr azel . di Ċ Ċ import Ġcom . google . common . graph . Immutable Value Graph Ċ import Ġcom . grab . gr azel . Gr azel Extension Ċ import Ġcom . grab . gr azel . di . qual ifiers . Root Project Ċ import Ġcom . grab . gr azel . gradle . Android Build Variant DataSource Ċ import Ġcom . grab . gr azel . gradle . Android Variants Extractor Ċ import Ġcom . grab . gr azel . gradle . Configuration DataSource Ċ import Ġcom . grab . gr azel . gradle . Default Android Build Variant DataSource Ċ import Ġcom . grab . gr azel . gradle . Default Android Variants Extractor Ċ import Ġcom . grab . gr azel . gradle . Default Configuration DataSource Ċ import Ġcom . grab . gr azel . gradle . Default Gradle Project Info Ċ import Ġcom . grab . gr azel . gradle . Default Repository DataSource Ċ import Ġcom . grab . gr azel . gradle . Gradle Project Info Ċ import Ġcom . grab . gr azel . gradle . Migration Checker Ċ import Ġcom . grab . gr azel . gradle . Migration Criteria Module Ċ import Ġcom . grab . gr azel . gradle . Project Dependency Graph Builder Ċ import Ġcom . grab . gr azel . gradle . Repository DataSource Ċ import Ġcom . grab . gr azel . gradle . dependencies . Dependencies Module Ċ import Ġcom . grab . gr azel . migrate . builder . Android Binary Target Builder Module Ċ import Ġcom . grab . gr azel . migrate . builder . Android Lib Target Builder Module Ċ import Ġcom . grab . gr azel . migrate . builder . Kt Android Lib Target Builder Module Ċ import Ġcom . grab . gr azel . migrate . builder . Kt Lib Target Builder Module Ċ import Ġcom . grab . gr azel . migrate . internal . Project B azel File Builder Ċ import Ġcom . grab . gr azel . migrate . internal . Root B azel File Builder Ċ import Ġcom . grab . gr azel . migrate . internal . Workspace Builder Ċ import Ġdagger . Bind s Ċ import Ġdagger . Bind s Instance Ċ import Ġdagger . Component Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . artifacts . Configuration Ċ import Ġorg . gradle . internal . logging . progress . Progress Logger Ċ import Ġorg . gradle . internal . logging . progress . Progress LoggerFactory Ċ import Ġorg . gradle . kotlin . dsl . support . service Of Ċ import Ġorg . gradle . kotlin . dsl . the Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Component ( ĊĠĠĠ Ġmodules Ġ= Ġ[ ĊĠĠĠĠĠĠĠ ĠGr azel Module :: class , ĊĠĠĠĠĠĠĠ ĠK t Lib Target Builder Module :: class , ĊĠĠĠĠĠĠĠ ĠK t Android Lib Target Builder Module :: class , ĊĠĠĠĠĠĠĠ ĠAndroid Lib Target Builder Module :: class , ĊĠĠĠĠĠĠĠ ĠAndroid Binary Target Builder Module :: class ĊĠĠĠ Ġ] Ċ ) Ċ @ Singleton Ċ internal Ġinterface ĠGr azel Component Ġ{ ĊĊĠĠĠ Ġ@ Component . Factory ĊĠĠĠ Ġinterface ĠFactory Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate (@ Bind s Instance Ġ@ Root Project Ġroot Project : ĠProject ): ĠGr azel Component ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmigration Checker (): ĠMigration Checker ĊĠĠĠ Ġfun Ġprogress Logger (): ĠProgress Logger ĊĠĠĠ Ġfun Ġgradle Project Info (): ĠGradle Project Info ĊĠĠĠ Ġfun Ġproject B azel File BuilderFactory (): ĠProject B azel File Builder . Factory ĊĠĠĠ Ġfun Ġworkspace BuilderFactory (): ĠWorkspace Builder . Factory ĊĠĠĠ Ġfun Ġroot B azel File Builder (): ĠRoot B azel File Builder Ċ } Ċ Ċ @ Module ( ĊĠĠĠ Ġincludes Ġ= Ġ[ ĊĠĠĠĠĠĠĠ ĠGr azel Module Binder :: class , ĊĠĠĠĠĠĠĠ ĠMigration Criteria Module :: class , ĊĠĠĠĠĠĠĠ ĠDependencies Module :: class ĊĠĠĠ Ġ] Ċ ) Ċ internal Ġobject ĠGr azel Module Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġ@ receiver : Root Project ĠProject . provide Gr azel Gradle Plugin Extension (): ĠGr azel Extension Ġ= Ġthe () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġ@ receiver : Root Project ĠProject . provide Progress LoggerFactory (): ĠProgress LoggerFactory Ġ= ĊĠĠĠĠĠĠĠ Ġroot Project . service Of () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun ĠProgress LoggerFactory . provide Progress Logger (): ĠProgress Logger Ġ= ĊĠĠĠĠĠĠĠ Ġnew Operation ( Gradle Project Info :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart (" Generating ĠB azel Ġscripts ", Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Dependency Graph ( builder : ĠProject Dependency Graph Builder ): ĠImmutable Value Graph < Project , ĠConfiguration > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbuilder . build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun ĠGr azel Extension . provide Android Build Variant DataSource (): ĠAndroid Build Variant DataSource Ġ= ĊĠĠĠĠĠĠĠ ĠDefault Android Build Variant DataSource ( variant Filter Ġ= Ġandroid . variant Filter ) ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun ĠGr azel Extension . provide Kotlin Configuration () Ġ= Ġrules . kotlin Ċ } Ċ Ċ @ Module Ċ internal Ġinterface ĠGr azel Module Binder Ġ{ ĊĠĠĠ Ġ@ Bind s ĊĠĠĠ Ġfun ĠDefault Gradle Project Info . bind Gradle Project In do (): ĠGradle Project Info ĊĊĠĠĠ Ġ@ Bind s ĊĠĠĠ Ġfun ĠDefault Configuration DataSource . bind Configuration DataSource (): ĠConfiguration DataSource ĊĊĠĠĠ Ġ@ Bind s ĊĠĠĠ Ġfun ĠDefault Repository DataSource . bind Repository DataSource (): ĠRepository DataSource ĊĊĠĠĠ Ġ@ Bind s ĊĠĠĠ Ġfun ĠDefault Android Variants Extractor . bind Android Variants Extractor (): ĠAndroid Variants Extractor Ċ } ĊĊĊĊ