import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ Ċ val Ġdefault GroupName Ġ= Ġ" io . github . d se el p . kom mon " Ċ val Ġproject Version : ĠString Ġby Ġproject Ċ Ċ group Ġ= Ġdefault GroupName Ċ version Ġ= Ġproject Version Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġbase ĊĠĠĠ Ġjava ĊĠĠĠ Ġ` maven - publish ` ĊĠĠĠ Ġsigning ĊĠĠĠ Ġid (" org . jetbrains . dok ka ") Ġversion Ġ" 1 . 5 . 0 " Ġapply Ġfalse ĊĠĠĠ Ġkotlin (" jvm ") Ġversion Ġ" 1 . 5 . 3 0 " Ġapply Ġfalse ĊĠĠĠ Ġid (" com . github . john ren gel man . shadow ") Ġversion Ġ" 6 . 1 . 0 " Ġapply Ġfalse ĊĠĠĠ Ġkotlin (" plugin . serialization ") Ġversion Ġ" 1 . 5 . 3 0 " Ġapply Ġfalse Ċ } Ċ Ċ val Ġis Deploy ing To Central Ġ= ĠSystem . getenv (). containsKey (" DEPLOY _ C ENTR AL ") Ċ Ċ if Ġ( is Deploy ing To Central ) Ġprintln (" Deploy ing Ġto Ġcentral ...") Ċ val Ġexcluded Modules Ġ= ĠarrayOf (" console ", Ġ" logging ") Ċ Ċ all projects Ġ{ ĊĠĠĠ Ġgroup Ġ= Ġdefault GroupName ĊĠĠĠ Ġversion Ġ= Ġproject Version ĊĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven Central () ĊĠĠĠĠĠĠĠ Ġj center () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġapply ( plugin Ġ= Ġ" maven - publish ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" org . jetbrains . kotlin . jvm ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" signing ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" org . jetbrains . dok ka ") ĊĊĠĠĠ Ġval Ġdok ka Html Ġby Ġtasks . getting ( org . jetbrains . dok ka . gradle . D ok ka Task :: class ) ĊĊĠĠĠ Ġval Ġjavadoc Jar : ĠTask Provider < Jar > Ġby Ġtasks . register ing ( Jar :: class ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On ( dok ka Html ) ĊĠĠĠĠĠĠĠ Ġarchive Classifier . set (" javadoc ") ĊĠĠĠĠĠĠĠ Ġfrom ( dok ka Html . output Directory ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġsources Jar Ġby Ġtasks . register ing ( Jar :: class ) Ġ{ ĊĠĠĠĠĠĠĠ Ġarchive Classifier . set (" sources ") ĊĠĠĠĠĠĠĠ Ġfrom ( source Sets . main . get (). all Source ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublishing Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( excluded Modules . contains ( this @ all projects . name )) Ġreturn @ publishing ĊĠĠĠĠĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Deploy ing To Central ) Ġmaven ( url Ġ= Ġ" https :// s 0 1 . oss . son atype . org / service / local / staging / deploy / maven 2 /") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= ĠSystem . getenv (" MA VEN _ USERNAME ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= ĠSystem . getenv (" MA VEN _ PASSWORD ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġmaven Local () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregister ( this @ all projects . name , ĠMaven Publication :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( components [" kotlin "]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( javadoc Jar . get ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( sources Jar . get ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpom Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// github . com / D See LP / K om mon ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" K om mon ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . set (" K om mon , Ġa Ġsimple Ġmultip ur pose Ġframework Ġwritten Ġin ĠKotlin ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdevelopers Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" D See LP ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorganization . set (" com . github . d se el p ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorganization Url . set (" https :// www . github . com / D See LP ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicense Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" MIT ĠLICENSE ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// www . opensource . org / licenses / mit - license . php ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsc m Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconnection . set (" scm : git : git :// github . com / D See LP / K om mon . git ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Connection . set (" scm : git : git :// github . com / D See LP / K om mon . git ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// github . com / D See LP / K om mon /") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsigning Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Deploy ing To Central ) Ġreturn @ signing ĊĠĠĠĠĠĠĠ Ġuse InMemory P gp Keys ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// System . getenv (" SIGN ING _ ID "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv (" SIGN ING _ KEY "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv (" SIGN ING _ PASSWORD ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġpublishing . publications . on Each Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsign ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ sub projects Ġ{ ĊĠĠĠ Ġval Ġcompile Kotlin : ĠKotlin Compile Ġby Ġtasks ĊĠĠĠ Ġcompile Kotlin . kotlin Options Ġ{ ĊĠĠĠĠĠĠĠ Ġlanguage Version Ġ= Ġ" 1 . 5 " ĊĠĠĠĠĠĠĠ Ġj vm Target Ġ= Ġ" 1 . 8 " ĊĠĠĠĠĠĠĠ Ġfree Compiler Args Ġ= Ġfree Compiler Args Ġ+ Ġ"- X opt - in = kotlin . Requires Opt In " ĊĠĠĠ Ġ} Ċ } Ċ