Ċ package Ġcat . helm . result . build Ċ Ċ import Ġcom . android . build . gradle . Base Extension Ċ import Ġorg . gradle . api . Named Domain Object Collection Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . kotlin . dsl . creating Ċ import Ġorg . gradle . kotlin . dsl . get Ċ import Ġorg . gradle . kotlin . dsl . getBy Type Ċ import Ġorg . gradle . kotlin . dsl . getValue Ċ import Ġorg . gradle . kotlin . dsl . getting Ċ import Ġorg . gradle . kotlin . dsl . invoke Ċ import Ġorg . gradle . kotlin . dsl . with Type Ċ import Ġorg . jetbrains . kotlin . gradle . dsl . Kotlin Multi platform Extension Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . Kotlin Target Preset Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . mpp . Kotlin Native Target Ċ import Ġorg . jetbrains . kotlin . kon an . target . Family Ċ Ċ private Ġval ĠProject . kotlin : ĠKotlin Multi platform Extension ĊĠĠĠ Ġget () Ġ= Ġextensions . getBy Type () Ċ Ċ private Ġval ĠProject . android : ĠBase Extension ĊĠĠĠ Ġget () Ġ= Ġextensions . getBy Type () Ċ Ċ fun ĠProject . standard Configuration ( ĊĠĠĠ Ġvar arg Ġpreset Names : ĠString Ġ= Ġkotlin . presets . map Ġ{ Ġit . name Ġ}. to Typed Array (), ĊĠĠĠ Ġis Test Module : ĠBoolean Ġ= Ġfalse Ċ ) Ġ{ ĊĠĠĠ Ġval Ġtarget Pre sets Ġ= Ġkotlin . presets . matching Ġ{ Ġit . name Ġin Ġpreset Names Ġ} ĊĠĠĠ Ġkotlin . build All Targets ( target Pre sets ) ĊĠĠĠ Ġandroid . configure Android Api Level () Ċ Ċ } Ċ Ċ private Ġfun ĠKotlin Multi platform Extension . build All Targets ( target Pre sets : ĠNamed Domain Object Collection < Kotlin Target Preset <* >>) Ġ{ ĊĠĠĠ Ġandroid Ġ{ ĊĠĠĠĠĠĠĠ Ġpublish All Library Variants () ĊĠĠĠ Ġ} ĊĠĠĠ Ġjs Ġ{ ĊĠĠĠĠĠĠĠ Ġbrowser () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠCreate Ġempty Ġtargets Ġfor Ġpresets Ġwith Ġno Ġspecific Ġconfiguration ĊĠĠĠ Ġtarget Pre sets . forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( it . name Ġ== Ġ" jvm With Java ") Ġreturn @ forEach Ġ// ĠProbably Ġdon 't Ġneed Ġthis , Ġand Ġit Ġch okes Ġon ĠAndroid Ġplugin ĊĠĠĠĠĠĠĠ Ġif Ġ( targets . find ByName ( it . name ) Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget From Preset ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġlink Apple Source Sets () Ċ } Ċ Ċ private Ġfun ĠKotlin Multi platform Extension . link Apple Source Sets () Ġ{ ĊĠĠĠ Ġsource Sets Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcommon Main Ġby Ġgetting ĊĠĠĠĠĠĠĠ Ġval Ġcommon Test Ġby Ġgetting ĊĠĠĠĠĠĠĠ Ġval Ġapple Main Ġby Ġcreating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( common Main ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġapple Test Ġby Ġcreating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( common Test ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġapple 6 4 Main Ġby Ġcreating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( apple Main ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġapple 6 4 Test Ġby Ġcreating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( apple Test ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġapple 3 2 Main Ġby Ġcreating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( apple Main ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġapple 3 2 Test Ġby Ġcreating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( apple Test ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠTODO Ġthis Ġis Ġjust Ġhere Ġto Ġmake Ġthe ĠIDE Ġhappy Ġ( ish ) Ġwhile Ġwe Ġwait Ġfor ĠH MP P Ġto Ġimprove ĊĠĠĠĠĠĠĠ Ġval Ġios X 6 4 Main Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin . src Dirs (* apple Main . kotlin . src Dirs . to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin . src Dirs (* apple 6 4 Main . kotlin . src Dirs . to Typed Array ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtargets ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Type < Kotlin Native Target >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. matching Ġ{ Ġit . kon an Target . family . is Apple Family Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. configure Each Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( kon an Target . architecture . bit ness Ġ== Ġ 3 2 Ġ|| Ġkon an Target . family Ġ== ĠFamily . WATCH OS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompil ations [" main "]. default Source Set . depends On ( apple 3 2 Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompil ations [" test "]. default Source Set . depends On ( apple 3 2 Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompil ations [" main "]. default Source Set . depends On ( apple 6 4 Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompil ations [" test "]. default Source Set . depends On ( apple 6 4 Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠBase Extension . configure Android Api Level () Ġ{ ĊĠĠĠ Ġcompile Sdk Version ( 2 9 ) ĊĠĠĠ Ġdefault Config Ġ{ ĊĠĠĠĠĠĠĠ Ġmin Sdk Version ( 1 5 ) ĊĠĠĠ Ġ} Ċ }