@ file : Suppress (" Un stable Api Usage ") Ċ Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . mpp . Kotlin Native Target Ċ import Ġjava . lang . System . getenv Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġid (" com . android . library ") ĊĠĠĠ Ġkotlin (" multi platform ") ĊĠĠĠ Ġ` maven - publish ` Ċ } Ċ Ċ android Ġ{ ĊĠĠĠ Ġcompile Sdk Ġ= Ġproject . compile Sdk ĊĠĠĠ Ġdefault Config Ġ{ ĊĠĠĠĠĠĠĠ Ġmin Sdk Ġ= Ġproject . min Sdk ĊĠĠĠĠĠĠĠ Ġversion Name Ġ= Ġ"${ project . version }" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompile Options Ġ{ ĊĠĠĠĠĠĠĠ Ġsource Compatibility ( Java Version . VERSION _ 1 _ 8 ) ĊĠĠĠĠĠĠĠ Ġtarget Compatibility ( Java Version . VERSION _ 1 _ 8 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsource Sets Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmain Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjava . src Dirs (" src / android Main / kotlin ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanifest . src File (" src / android Main / Android Manifest . xml ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres . src Dirs (" src / android Main / res ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ kotlin Ġ{ ĊĠĠĠ Ġandroid Ġ{ ĊĠĠĠĠĠĠĠ Ġpublish Library Variants (" release ") ĊĠĠĠĠĠĠĠ Ġcompil ations . all Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj vm Target Ġ= ĠJava Version . VERSION _ 1 _ 8 . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuse IR Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġios Ġ{ ĊĠĠĠĠĠĠĠ Ġbinaries . framework () ĊĠĠĠ Ġ} ĊĠĠĠ Ġsource Sets Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcommon Main Ġby Ġgetting ĊĠĠĠĠĠĠĠ Ġval Ġcommon Test Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - common ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - annotations - common ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġandroid Main Ġby Ġgetting ĊĠĠĠĠĠĠĠ Ġval Ġandroid Test Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - junit ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" junit : junit : 4 . 1 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġios Main Ġby Ġgetting ĊĠĠĠĠĠĠĠ Ġval Ġios Test Ġby Ġgetting ĊĠĠĠ Ġ} Ċ } Ċ val Ġpack For Xcode Ġby Ġtasks . creating ( Sync :: class ) Ġ{ ĊĠĠĠ Ġgroup Ġ= Ġ" build " ĊĠĠĠ Ġval Ġmode Ġ= Ġgetenv (" CONFIGURATION ") Ġ?: Ġ" DEBUG " ĊĠĠĠ Ġval Ġsdk Name Ġ= Ġgetenv (" SDK _ NAME ") Ġ?: Ġ" iph ones im ulator " ĊĠĠĠ Ġval Ġtarget Name Ġ= Ġ" ios " Ġ+ Ġif Ġ( sdk Name . startsWith (" iphone os ")) Ġ" Arm 6 4 " Ġelse Ġ" X 6 4 " ĊĠĠĠ Ġval Ġframework Ġ= Ġkotlin . targets . get ByName < Kotlin Native Target >( target Name ). binaries . get Framework ( mode ) ĊĠĠĠ Ġinputs . property (" mode ", Ġmode ) ĊĠĠĠ Ġdepends On ( framework . link Task ) ĊĠĠĠ Ġfrom ({ Ġframework . output Directory Ġ}) ĊĠĠĠ Ġinto ("$ build Dir / xcode - frameworks ") Ċ } Ċ tasks . get ByName (" build "). depends On ( pack For Xcode ) Ċ Ċ getenv (" GITHUB _ REPOSITORY ") ?. let Ġ{ ĊĠĠĠ Ġpublishing Ġ{ ĊĠĠĠĠĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" github " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri (" https :// maven . pkg . github . com /$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials ( Password Credentials :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }