import Ġcom . android . build . gradle . Base Extension Ċ import Ġcom . android . build . gradle . Library Extension Ċ import Ġcom . jfrog . bin tray . gradle . Bin tray Extension Ċ import Ġcom . jfrog . bin tray . gradle . tasks . Recording Copy Task Ċ import Ġorg . jfrog . gradle . plugin . art ifactory . dsl . Art ifactory Plugin Convention Ċ import Ġorg . jfrog . gradle . plugin . art ifactory . dsl . Double Delegate Wrapper Ċ import Ġorg . jfrog . gradle . plugin . art ifactory . dsl . Publisher Config Ċ import Ġorg . jfrog . gradle . plugin . art ifactory . task . Art ifactory Task Ċ Ċ build script Ġ{ ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġgoogle () ĊĠĠĠĠĠĠĠ Ġj center () ĊĠĠĠĠĠĠĠ Ġmaven Local () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠ Ġclasspath ( Config . Plugins . android ) ĊĠĠĠĠĠĠĠ Ġclasspath ( Config . Plugins . kotlin ) ĊĠĠĠĠĠĠĠ Ġclasspath ( Config . Plugins . google ) ĊĠĠĠĠĠĠĠ Ġclasspath ( Config . Plugins . bin tray ) ĊĠĠĠĠĠĠĠ Ġclasspath ( Config . Plugins . build Info ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġ` build - scan ` Ġversion Ġ" 1 . 1 6 " ĊĠĠĠ Ġid (" com . github . ben - man es . versions ") Ġversion Ġ" 0 . 2 0 . 0 " Ċ } Ċ Ċ build Scan Ġ{ ĊĠĠĠ Ġset Terms Of Service Url (" https :// gradle . com / terms - of - service ") ĊĠĠĠ Ġset Terms Of Service Ag ree (" yes ") Ċ } Ċ Ċ // ĠSee Ġhttps :// github . com / gradle / kotlin - dsl / issues / 6 0 7 # issuecomment - 3 7 5 6 8 7 1 1 9 Ċ sub projects Ġ{ Ġparent !!. path . take If Ġ{ Ġit Ġ!= Ġroot Project . path Ġ} ?. let Ġ{ Ġevaluation Dep ends On ( it ) Ġ} Ġ} Ċ Ċ all projects Ġ{ ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġgoogle () ĊĠĠĠĠĠĠĠ Ġj center () ĊĠĠĠĠĠĠĠ Ġmaven Local () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ(( group Ġas ĠString ). isNotEmpty () Ġ&& Ġname Ġ!= Ġ" lint " Ġ&& Ġname Ġ!= Ġ" internal ") Ġ{ ĊĠĠĠĠĠĠĠ Ġconfigure Android () ĊĠĠĠĠĠĠĠ Ġconfigure Quality () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Config . sub modules . contains ( name ) Ġ|| Ġis Library ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Publishing () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks . with Type < Wrapper >(). configure Each Ġ{ ĊĠĠĠ Ġdistribution Type Ġ= ĠWrapper . Distribution Type . ALL Ċ } Ċ Ċ val ĠProject . config Dir Ġget () Ġ= Ġ"$ rootDir / library / quality " Ċ val ĠProject . reports Dir Ġget () Ġ= Ġ"$ build Dir / reports " Ċ Ċ /** Ċ Ġ* ĠDetermines Ġif Ġa ĠProject Ġis Ġthe Ġ' library ' Ġmodule Ċ Ġ*/ Ċ val ĠProject . is Library Ġget () Ġ= Ġname Ġ== Ġ" library " Ċ Ċ /** Ċ Ġ* ĠReturns Ġthe Ġmaven Ġartifact Ġname Ġfor Ġa ĠProject . Ċ Ġ*/ Ċ val ĠProject . artifact Name Ġget () Ġ= Ġif Ġ( is Library ) Ġ" firebase - ui " Ġelse Ġ" firebase - ui -$ name " Ċ Ċ /** Ċ Ġ* ĠReturns Ġthe Ġname Ġfor Ġa ĠProject 's Ġmaven Ġpublication . Ċ Ġ*/ Ċ val ĠProject . publication Name Ġget () Ġ= Ġif Ġ( is Library ) Ġ" mon ol ith Library " Ġelse Ġ"${ name } Library " Ċ Ċ fun ĠProject . configure Android () Ġ{ ĊĠĠĠ Ġif Ġ( name Ġ== Ġ" app " Ġ|| Ġname Ġ== Ġ" pro guard - tests ") Ġ{ ĊĠĠĠĠĠĠĠ Ġapply ( plugin Ġ= Ġ" com . android . application ") ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġapply ( plugin Ġ= Ġ" com . android . library ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconfigure < Base Extension > Ġ{ ĊĠĠĠĠĠĠĠ Ġcompile Sdk Version ( Config . Sdk Versions . compile ) ĊĊĠĠĠĠĠĠĠ Ġdefault Config Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin Sdk Version ( Config . Sdk Versions . min ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Sdk Version ( Config . Sdk Versions . target ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion Name Ġ= ĠConfig . version ĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion Code Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresource Prefix (" f ui _ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvector Draw ables . use Support Library Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlint Options Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Obsolete Lint Custom Check ", Ġ// ĠB utter Kn ife Ġwill Ġfix Ġthis Ġin Ġv 9 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Icon Expected Size ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Invalid Package ", Ġ// ĠFire store Ġuses ĠGRPC Ġwhich Ġmakes Ġlint Ġmad ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" New er Version Available ", Ġ" Gradle Dependency ", Ġ// ĠFor Ġreproducible Ġbuilds ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Selectable Text ", Ġ" Synt hetic Accessor ", Ġ// ĠWe Ġalmost Ġnever Ġcare Ġabout Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Missing Translation " Ġ// ĠTODO Ġremove Ġin Ġfuture ĠPR ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Check All Warnings Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Warnings As Errors Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Abort OnError Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbaseline File Ġ= Ġfile ("$ config Dir / lint - baseline . xml ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhtml Output Ġ= Ġfile ("$ reports Dir / lint - results . html ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġxml Output Ġ= Ġfile ("$ reports Dir / lint - results . xml ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠProject . configure Quality () Ġ{ ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" check style ") ĊĊĠĠĠ Ġconfigure < Check style Extension > Ġ{ Ġtool Version Ġ= Ġ" 8 . 1 0 . 1 " Ġ} ĊĠĠĠ Ġtasks . named (" check "). configure Ġ{ Ġdepends On (" check style ") Ġ} ĊĊĠĠĠ Ġtasks . register < Check style >(" check style ") Ġ{ ĊĠĠĠĠĠĠĠ Ġconfig File Ġ= Ġfile ("${ project . config Dir }/ check style . xml ") ĊĠĠĠĠĠĠĠ Ġsource (" src ") ĊĠĠĠĠĠĠĠ Ġinclude (" ** /*. java ") ĊĠĠĠĠĠĠĠ Ġexclude (" **/ gen /** ") ĊĠĠĠĠĠĠĠ Ġclasspath Ġ= Ġfiles () ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠProject . setup Publishing () Ġ{ ĊĠĠĠ Ġval Ġsources Jar Ġ= Ġtasks . register < Jar >(" sources Jar ") Ġ{ ĊĠĠĠĠĠĠĠ Ġclassifier Ġ= Ġ" sources " ĊĠĠĠĠĠĠĠ Ġfrom ( project . the < Base Extension >(). source Sets [" main "]. java . src Dirs ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġjavadoc Ġ= Ġtasks . register < Javadoc >(" javadoc ") Ġ{ ĊĠĠĠĠĠĠĠ Ġset Source ( project . the < Base Extension >(). source Sets [" main "]. java . src Dirs ) ĊĠĠĠĠĠĠĠ Ġclasspath Ġ+= Ġfiles ( project . the < Base Extension >(). boot Classpath ) ĊĊĠĠĠĠĠĠĠ Ġproject . the < Library Extension >(). library Variants . configure Each Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( assemble ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclasspath Ġ+= Ġfiles (( java Compiler Ġas ĠAbstract Compile ). classpath ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠIgnore Ġwarnings Ġabout Ġincomplete Ġdocumentation ĊĠĠĠĠĠĠĠ Ġ( options Ġas ĠStandard Javadoc Doc let Options ). add String Option (" X doc lint : none ", Ġ"- quiet ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġjavadoc Jar Ġ= Ġtasks . register < Jar >(" javadoc Jar ") Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On ( javadoc ) ĊĠĠĠĠĠĠĠ Ġclassifier Ġ= Ġ" javadoc " ĊĠĠĠĠĠĠĠ Ġfrom ( javadoc . get (). destination Dir ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġartifacts . add (" archives ", Ġjavadoc Jar ) ĊĠĠĠ Ġartifacts . add (" archives ", Ġsources Jar ) ĊĊĠĠĠ Ġafter Evaluate Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Library ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtasks . register (" test All ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On (* Config . sub modules . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ": $ it : test Debug UnitTest " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtasks . register (" prepare Artifacts ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( javadoc Jar , Ġsources Jar , Ġ" assemble Release ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On (" generate P om File For Mon ol ith Library Publication ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On (* Config . sub modules . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ": $ it : prepare Artifacts " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtasks . register (" publish All To Maven Local ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On (" publish Mon ol ith Library Publication To Maven Local ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On (* Config . sub modules . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ": $ it : publish ${ it . capitalize ()} Library Publication To Maven Local " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtasks . register (" publish All To Custom Local ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On (" publish Mon ol ith Library Publication To Custom Local Repository ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On (* Config . sub modules . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ": $ it : publish ${ it . capitalize ()} Library Publication To Custom Local Repository " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtasks . register (" bin tray Upload All ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On (" bin tray Upload ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On (* Config . sub modules . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ": $ it : bin tray Upload " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpom Task Ġ= Ġ" generate P om File For ${ name . capitalize ()} Library Publication " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtasks . register (" prepare Artifacts ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( javadoc Jar , Ġsources Jar , Ġ" assemble Release ", Ġpom Task ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtasks . named (" bin tray Upload "). configure Ġ{ Ġdepends On (" prepare Artifacts ") Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġapply ( plugin Ġ= Ġ" maven - publish ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" com . jfrog . art ifactory ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" com . jfrog . bin tray ") ĊĊĠĠĠ Ġconfigure < Publishing Extension > Ġ{ ĊĠĠĠĠĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Custom Local " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠBy Ġpassing Ġ- P custom _ local =/ some / path Ġand Ġrunning Ġthe ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġpublish Library Publication To Custom Local Repository Ġtask Ġyou Ġcan Ġpublish Ġthis Ġlibrary Ġto Ġa ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcustom Ġmaven Ġrepository Ġlocation Ġon Ġyour Ġmachine . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri ( properties [" custom _ local "] Ġ?: Ġ"/ tmp /") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Build Local " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri ("$ build Dir / repo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠWe Ġneed Ġto Ġoverride Ġthe Ġvariables Ġ' group ' Ġand Ġ' version ' Ġon Ġthe Ġ' Project ' Ġobject Ġin Ġorder ĊĠĠĠĠĠĠĠ Ġ// Ġto Ġprevent Ġthe Ġbin tray Ġplugin Ġfrom Ġcreating Ġ' un specified ' Ġartifacts . ĊĠĠĠĠĠĠĠ Ġval ĠgroupName Ġ= Ġ" com . firebase ui " ĊĠĠĠĠĠĠĠ Ġgroup Ġ= ĠgroupName ĊĠĠĠĠĠĠĠ Ġversion Ġ= ĠConfig . version ĊĊĠĠĠĠĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate < Maven Publication >( publication Name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgroupId Ġ= ĠgroupName ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact Id Ġ= Ġartifact Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= ĠConfig . version ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrelease A ar Ġ= Ġ"$ build Dir / outputs / aar /${ project . name }- release . aar " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Creating Ġmaven Ġpublication Ġ'$ publication Name ' ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ ĠGroup : Ġ$ groupName ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ ĠArtifact : Ġ$ artifact Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ ĠVersion : Ġ$ version ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ ĠA ar : Ġ$ release A ar ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Margin ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( release A ar ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( javadoc Jar . get ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( sources Jar . get ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpom Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" Firebase UI Ġ${ project . name . capitalize () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . set (" Firebase ĠUI Ġfor ĠAndroid ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// github . com / firebase / Firebase UI - Android ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorganization Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" Firebase ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// github . com / firebase ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsc m Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsc m Url Ġ= Ġ" scm : git : git @ github . com / firebase / firebase ui - android . git " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconnection . set ( scm Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Connection . set ( scm Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set ( this @ pom . url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtag . set (" HEAD ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdevelopers Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid . set (" sam tst ern ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" Sam ĠS tern ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail . set (" sam st ern @ google . com ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorganization . set (" Firebase ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorganization Url . set (" https :// firebase . google . com ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroles . set ( listOf (" Project - Administrator ", Ġ" Developer ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimezone . set ("- 8 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid . set (" SUPER CI LEX ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" Alex ĠSave au ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail . set (" save au . alex andre @ gmail . com ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroles . set ( listOf (" Developer ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimezone . set ("- 8 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicense Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" The ĠApache ĠLicense , ĠVersion Ġ 2 . 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// www . apache . org / licenses / LICENSE - 2 . 0 . txt ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Xml Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġas Node (). append Node (" dependencies "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun ĠDependency . write ( scope : ĠString ) Ġ= Ġappend Node (" dependency "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend Node (" groupId ", Ġgroup ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend Node (" artifactId ", Ġif Ġ( group Ġ== ĠgroupName ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" firebase - ui -$ name " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend Node (" version ", Ġversion ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend Node (" scope ", Ġscope ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( dependency Ġin Ġconfigurations [" api "]. dependencies ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependency . write (" compile ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( dependency Ġin Ġconfigurations [" implementation "]. dependencies ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependency . write (" runtime ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtasks . matching Ġ{ ĊĠĠĠĠĠĠĠ Ġit . name . contains (" publish ") Ġ&& Ġit . name . contains (" publication ", Ġtrue ) ĊĠĠĠ Ġ}. configure Each Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On (" assemble Release ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġbin tray Username Ġ= Ġproperties [" bin tray User "] Ġas ĠString ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠSystem . getProperty (" BIN TR AY _ USER ") Ġ?: ĠSystem . getenv (" BIN TR AY _ USER ") ĊĠĠĠ Ġval Ġbin tray Key Ġ= Ġproperties [" bin tray Key "] Ġas ĠString ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠSystem . getProperty (" BIN TR AY _ KEY ") Ġ?: ĠSystem . getenv (" BIN TR AY _ KEY ") ĊĊĠĠĠ Ġconfigure < Art ifactory Plugin Convention > Ġ{ ĊĠĠĠĠĠĠĠ Ġset Context Url (" https :// oss . jfrog . org ") ĊĠĠĠĠĠĠĠ Ġpublish ( closure Of < Publisher Config > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository ( closure Of < Double Delegate Wrapper > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvoke Method (" set Repo Key ", Ġ" oss - snapshot - local ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvoke Method (" set Username ", Ġbin tray Username ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvoke Method (" set Password ", Ġbin tray Key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtasks . with Type < Art ifactory Task >(). configure Each Ġ{ Ġpublications ( publication Name ) Ġ} ĊĊĠĠĠ Ġconfigure < Bin tray Extension > Ġ{ ĊĠĠĠĠĠĠĠ Ġuser Ġ= Ġbin tray Username ĊĠĠĠĠĠĠĠ Ġkey Ġ= Ġbin tray Key ĊĠĠĠĠĠĠĠ Ġset Public ations ( publication Name ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠWhen Ġuploading , Ġmove Ġand Ġrename Ġthe Ġgenerated ĠPO M ĊĠĠĠĠĠĠĠ Ġval Ġpom Src Ġ= Ġ"$ build Dir / publications /$ publication Name / pom - default . xml " ĊĠĠĠĠĠĠĠ Ġval Ġpom Dest Ġ= Ġ" com / firebase ui /$ artifact Name /${ Config . version }/ " ĊĠĠĠĠĠĠĠ Ġval Ġpom Name Ġ= Ġ"$ artifact Name -${ Config . version }. pom " ĊĊĠĠĠĠĠĠĠ Ġval Ġpub Log : Ġ( String ) Ġ-> ĠString Ġ= Ġ{ Ġname Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpublishing Ġ= Ġproject . extensions ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getBy Type ( Publishing Extension :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. publications [ name ] Ġas ĠMaven Publication ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"' $ name ': Ġ${ publishing . artifacts }" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlogger . info (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| Bin tray Ġconfiguration Ġfor Ġ'$ publication Name ' ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ ĠArtifact Ġname : Ġ$ artifact Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ ĠArtifact s : Ġ${ publications . join ToString ( transform Ġ= Ġpub Log )} ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin ()) ĊĠĠĠĠĠĠĠ Ġlogger . info (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| PO M Ġtransformation ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ ĠSrc : Ġ$ pom Src ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ ĠDest : Ġ$ pom Dest ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ ĠName : Ġ$ pom Name ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin ()) ĊĊĠĠĠĠĠĠĠ Ġfiles Spec ( closure Of < Recording Copy Task > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( pom Src ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinto ( pom Dest ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrename ( Kotlin Closure 1 < String , ĠString >({ Ġpom Name Ġ})) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġpkg ( closure Of < Bin tray Extension . Package Config > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepo Ġ= Ġ" firebase - ui " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġartifact Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser Org Ġ= Ġ" firebase ui " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset License s (" Apache - 2 . 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv cs Url Ġ= Ġ" https :// github . com / firebase / Firebase UI - Android . git " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion ( closure Of < Bin tray Extension . Version Config > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠConfig . version ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ