import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . plugins . Java Plugin Convention Ċ import Ġorg . gradle . api . publish . Publishing Extension Ċ import Ġorg . gradle . api . publish . maven . Maven P om Ċ import Ġorg . gradle . api . publish . maven . Maven Publication Ċ import Ġorg . gradle . kotlin . dsl . configure Ċ import Ġorg . gradle . kotlin . dsl . creating Ċ import Ġorg . gradle . kotlin . dsl . extra Ċ import Ġorg . gradle . kotlin . dsl . get Ċ import Ġorg . gradle . kotlin . dsl . getValue Ċ import Ġorg . gradle . kotlin . dsl . provide Delegate Ċ import Ġorg . gradle . kotlin . dsl . the Ċ import Ġorg . gradle . plugins . signing . Signing Extension Ċ import Ġjava . net . URI Ċ Ċ object ĠDeployment Ġ{ ĊĠĠĠ Ġval Ġuser Ġ= ĠSystem . getenv (" SON AT YPE _ USERNAME ") ĊĠĠĠ Ġval Ġpassword Ġ= ĠSystem . getenv (" SON AT YPE _ PASSWORD ") ĊĠĠĠ Ġval Ġgithub User Ġ= ĠSystem . getenv (" GITHUB _ MA VEN _ USERNAME ") ĊĠĠĠ Ġval Ġgithub Password Ġ= ĠSystem . getenv (" GITHUB _ MA VEN _ PASSWORD ") ĊĠĠĠ Ġvar Ġrelease Mode : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġversion Suffix : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġdeploy Url : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġval Ġsnapshot Deploy Url Ġ= ĠSystem . getenv (" SON AT YPE _ SNAPSHOT S _ URL ") ĊĠĠĠĠĠĠĠ Ġ?: Ġ" https :// oss . son atype . org / content / repositories / snapshots /" ĊĠĠĠ Ġval Ġrelease Deploy Url Ġ= ĠSystem . getenv (" SON AT YPE _ RELEASE S _ URL ") ĊĠĠĠĠĠĠĠ Ġ?: Ġ" https :// oss . son atype . org / service / local / staging / deploy / maven 2 /" ĊĠĠĠ Ġval Ġgithub Deploy Url Ġ= Ġ" https :// maven . pkg . github . com / Mal in sk iy " ĊĊĠĠĠ Ġfun Ġinitialize ( project : ĠProject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrelease Mode : ĠString ? Ġby Ġproject ĊĠĠĠĠĠĠĠ Ġval Ġversion Suffix Ġ= Ġwhen Ġ( release Mode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" RELEASE " Ġ-> Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"- SNAPSHOT " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠDeployment . release Mode Ġ= Ġrelease Mode ĊĠĠĠĠĠĠĠ ĠDeployment . version Suffix Ġ= Ġversion Suffix ĊĠĠĠĠĠĠĠ ĠDeployment . deploy Url Ġ= Ġwhen Ġ( release Mode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" RELEASE " Ġ-> ĠDeployment . release Deploy Url ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠDeployment . snapshot Deploy Url ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinitialize Publishing ( project ) ĊĠĠĠĠĠĠĠ Ġinitialize Signing ( project ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinitialize Publishing ( project : ĠProject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġproject . version Ġ= ĠVersions . mar athon Ġ+ Ġversion Suffix ĊĊĠĠĠĠĠĠĠ Ġproject . plugins . apply (" maven - publish ") ĊĊĠĠĠĠĠĠĠ Ġval Ġjava Plugin Ġ= Ġproject . the ( Java Plugin Convention :: class ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsources Jar Ġby Ġproject . tasks . creating ( org . gradle . api . tasks . bund ling . Jar :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarchive Classifier . set (" sources ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( java Plugin . source Sets [" main "]. all Source ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġjavadoc Jar Ġby Ġproject . tasks . creating ( org . gradle . api . tasks . bund ling . Jar :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarchive Classifier . set (" javadoc ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( java Plugin . docs Dir ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On (" javadoc ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġproject . configure < Publishing Extension > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate (" default ", ĠMaven Publication :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDeployment . customize P om ( project , Ġpom ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( project . components [" java "]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( sources Jar ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( javadoc Jar ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Local " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Url ("${ project . rootDir }/ build / repository ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" OSS HR " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= ĠDeployment . user ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= ĠDeployment . password ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= ĠURI . create ( Deployment . deploy Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" GitHub " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= ĠDeployment . github User ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= ĠDeployment . github Password ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= ĠURI . create ( Deployment . github Deploy Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinitialize Signing ( project : ĠProject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpassphrase Ġ= ĠSystem . getenv (" G PG _ PAS SP HR ASE ") ĊĠĠĠĠĠĠĠ Ġpassphrase ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject . plugins . apply (" signing ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpublishing Ġ= Ġproject . the ( Publishing Extension :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject . configure < Signing Extension > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsign ( publishing . publications . get ByName (" default ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject . extra . set (" signing . key Id ", Ġ" 1 1 3 1 CB A 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject . extra . set (" signing . password ", Ġpassphrase ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject . extra . set (" signing . secret Key Ring File ", Ġ"${ project . root Project . rootDir }/. build system / se cr ing . gpg ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcustomize P om ( project : ĠProject , Ġpom : ĠMaven P om ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġpom ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname . set ( project . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// github . com / Mal in sk iy / mar athon ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . set (" Android Ġ& ĠiOS Ġtest Ġrunner ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicense Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" The ĠApache ĠLicense , ĠVersion Ġ 2 . 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" http :// www . apache . org / licenses / LICENSE - 2 . 0 . txt ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevelopers Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid . set (" mar athon - team ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" Mar athon Ġteam ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail . set (" ant on @ mal in sk iy . com ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsc m Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// github . com / Mal in sk iy / mar athon ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ