plugins Ġ{ ĊĠĠĠ Ġid (" com . android . library ") ĊĠĠĠ Ġid (" maven - publish ") ĊĠĠĠ Ġkotlin (" multi platform ") ĊĠĠĠ Ġkotlin (" plugin . serialization ") Ċ } Ċ Ċ val Ġk mm Version Ġ= Ġ" 0 . 0 . 1 " Ċ version Ġ= Ġk mm Version Ċ Ċ // Ġrun Ġ. gradle w Ġassemble Ġto Ġcreate Ġthe Ġlibraries Ġfor Ġeach Ġplatform Ċ // Ġfor ĠiOS Ġ- Ġupdate Ġyour Ġpod spec Ġand Ġtag Ġyour Ġrelease Ġin Ġgit Ċ // Ġfor Ġandroid Ġ- Ġrun Ġ. gradle Ġpublish Ġmaking Ġsure Ġyou Ġmodify Ġyour ĠgroupId , Ġartifact Id , Ġand Ġversion Ġnumber Ċ Ċ // Ġmulti platform Ċ kotlin Ġ{ ĊĊĠĠĠ Ġandroid Ġ{ ĊĠĠĠĠĠĠĠ Ġpublish Library Variants (" release ", Ġ" debug ") ĊĠĠĠĠĠĠĠ Ġpublish Library Variants Group edBy Flavor Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġios X 6 4 Ġ{ ĊĠĠĠĠĠĠĠ Ġbinaries . framework Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbase Name Ġ= Ġ" iOS X - shared " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġios Arm 6 4 Ġ{ ĊĠĠĠĠĠĠĠ Ġbinaries . framework Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbase Name Ġ= Ġ" iOS Arm - shared " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsource Sets Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcommon Main Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" io . ktor : ktor - client - core : 1 . 6 . 7 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" io . ktor : ktor - client - serialization : 1 . 6 . 7 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" org . jetbrains . kotlin x : kotlin x - serialization - json : 1 . 3 . 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġandroid Main Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" stdlib ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" io . ktor : ktor - client - android : 1 . 6 . 7 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" io . ktor : ktor - utils - jvm : 1 . 6 . 7 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" io . ktor : ktor - client - core - jvm : 1 . 6 . 7 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" io . ktor : ktor - client - okhttp : 1 . 6 . 7 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġios X 6 4 Main Ġby Ġgetting ĊĠĠĠĠĠĠĠ Ġval Ġios Arm 6 4 Main Ġby Ġgetting ĊĠĠĠĠĠĠĠ Ġval Ġios Main Ġby Ġcreating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( common Main ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġios X 6 4 Main . depends On ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġios Arm 6 4 Main . depends On ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" io . ktor : ktor - client - ios : 1 . 6 . 7 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ // Ġandroid Ġapp Ċ android Ġ{ ĊĠĠĠ Ġcompile Sdk Ġ= Ġ 3 1 ĊĠĠĠ Ġsource Sets [" main "]. manifest . src File (" src / android Main / Android Manifest . xml ") ĊĠĠĠ Ġdefault Config Ġ{ ĊĠĠĠĠĠĠĠ Ġmin Sdk Ġ= Ġ 2 5 ĊĠĠĠĠĠĠĠ Ġtarget Sdk Ġ= Ġ 3 1 ĊĠĠĠ Ġ} Ċ } Ċ Ċ // Ġmaven Ġpublishing Ċ publishing Ġ{ ĊĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate < Maven Publication >(" aar ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgroupId Ġ= Ġ" com . company . group " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact Id Ġ= Ġ" project " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġk mm Version ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ("$ build Dir / outputs / aar / shared - release . aar ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom . with Xml Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdependencies Node Ġ= Ġas Node (). append Node (" dependencies ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġadd Dependency ( dep : ĠDependency , Ġscope : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dep . group Ġ== Ġnull Ġ|| Ġdep . version Ġ== Ġnull Ġ|| Ġdep . name . isEmpty () Ġ|| Ġdep . name Ġ== Ġ" un specified ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdependency Node Ġ= Ġdependencies Node . append Node (" dependency ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependency Node . append Node (" groupId ", Ġdep . group ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependency Node . append Node (" artifactId ", Ġdep . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependency Node . append Node (" version ", Ġdep . version ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependency Node . append Node (" scope ", Ġscope ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfigurations . api . get (). all Dependencies . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Dependency ( it , Ġ" compile ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfigurations . implementation . get (). all Dependencies . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Dependency ( it , Ġ" runtime ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthese Ġproperties Ġare Ġfrom Ġgradle . properties Ġ( Global ĠProperties ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri ( find Property (" VF _ MA VEN _ REPO "). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= Ġfind Property (" VF _ MA VEN _ USERNAME "). toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġfind Property (" VF _ MA VEN _ PASSWORD "). toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }