/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 - 2 0 2 1 ĠL ou is ĠC ogn ault ĠA y ev a ĠDer man . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense . Ċ Ġ*/ Ċ Ċ @ file : Suppress (" Spell Checking Inspection ") ĊĊ Ċ plugin Management Ġ{ ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġgradle Plugin Portal () ĊĠĠĠĠĠĠĠ Ġmaven Central () ĊĠĠĠĠĠĠĠ Ġgoogle () ĊĠĠĠ Ġ} Ċ } Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġid (" com . gradle . enterprise "). version (" 3 . 6 . 3 ") ĊĠĠĠ Ġid (" de . f ay ard . refresh Versions ") Ġversion Ġ" 0 . 1 0 . 1 " Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ# Ġavailable :" 0 . 1 1 . 0 " ĊĠĠĠ Ġid (" com . lo uis cad . complete - kotlin ") Ġversion Ġ" 1 . 0 . 0 " Ċ } Ċ Ċ gradle Enterprise Ġ{ ĊĠĠĠ Ġbuild Scan Ġ{ ĊĠĠĠĠĠĠĠ Ġterms Of Service Url Ġ= Ġ" https :// gradle . com / terms - of - service " ĊĠĠĠĠĠĠĠ Ġterms Of Service Ag ree Ġ= Ġ" yes " ĊĠĠĠ Ġ} Ċ } ĊĊĊ Ċ include Ġ{ ĊĠĠĠ Ġ" samples " Ġ{ ĊĠĠĠĠĠĠĠ Ġ" android - app "() ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" fun - packs "( children Prefix Ġ= Ġ" split ties - fun - pack - ") Ġ{ ĊĠĠĠĠĠĠĠ Ġ" android - base "() ĊĠĠĠĠĠĠĠ Ġ" android - base - with - views - dsl "() ĊĠĠĠĠĠĠĠ Ġ" android - appcompat "() ĊĠĠĠĠĠĠĠ Ġ" android - appcompat - with - views - dsl "() ĊĠĠĠĠĠĠĠ Ġ" android - material - components "() ĊĠĠĠĠĠĠĠ Ġ" android - material - components - with - views - dsl "() ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" test - helpers "() ĊĊĠĠĠ Ġval Ġcheck Publication Ġ= Ġ" check _ publication ". let Ġ{ Ġkey Ġ-> ĊĠĠĠĠĠĠĠ Ġextra . properties [ key ] Ġ?: ĠSystem . getenv ( key ) ĊĠĠĠ Ġ} Ġ== Ġ" true " ĊĊĠĠĠ Ġif Ġ( check Publication ) Ġ" tools " Ġ{ Ġ" publication - checker "() Ġ} ĊĊĠĠĠ Ġ" modules "( children Prefix Ġ= Ġ" split ties - ") Ġ{ ĊĠĠĠĠĠĠĠ Ġ" activities "() ĊĠĠĠĠĠĠĠ Ġ" alert dialog "() ĊĠĠĠĠĠĠĠ Ġ" alert dialog - appcompat "() ĊĠĠĠĠĠĠĠ Ġ" alert dialog - appcompat - coroutines "() ĊĠĠĠĠĠĠĠ Ġ" alert dialog - material "() ĊĠĠĠĠĠĠĠ Ġ" app ctx "() ĊĠĠĠĠĠĠĠ Ġ" arch - lifecycle "() ĊĠĠĠĠĠĠĠ Ġ" arch - room "() ĊĠĠĠĠĠĠĠ Ġ" bit flags "() ĊĠĠĠĠĠĠĠ Ġ" bundle "() ĊĠĠĠĠĠĠĠ Ġ" checked lazy "() ĊĠĠĠĠĠĠĠ Ġ" collections "() ĊĠĠĠĠĠĠĠ Ġ" coroutines "() ĊĠĠĠĠĠĠĠ Ġ" dimensions "() ĊĠĠĠĠĠĠĠ Ġ" exceptions "() ĊĠĠĠĠĠĠĠ Ġ" experimental "() ĊĠĠĠĠĠĠĠ Ġ" fragment args "() ĊĠĠĠĠĠĠĠ Ġ" fragments "() ĊĠĠĠĠĠĠĠ Ġ" int ents "() ĊĠĠĠĠĠĠĠ Ġ" lifecycle - coroutines "() ĊĠĠĠĠĠĠĠ Ġ" main handler "() ĊĠĠĠĠĠĠĠ Ġ" main thread "() ĊĠĠĠĠĠĠĠ Ġ" material - colors "() ĊĠĠĠĠĠĠĠ Ġ" material - lists "() ĊĠĠĠĠĠĠĠ Ġ" permissions "() ĊĠĠĠĠĠĠĠ Ġ" preferences "() ĊĠĠĠĠĠĠĠ Ġ" resources "() ĊĠĠĠĠĠĠĠ Ġ" sn ackbar "() ĊĠĠĠĠĠĠĠ Ġ" ste tho - init "() ĊĠĠĠĠĠĠĠ Ġ" system services "() ĊĠĠĠĠĠĠĠ Ġ" toast "() ĊĠĠĠĠĠĠĠ Ġ" types a fer ec y cl er view "() ĊĠĠĠĠĠĠĠ Ġ" views "() ĊĠĠĠĠĠĠĠ Ġ" views - appcompat "() ĊĠĠĠĠĠĠĠ Ġ" views - card view "() ĊĠĠĠĠĠĠĠ Ġ" views - coroutines "() ĊĠĠĠĠĠĠĠ Ġ" views - coroutines - material "() ĊĠĠĠĠĠĠĠ Ġ" views - dsl "() ĊĠĠĠĠĠĠĠ Ġ" views - dsl - appcompat "() ĊĠĠĠĠĠĠĠ Ġ" views - dsl - constraint layout "() ĊĠĠĠĠĠĠĠ Ġ" views - dsl - coordinator layout "() ĊĠĠĠĠĠĠĠ Ġ" views - dsl - ide - preview "() ĊĠĠĠĠĠĠĠ Ġ" views - dsl - material "() ĊĠĠĠĠĠĠĠ Ġ" views - dsl - recyclerview "() ĊĠĠĠĠĠĠĠ Ġ" views - material "() ĊĠĠĠĠĠĠĠ Ġ" views - recyclerview "() ĊĠĠĠĠĠĠĠ Ġ" views - selectable "() ĊĠĠĠĠĠĠĠ Ġ" views - selectable - appcompat "() ĊĠĠĠĠĠĠĠ Ġ" views - selectable - constraint layout "() ĊĠĠĠ Ġ} Ċ } Ċ Ċ // region Ġinclude ĠDSL Ċ class ĠModule Parent Scope ( ĊĠĠĠ Ġprivate Ġval Ġname : ĠString , ĊĠĠĠ Ġprivate Ġval Ġparent : ĠModule Parent Scope ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġprefix : ĠString Ċ ) Ġ{ ĊĊĠĠĠ Ġoperator Ġfun ĠString . invoke ( ĊĠĠĠĠĠĠĠ Ġchildren Prefix : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġblock : Ġ( Module Parent Scope . () Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck ( startsWith (': '). not ()) ĊĠĠĠĠĠĠĠ Ġval ĠmoduleName Ġ= Ġ": $ this " ĊĠĠĠĠĠĠĠ Ġval ĠprojectName Ġ= Ġ"$ parent al Path $ moduleName " ĊĠĠĠĠĠĠĠ Ġinclude ( projectName ) ĊĠĠĠĠĠĠĠ Ġif Ġ( prefix . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject ( projectName ). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . name Ġ= Ġ"$ prefix ${ it . name }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġblock ?. let Ġ{ Ġbuild Node Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠModule Parent Scope ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠmoduleName , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent Ġ= Ġthis @ Module Parent Scope , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefix Ġ= Ġchildren Prefix ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). build Node () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġparent al Path : ĠString Ġ= ĊĠĠĠĠĠĠĠ Ġgenerate Sequence ( this ) Ġ{ Ġit . parent Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . name Ġ}. toList (). reversed (). join ToString ("") Ċ Ċ } Ċ Ċ inline Ġfun Ġinclude ( prefix : ĠString Ġ= Ġ"", Ġblock : ĠModule Parent Scope . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ ĠModule Parent Scope ( name Ġ= Ġ"", Ġprefix Ġ= Ġprefix ). block () Ċ } Ċ // endregion Ċ