package Ġio . deep media . tools . publisher Ċ Ċ import Ġio . deep media . tools . publisher . bin tray . Bin tray Publication Ċ import Ġio . deep media . tools . publisher . bin tray . Bin tray Handler Ċ import Ġio . deep media . tools . publisher . common . Default Publication Ċ import Ġio . deep media . tools . publisher . local . Local Publication Ċ import Ġio . deep media . tools . publisher . local . Local Handler Ċ import Ġio . deep media . tools . publisher . son atype . Son atype Publication Ċ import Ġio . deep media . tools . publisher . son atype . Son atype Handler Ċ import Ġorg . gradle . api . Named Domain Object Container Ċ Ċ open Ġclass ĠPublisher Extension Ġ: ĠPublic ation Ġby ĠDefault Publication (" default ") Ġ{ ĊĠĠĠ Ġinternal Ġlateinit Ġvar Ġpublications : ĠNamed Domain Object Container < Publication > ĊĠĠĠ Ġinternal Ġlateinit Ġvar Ġconfigured Public ations : ĠNamed Domain Object Container < Publication > ĊĊĠĠĠ Ġfun Ġbin tray ( name : ĠString Ġ= Ġ" bin tray ", Ġconfigure : ĠB intr ay Publication . () Ġ-> ĠUnit Ġ= Ġ{} ): ĠNothing ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġerror (" Bin tray Ġpublications Ġare Ġnot Ġallowed Ġanymore ") ĊĊĠĠĠ Ġfun Ġdirectory ( name : ĠString Ġ= ĠLocal Handler . PREFIX , Ġconfigure : ĠLocal Publication . () Ġ-> ĠUnit Ġ= Ġ{}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġadd ( Local Handler . PREFIX , Ġname , Ġconfigure ) ĊĊĠĠĠ Ġfun Ġson atype ( name : ĠString Ġ= ĠSon atype Handler . PREFIX , Ġconfigure : ĠSon atype Publication . () Ġ-> ĠUnit Ġ= Ġ{}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġadd ( Son atype Handler . PREFIX , Ġname , Ġconfigure ) ĊĊĠĠĠ Ġprivate Ġinline Ġfun Ġ< re ified ĠP Ġ: ĠPublic ation > Ġadd ( prefix : ĠString , Ġname : ĠString , Ġconfigure : ĠP . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpublication Name Ġ= Ġif Ġ(! name . startsWith ( prefix )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ prefix }${ name . capitalize () }" ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġname ĊĠĠĠĠĠĠĠ Ġval Ġpublication Ġ= Ġpublications . create ( publication Name ) Ġas ĠP ĊĠĠĠĠĠĠĠ Ġconfigure . invoke ( publication ) ĊĠĠĠĠĠĠĠ Ġconfigured Public ations . add ( publication ) ĊĠĠĠ Ġ} Ċ }