plugins Ġ{ ĊĠĠĠ Ġkotlin (" multi platform ") Ġversion Ġ" 1 . 4 . 3 0 " ĊĊĠĠĠ Ġid (" org . jl le its ch uh . gradle . kt lint ") Ġversion Ġ" 1 0 . 0 . 0 " ĊĠĠĠ Ġid (" com . ad ar shr . test - logger ") Ġversion Ġ" 2 . 1 . 1 " ĊĠĠĠ Ġid (" net . rd rei . android . build time tracker ") Ġversion Ġ" 0 . 1 1 . 0 " ĊĊĠĠĠ Ġ` maven - publish ` ĊĠĠĠ Ġsigning ĊĠĠĠ Ġid (" io . code arte . nexus - staging ") Ġversion Ġ" 0 . 2 2 . 0 " ĊĊĠĠĠ Ġid (" org . jetbrains . dok ka ") Ġversion Ġ" 1 . 4 . 2 0 " Ċ } Ċ Ċ object ĠVersions Ġ{ ĊĠĠĠ Ġconst Ġval ĠK tor Ġ= Ġ" 1 . 5 . 1 " ĊĠĠĠ Ġconst Ġval ĠJson Kt Ġ= Ġ" 6 . 0 . 2 " ĊĠĠĠ Ġconst Ġval Ġuuid Ġ= Ġ" 0 . 2 . 3 " ĊĠĠĠ Ġconst Ġval ĠKotlin x Datetime Ġ= Ġ" 0 . 1 . 1 " ĊĊĠĠĠ Ġconst Ġval Ġcrypto _ js Ġ= Ġ" 4 . 0 . 0 " ĊĊĠĠĠ Ġconst Ġval ĠJ Unit Ġ= Ġ" 5 . 7 . 0 " ĊĊĠĠĠ Ġconst Ġval ĠKotlin Logging Ġ= Ġ" 2 . 0 . 4 " ĊĠĠĠ Ġconst Ġval ĠLog back Ġ= Ġ" 1 . 2 . 3 " ĊĠĠĠ Ġconst Ġval Ġj ansi Ġ= Ġ" 1 . 1 8 " Ċ } Ċ Ċ object ĠLibraries Ġ{ ĊĠĠĠ Ġconst Ġval ĠJ Unit J upiter Ġ= Ġ" org . junit . jupiter : junit - jupiter :${ Versions . JUnit }" ĊĠĠĠ Ġconst Ġval ĠLog back Core Ġ= Ġ" ch . qos . log back : log back - core :${ Versions . Log back }" ĊĠĠĠ Ġconst Ġval ĠLog back Classic Ġ= Ġ" ch . qos . log back : log back - classic :${ Versions . Log back }" ĊĠĠĠ Ġconst Ġval ĠJ ansi Ġ= Ġ" org . fuse source . j ansi : j ansi :${ Versions . j ansi }" ĊĊĠĠĠ Ġval ĠExperimental Annotations Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠ Ġ" kotlin . Experimental Unsigned Types " ĊĠĠĠ Ġ) Ċ } Ċ Ċ object ĠPublic ations Ġ{ ĊĠĠĠ Ġconst Ġval ĠGroup Id Ġ= Ġ" blue . st arry " ĊĠĠĠ Ġconst Ġval ĠO SS RH Profile GroupId Ġ= Ġ" blue . st arry . json kt " ĊĠĠĠ Ġconst Ġval ĠDescription Ġ= Ġ" A Ġtook kit Ġof ĠFIN AL ĠF ANT ASY ĠX IV Ġfor ĠKotlin " ĊĠĠĠ Ġconst Ġval ĠGitHub Username Ġ= Ġ" hor os cope - dev " ĊĠĠĠ Ġconst Ġval ĠGitHub Repository Ġ= Ġ" Ger olt " ĊĊĠĠĠ Ġconst Ġval ĠLicense Name Ġ= Ġ" The ĠMIT ĠLicence " ĊĠĠĠ Ġconst Ġval ĠLicense Url Ġ= Ġ" https :// opensource . org / licenses / MIT " ĊĊĠĠĠ Ġconst Ġval ĠDeveloper Id Ġ= Ġ" hor os cope - dev " ĊĠĠĠ Ġconst Ġval ĠDeveloper Name Ġ= Ġ" Hor os cope " ĊĠĠĠ Ġconst Ġval ĠDeveloper Email Ġ= Ġ" contact @ hor os cope . dev " ĊĠĠĠ Ġconst Ġval ĠDeveloper Organization Ġ= Ġ" Hor os cope " ĊĠĠĠ Ġconst Ġval ĠDeveloper Organization Url Ġ= Ġ" https :// github . com / hor os cope - dev " ĊĊĠĠĠ Ġconst Ġval ĠMaven Central Staging Repository Url Ġ= Ġ" https :// oss . son atype . org / service / local / staging / deploy / maven 2 " ĊĠĠĠ Ġconst Ġval ĠMaven Central Snapshot Repository Url Ġ= Ġ" https :// oss . son atype . org / content / repositories / snapshots " ĊĠĠĠ Ġconst Ġval ĠGitHub Packages Repository Url Ġ= Ġ" https :// maven . pkg . github . com /$ GitHub Username /$ GitHub Repository " Ċ } Ċ Ċ object ĠEnv Ġ{ ĊĠĠĠ Ġconst Ġval ĠVersion Ġ= Ġ" VERSION " ĊĊĠĠĠ Ġconst Ġval ĠO SS RH Profile Id Ġ= Ġ" OSS RH _ PROFILE _ ID " ĊĠĠĠ Ġconst Ġval ĠO SS RH Username Ġ= Ġ" OSS RH _ USERNAME " ĊĠĠĠ Ġconst Ġval ĠO SSR HP assword Ġ= Ġ" OSS RH _ PASSWORD " ĊĊĠĠĠ Ġconst Ġval ĠGitHub Username Ġ= Ġ" GITHUB _ USERNAME " ĊĠĠĠ Ġconst Ġval ĠGitHub Password Ġ= Ġ" GITHUB _ PASSWORD " ĊĊĠĠĠ Ġconst Ġval ĠSign ing KeyId Ġ= Ġ" SIGN ING _ KEY ID " ĊĠĠĠ Ġconst Ġval ĠSign ing Key Ġ= Ġ" SIGN ING _ KEY " ĊĠĠĠ Ġconst Ġval ĠSign ing Password Ġ= Ġ" SIGN ING _ PASSWORD " Ċ } Ċ Ċ /* Ċ Ġ* ĠDependencies Ċ Ġ*/ Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Central () ĊĠĠĠ Ġ// Ġfor Ġdok ka ĊĠĠĠ Ġj center () Ċ } Ċ Ċ kotlin Ġ{ ĊĠĠĠ Ġ// Ġexplicit Api () ĊĊĠĠĠ Ġj vm Ġ{ ĊĠĠĠĠĠĠĠ Ġcompil ations . all Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Options . jvm Target Ġ= ĠJava Version . VERSION _ 1 _ 8 . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsource Sets Ġ{ ĊĠĠĠĠĠĠĠ Ġcommon Main Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcommon Test Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - common ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - annotations - common ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġnamed (" jvm Main ") Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġnamed (" jvm Test ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( kotlin (" test - junit 5 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( Libraries . JUnit J upiter ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( Libraries . Log back Core ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( Libraries . Log back Classic ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( Libraries . J ansi ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtargets . all Ġ{ ĊĠĠĠĠĠĠĠ Ġcompil ations . all Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠapiVersion Ġ= Ġ" 1 . 4 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlanguage Version Ġ= Ġ" 1 . 4 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġall Warnings As Errors Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverbose Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsource Sets . all Ġ{ ĊĠĠĠĠĠĠĠ Ġlanguage Settings . progress ive Mode Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ ĠLibraries . Experimental Annotations . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlanguage Settings . use Experimental Annotation ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /* Ċ Ġ* ĠTests Ċ Ġ*/ Ċ Ċ kt lint Ġ{ ĊĠĠĠ Ġverbose . set ( true ) ĊĠĠĠ Ġoutput To Console . set ( true ) ĊĠĠĠ Ġreport ers Ġ{ ĊĠĠĠĠĠĠĠ Ġreporter ( org . jl le its ch uh . gradle . kt lint . reporter . Reporter Type . CHECK STYLE ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġignore Failures . set ( true ) Ċ } Ċ Ċ build time tracker Ġ{ ĊĠĠĠ Ġreport ers Ġ{ ĊĠĠĠĠĠĠĠ Ġregister (" summary ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptions [" ordered "] Ġ= Ġ" true " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptions [" bar style "] Ġ= Ġ" ascii " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptions [" short en Task Names "] Ġ= Ġ" false " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks . with Type < Test > Ġ{ ĊĠĠĠ Ġuse JUnit Platform () ĊĊĠĠĠ Ġtest Logging Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Standard Streams Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġevents (" passed ", Ġ" failed ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest logger Ġ{ ĊĠĠĠĠĠĠĠ Ġtheme Ġ= Ġcom . ad ar shr . gradle . test logger . theme . Theme Type . MO CHA _ PAR ALLEL ĊĠĠĠ Ġ} Ċ } Ċ Ċ /* Ċ Ġ* ĠPublish ing Ċ Ġ*/ Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġregister < Jar >(" k doc Jar ") Ġ{ ĊĠĠĠĠĠĠĠ Ġfrom ( dok ka Html ) ĊĠĠĠĠĠĠĠ Ġdepends On ( dok ka Html ) ĊĠĠĠĠĠĠĠ Ġarchive Classifier . set (" javadoc ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ publishing Ġ{ ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Son atype " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( System . getenv ( Env . Version ). or Empty (). endsWith ("- SNAPSHOT ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPublic ations . Maven Central Snapshot Repository Url ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPublic ations . Maven Central Staging Repository Url ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= ĠSystem . getenv ( Env . OSS RH Username ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= ĠSystem . getenv ( Env . OSS R HP assword ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" GitHub Packages " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri ( Public ations . GitHub Packages Repository Url ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= ĠSystem . getenv ( Env . GitHub Username ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= ĠSystem . getenv ( Env . GitHub Password ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublications . with Type < Maven Publication > Ġ{ ĊĠĠĠĠĠĠĠ ĠgroupId Ġ= ĠPublic ations . GroupId ĊĠĠĠĠĠĠĠ Ġartifact Id Ġ= Ġwhen Ġ( name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" kotlin Multi platform " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot Project . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ root Project . name }- $ name " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġversion Ġ= ĠSystem . getenv ( Env . Version ) ĊĊĠĠĠĠĠĠĠ Ġpom Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname . set ( artifactId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . set ( Public ations . Description ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// github . com /${ Public ations . GitHub Username }/${ Public ations . GitHub Repository }") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicense Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set ( Public ations . License Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set ( Public ations . License Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevelopers Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid . set ( Public ations . Developer Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set ( Public ations . Developer Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail . set ( Public ations . Developer Email ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorganization . set ( Public ations . Developer Organization ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorganization Url . set ( Public ations . Developer Organization Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsc m Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// github . com /${ Public ations . GitHub Username }/${ Public ations . GitHub Repository }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġartifact ( tasks [" k doc Jar "]) ĊĠĠĠ Ġ} Ċ } Ċ Ċ signing Ġ{ ĊĠĠĠ Ġset Required Ġ{ Ġgradle . task Graph . has Task (" publish ") Ġ} ĊĠĠĠ Ġsign ( publishing . publications ) ĊĊĠĠĠ Ġif Ġ( System . getenv ( Env . Signing Key ) Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" Un stable Api Usage ") ĊĠĠĠĠĠĠĠ Ġuse InMemory P gp Keys ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv ( Env . Signing KeyId ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv ( Env . Signing Key ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv ( Env . Signing Password ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ nexus Staging Ġ{ ĊĠĠĠ Ġpackage Group Ġ= ĠPublic ations . OSS RH Profile GroupId ĊĠĠĠ Ġstaging Profile Id Ġ= ĠSystem . getenv ( Env . OSS RH Profile Id ) ĊĠĠĠ Ġusername Ġ= ĠSystem . getenv ( Env . OSS RH Username ) ĊĠĠĠ Ġpassword Ġ= ĠSystem . getenv ( Env . OSS R HP assword ) Ċ } Ċ