package Ġorg . jetbrains . web wiz . generator Ċ Ċ import Ġorg . jetbrains . web wiz . generator . files . Module Build Gradle Ċ import Ġorg . jetbrains . web wiz . generator . files . Settings Gradle Ċ import Ġorg . jetbrains . web wiz . models . Gradle Plugin Ċ import Ġorg . jetbrains . web wiz . models . K mp Library Ċ import Ġorg . jetbrains . web wiz . models . Kotlin Version Ċ import Ġorg . jetbrains . web wiz . models . Project Info Ċ import Ġorg . jetbrains . web wiz . models . Target .* Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals ĊĊ Ċ internal Ġclass ĠProject Builder Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Generated Structure () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproject Info Ġ= ĠProject Info ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" wizard - test ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" sdk ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" my . sdk . package ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKotlin Version . Stable , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( JVM , ĠJS , ĠIOS , ĠAND ROID ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġempty Set (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( Gradle Plugin . PUBL ISH ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġproject Info . generate (). join ToString ("\ n ") Ġ{ Ġit . path Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġexpect Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. gitignore ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle w ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle . bat ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle / wrapper / gradle - wrapper . properties ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle / wrapper / gradle - wrapper . jar ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild . gradle . k ts ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsettings . gradle . k ts ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgradle . properties ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsdk / build . gradle . k ts ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsdk / src / common Main / kotlin / my / sdk / package / Platform . kt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsdk / src / jvm Main / kotlin / my / sdk / package / Platform . kt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsdk / src / android Main / kotlin / my / sdk / package / Platform . kt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsdk / src / js Main / kotlin / my / sdk / package / Platform . kt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsdk / src / ios Main / kotlin / my / sdk / package / Platform . kt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsdk / src / android Main / Android Manifest . xml ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsdk / src / common Test / kotlin / my / sdk / package / Common Test . kt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsdk / src / jvm Test / kotlin / my / sdk / package / Platform Test . kt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsdk / src / android Test / kotlin / my / sdk / package / Platform Test . kt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsdk / src / js Test / kotlin / my / sdk / package / Platform Test . kt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsdk / src / ios Test / kotlin / my / sdk / package / Platform Test . kt ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ ĠassertEquals ( expect , Ġactual ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Generated Build Config () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproject Info Ġ= ĠProject Info ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" wizard - test ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" sdk ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" my . sdk . package ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKotlin Version . E AP , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( JVM , ĠJS , ĠIOS , ĠAND ROID ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( K mp Library . SERIAL IZATION , ĠK mp Library . SQL DEL IGHT _ DRIVER _ NATIVE ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( Gradle Plugin . PUBL ISH ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġproject Info . generate (). first Ġ{ Ġit Ġis ĠModule Build Gradle Ġ}. content ĊĠĠĠĠĠĠĠ Ġval Ġexpect Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplugins Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin (" multi platform ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin (" plugin . serialization ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid (" com . android . library ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ` maven - publish ` ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* Ġrequired Ġfor Ġmaven Ġpublication Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Ġ= Ġ" my . sdk . package " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġ" 0 . 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj vm () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbrowser () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnodejs () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios X 6 4 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios Arm 6 4 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios Simulator Arm 6 4 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Sets Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠMain Ġsource Ġsets Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcommon Main Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" org . jetbrains . kotlin x : kotlin x - serialization - json : 1 . 3 . 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġj vm Main Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġandroid Main Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjs Main Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġios Main Ġby Ġcreating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" com . squareup . sql de light : native - driver : 1 . 5 . 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġios X 6 4 Main Ġby Ġgetting ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġios Arm 6 4 Main Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġios Simulator Arm 6 4 Main Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠMain Ġhierarchy Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj vm Main . depends On ( common Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Main . depends On ( common Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjs Main . depends On ( common Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios Main . depends On ( common Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios X 6 4 Main . depends On ( ios Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios Arm 6 4 Main . depends On ( ios Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios Simulator Arm 6 4 Main . depends On ( ios Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠTest Ġsource Ġsets Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcommon Test Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġj vm Test Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġandroid Test Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjs Test Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġios Test Ġby Ġcreating ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġios X 6 4 Test Ġby Ġgetting ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġios Arm 6 4 Test Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġios Simulator Arm 6 4 Test Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠTest Ġhierarchy Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj vm Test . depends On ( common Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Test . depends On ( common Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjs Test . depends On ( common Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios Test . depends On ( common Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios X 6 4 Test . depends On ( ios Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios Arm 6 4 Test . depends On ( ios Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios Simulator Arm 6 4 Test . depends On ( ios Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompile Sdk Ġ= Ġ 3 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Sets [" main "]. manifest . src File (" src / android Main / Android Manifest . xml ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Config Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin Sdk Ġ= Ġ 2 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Sdk Ġ= Ġ 3 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ ĠassertEquals ( expect , Ġactual ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Generated Build Config With Common Native () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproject Info Ġ= ĠProject Info ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" wizard - test ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" sdk ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" my . sdk . package ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKotlin Version . E AP , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( JVM , ĠIOS , ĠLIN UX , ĠMAC OS , ĠAND ROID ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( K mp Library . KER MIT _ LOGGER , ĠK mp Library . COR OUT IN ES , ĠK mp Library . KT OR _ CLIENT _ IOS , ĠK mp Library . SQL DEL IGHT _ DRIVER _ NATIVE ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( Gradle Plugin . PUBL ISH , ĠGradle Plugin . APPLICATION ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġproject Info . generate (). first Ġ{ Ġit Ġis ĠModule Build Gradle Ġ}. content ĊĠĠĠĠĠĠĠ Ġval Ġexpect Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplugins Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin (" multi platform ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid (" com . android . library ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ` maven - publish ` ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* Ġrequired Ġfor Ġmaven Ġpublication Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Ġ= Ġ" my . sdk . package " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġ" 0 . 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj vm () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios X 6 4 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios Arm 6 4 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios Simulator Arm 6 4 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlinux X 6 4 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmac os X 6 4 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmac os Arm 6 4 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Sets Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠMain Ġsource Ġsets Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcommon Main Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" co . touch lab : ker mit : 1 . 0 . 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" org . jetbrains . kotlin x : kotlin x - coroutines - core : 1 . 6 . 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnative Main Ġby Ġcreating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" com . squareup . sql de light : native - driver : 1 . 5 . 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġj vm Main Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġandroid Main Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġios Main Ġby Ġcreating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" io . ktor : ktor - client - ios : 2 . 0 . 0 - beta - 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlinux Main Ġby Ġcreating ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmac os Main Ġby Ġcreating ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġios X 6 4 Main Ġby Ġgetting ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġios Arm 6 4 Main Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġios Simulator Arm 6 4 Main Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlinux X 6 4 Main Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmac os X 6 4 Main Ġby Ġgetting ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmac os Arm 6 4 Main Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠMain Ġhierarchy Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Main . depends On ( common Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj vm Main . depends On ( common Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Main . depends On ( common Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios Main . depends On ( native Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios X 6 4 Main . depends On ( ios Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios Arm 6 4 Main . depends On ( ios Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios Simulator Arm 6 4 Main . depends On ( ios Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlinux Main . depends On ( native Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlinux X 6 4 Main . depends On ( linux Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmac os Main . depends On ( native Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmac os X 6 4 Main . depends On ( macos Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmac os Arm 6 4 Main . depends On ( macos Main ) ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠTest Ġsource Ġsets Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcommon Test Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnative Test Ġby Ġcreating ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġj vm Test Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġandroid Test Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġios Test Ġby Ġcreating ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlinux Test Ġby Ġcreating ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmac os Test Ġby Ġcreating ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġios X 6 4 Test Ġby Ġgetting ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġios Arm 6 4 Test Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġios Simulator Arm 6 4 Test Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlinux X 6 4 Test Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmac os X 6 4 Test Ġby Ġgetting ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmac os Arm 6 4 Test Ġby Ġgetting ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠTest Ġhierarchy Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Test . depends On ( common Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj vm Test . depends On ( common Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Test . depends On ( common Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios Test . depends On ( native Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios X 6 4 Test . depends On ( ios Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios Arm 6 4 Test . depends On ( ios Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġios Simulator Arm 6 4 Test . depends On ( ios Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlinux Test . depends On ( native Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlinux X 6 4 Test . depends On ( linux Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmac os Test . depends On ( native Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmac os X 6 4 Test . depends On ( macos Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmac os Arm 6 4 Test . depends On ( macos Test ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompile Sdk Ġ= Ġ 3 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Sets [" main "]. manifest . src File (" src / android Main / Android Manifest . xml ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Config Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin Sdk Ġ= Ġ 2 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Sdk Ġ= Ġ 3 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ ĠassertEquals ( expect , Ġactual ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Generated Settings Gradle () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproject Info Ġ= ĠProject Info ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" New ĠProject ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" module ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" my . sdk . package ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKotlin Version . E AP , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( JVM , ĠJS , ĠIOS , ĠAND ROID ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( K mp Library . SERIAL IZATION ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( Gradle Plugin . PUBL ISH ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġproject Info . generate (). first Ġ{ Ġit Ġis ĠSettings Gradle Ġ}. content ĊĠĠĠĠĠĠĠ Ġval Ġexpect Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplugin Management Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgoogle () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgradle Plugin Portal () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaven Central () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot Project . name Ġ= Ġ" New _ Project " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinclude (": module ") ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ ĠassertEquals ( expect , Ġactual ) ĊĠĠĠ Ġ} Ċ Ċ }