import Ġorg . jetbrains . kotlin . gradle . plugin . mpp . Kotlin Native Target Ċ Ċ val Ġcor outines Version Ġ= Ġ" 1 . 3 . 9 " Ċ val Ġatomic fu Version Ġ= Ġ" 0 . 1 4 . 4 " Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġkotlin (" multi platform ") Ġversion Ġ" 1 . 4 . 1 0 " ĊĠĠĠ Ġid (" org . jetbrains . dok ka ") Ġversion Ġ" 0 . 1 0 . 0 " ĊĠĠĠ Ġid (" maven - publish ") ĊĠĠĠ Ġid (" signing ") Ċ } Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġgoogle () ĊĠĠĠ Ġj center () ĊĠĠĠ Ġmaven Central () Ċ } Ċ Ċ kotlin Ġ{ ĊĠĠĠ Ġexplicit Api () ĊĠĠĠ Ġtargets Ġ{ ĊĠĠĠĠĠĠĠ Ġj vm Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompil ations . all Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj vm Target Ġ= Ġ" 1 . 8 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġjs ( BOTH ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompil ations . all Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodule Kind Ġ= Ġ" common js " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbrowser () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnodejs () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġnative Targets Ġ= Ġmutable ListOf < Kotlin Native Target >() ĊĊĠĠĠĠĠĠĠ Ġios X 6 4 Ġ{ Ġnative Targets . add ( this ) Ġ} ĊĠĠĠĠĠĠĠ Ġios Arm 6 4 Ġ{ Ġnative Targets . add ( this ) Ġ} ĊĠĠĠĠĠĠĠ Ġios Arm 3 2 Ġ{ Ġnative Targets . add ( this ) Ġ} ĊĠĠĠĠĠĠĠ Ġmac os X 6 4 Ġ{ Ġnative Targets . add ( this ) Ġ} ĊĠĠĠĠĠĠĠ Ġm ing w X 6 4 Ġ{ Ġnative Targets . add ( this ) Ġ} ĊĠĠĠĠĠĠĠ Ġlinux X 6 4 Ġ{ Ġnative Targets . add ( this ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġnative Targets . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmain Ġby Ġit . comp il ations . getting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Options . free Compiler Args Ġ= ĠlistOf ("- X use - experimental = kotlin . Experimental ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsource Sets Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcommon Main Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" org . jetbrains . kotlin x : kotlin x - coroutines - core :$ coroutines Version ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġcommon Test Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - multi platform ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" org . jetbrains . kotlin x : kotlin x - coroutines - core :$ coroutines Version ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" org . jetbrains . kotlin x : atomic fu :$ atomic fu Version ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġnative Main Ġby Ġcreating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( common Main ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġnative Test Ġby Ġcreating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( common Test ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġapple Main Ġby Ġcreating ĊĊĠĠĠĠĠĠĠ ĠlistOf (" ios X 6 4 ", Ġ" ios Arm 6 4 ", Ġ" ios Arm 3 2 ", Ġ" macos X 6 4 "). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ByName ("${ it } Main ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( apple Main ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠlistOf (" ios X 6 4 ", Ġ" ios Arm 6 4 ", Ġ" ios Arm 3 2 ", Ġ" macos X 6 4 ", Ġ" mingw X 6 4 ", Ġ" linux X 6 4 "). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ByName ("${ it } Main ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( native Main ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ByName ("${ it } Test ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( native Test ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ kotlin Ġ{ ĊĠĠĠ Ġtargets . all Ġ{ ĊĠĠĠĠĠĠĠ Ġcompil ations . all Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Options . all Warnings As Errors Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġk tl int Config Ġby Ġconfigurations . creating Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġk tl int Config (" com . p interest : kt lint : 0 . 3 7 . 2 ") Ċ } Ċ Ċ val Ġk tl int Ġby Ġtasks . register ing ( Java Exec :: class ) Ġ{ ĊĠĠĠ Ġgroup Ġ= Ġ" verification " ĊĠĠĠ Ġdescription Ġ= Ġ" Check ĠKotlin Ġcode Ġstyle ." ĊĠĠĠ Ġclasspath Ġ= Ġk tl int Config ĊĠĠĠ Ġmain Ġ= Ġ" com . p interest . kt lint . Main " ĊĠĠĠ Ġargs Ġ= ĠlistOf (" src /**/*. kt ") Ċ } Ċ Ċ val Ġk tl int format Ġby Ġtasks . register ing ( Java Exec :: class ) Ġ{ ĊĠĠĠ Ġgroup Ġ= Ġ" formatting " ĊĠĠĠ Ġdescription Ġ= Ġ" Fix ĠKotlin Ġcode Ġstyle Ġde viations ." ĊĠĠĠ Ġclasspath Ġ= Ġk tl int Config ĊĠĠĠ Ġmain Ġ= Ġ" com . p interest . kt lint . Main " ĊĠĠĠ Ġargs Ġ= ĠlistOf ("- F ", Ġ" src /**/*. kt ", Ġ"*. k ts ") Ċ } Ċ Ċ val Ġcheck Task Ġ= Ġtasks . named (" check ") Ċ check Task . configure Ġ{ ĊĠĠĠ Ġdepends On ( kt lint ) Ċ } Ċ Ċ apply (" publish . gradle ") Ċ