package Ġio . piv otal . can al . extensions Ċ Ċ import Ġio . piv otal . can al . builders . Pipeline Builder Ċ import Ġio . piv otal . can al . model . Pipeline Ċ import Ġio . piv otal . can al . model . P ipelines ĊĊ Ċ fun Ġpipelines ( append Apps : ĠApp Pipeline Appender . () Ġ-> ĠUnit ): ĠP ipelines Ġ{ ĊĠĠĠ Ġval Ġapp ender Ġ= ĠApp Pipeline Appender ( P ipelines ()) ĊĠĠĠ Ġapp ender . append Apps () ĊĠĠĠ Ġreturn Ġapp ender . pipelines Ċ } Ċ Ċ class ĠApp Pipeline Appender ( var Ġpipelines : ĠP ipelines ) Ġ{ ĊĊĠĠĠ Ġfun Ġapp ( name : ĠString , Ġappend P ipelines : ĠPipeline Appender . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapp ender Ġ= ĠPipeline Appender () ĊĠĠĠĠĠĠĠ Ġapp ender . append P ipelines () ĊĠĠĠĠĠĠĠ Ġval Ġnew P ipelines Ġ= Ġapp ender . pipelines ĊĠĠĠĠĠĠĠ Ġpipelines Ġ= Ġpipelines . with P ipelines For App ( name , Ġnew P ipelines ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ class ĠPipeline Appender ( var Ġpipelines : ĠList < Pipeline > Ġ= Ġempty List ()) Ġ{ ĊĊĠĠĠ Ġfun Ġpipeline ( name : ĠString , Ġwithin Pipeline : ĠPipeline Builder . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpb Ġ= ĠPipeline Builder ( Pipeline ( name )) ĊĠĠĠĠĠĠĠ Ġpb . within Pipeline () ĊĠĠĠĠĠĠĠ Ġpipelines Ġ+= Ġpb . pipeline ĊĠĠĠ Ġ} Ċ Ċ } Ċ