package Ġcom . k ronos . plugin . repo Ċ Ċ import Ġcom . k ronos . plugin . repo . parse . Repo Inflater Ċ import Ġcom . k ronos . plugin . repo . utils . Yaml Utils Ċ import Ġorg . gradle . Build Adapter Ċ import Ġorg . gradle . api . Plugin Ċ import Ġorg . gradle . api . initialization . Settings Ċ Ċ class ĠRepo Settings Plugin Ġ: ĠPlugin < Settings > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġapply ( settings : ĠSettings ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsettings . gradle . add Build Listener ( object Ġ: ĠBuild Adapter () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsettings Evalu ated ( settings : ĠSettings ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . settings Evalu ated ( settings ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġrepo Info Ġ= ĠYaml Utils . inflate ( settings . rootDir ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( repo Info . module Info Map . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepo Info Ġ= ĠRepo Inflater . inflate ( settings . rootDir ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( repo Info . module Info Map . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRepo Logger . info (" Repo Setting Plugin Ġstart Ġwork ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepo Info . module Info Map . forEach Ġ{ Ġ( s , Ġmodule Info ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( module Info . src Build ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRepo Logger . info ("${ module Info . name } Ġ åĬłåħ¥ äºĨ å·¥ç¨ĭ æŀĦå»º ä¸Ń Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodule Info . setting Project () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsettings . include Build ( module Info . module Git RootPath ) Ġ{ Ġconfig Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig . dependency Substitution Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( module Info . substitute ?. isNotEmpty () Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodule Info . substitute . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . substitute ( it . module ( this )). because (" Repo Ġwork ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( it . project ( module Info . project Not ation Path )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRepo Logger . info (" module :${ module Info . name } Ġ å·² åĬłåħ¥ åĪ° å·¥ç¨ĭ ä¾Ŀèµĸ Ġ, ĠåĪĨ æĶ¯ :" Ġ+ Ġmodule Info . cur Branch ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊ Ċ }