package Ġdev . wh yo leg . k amp . ext Ċ Ċ import Ġdev . wh yo leg . k amp .* Ċ import Ġdev . wh yo leg . k amp . configuration .* Ċ import Ġdev . wh yo leg . k amp . source .* Ċ import Ġdev . wh yo leg . k amp . source set .* Ċ import Ġdev . wh yo leg . k amp . target .* Ċ import Ġdev . wh yo leg . k amp . target . Target Ċ import Ġdev . wh yo leg . k amp . target . configuration .* Ċ import Ġorg . jetbrains . kotlin . gradle . dsl .* Ċ import Ġorg . jetbrains . kotlin . gradle . plugin .* Ċ Ċ @ K amp DSL Ċ abstract Ġclass ĠK amp Single Platform Extension < Kotlin Ext Ġ: ĠKotlin Single Target Extension , ĠT Ġ: ĠPlatform Target , ĠTO Ġ: ĠTarget Options >( ĊĠĠĠ Ġconfiguration : ĠProject Configuration ?, ĊĠĠĠ Ġprivate Ġval Ġtarget : ĠT , ĊĠĠĠ Ġprivate Ġval Ġoptions : ĠTO Ċ ) Ġ: ĠK amp Extension < Kotlin Ext >( configuration ) Ġ{ ĊĊĠĠĠ Ġfun Ġsource ( builder : ĠSource Set Builder < T >. () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsources Ġ+= ĠSource ( Multi Target ( target ), ĠSource Set Builder < T >(). apply ( builder ). data ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġoptions ( block : ĠTO . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoptions . apply ( block ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġconfigure Targets ( ext : ĠKotlin Ext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtarget Configurations Ġ+= ĠTarget Configuration ( target , Ġoptions ) ĊĠĠĠĠĠĠĠ Ġconfigure Target ( ext . target , Ġoptions ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsource Type Targets ( ext : ĠKotlin Ext , Ġsource Type : ĠSource Set Type ): ĠMap < Target , ĠKotlin Source Set > Ġ= ĊĠĠĠĠĠĠĠ Ġmap Of ( target Ġto Ġext . source Sets . maybe Create ( source Type . name )) ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Source Set ( ext : ĠKotlin Ext , Ġmulti Target : ĠMulti Target <* >, Ġsource Set Type : ĠSource Set Type ): ĠKotlin Source Set Ġ= ĊĠĠĠĠĠĠĠ Ġext . source Sets . maybe Create ( source Set Type . name ) Ċ } Ċ