Ċ Ċ object ĠThis Ġ{ ĊĠĠĠ Ġval Ġversion Ġ= Ġ" 1 . 8 0 " ĊĠĠĠ Ġval Ġartifact Id Ġ= Ġ" j command er " ĊĠĠĠ Ġval ĠgroupId Ġ= Ġ" com . be ust " ĊĠĠĠ Ġval Ġdescription Ġ= Ġ" Command Ġline Ġparsing Ġlibrary Ġfor ĠJava " ĊĠĠĠ Ġval Ġurl Ġ= Ġ" https :// j command er . org " ĊĠĠĠ Ġval Ġsc m Ġ= Ġ" github . com / cbe ust / j command er " ĊĊĠĠĠ Ġ// ĠShould Ġnot Ġneed Ġto Ġchange Ġanything Ġbelow ĊĠĠĠ Ġval Ġissue Management Url Ġ= Ġ" https :// $ scm / issues " Ċ } ĊĊ Ċ val Ġkotlin Version Ġ= Ġ" 1 . 3 . 5 0 " Ċ Ċ all projects Ġ{ ĊĠĠĠ Ġgroup Ġ= ĠThis . groupId ĊĠĠĠ Ġversion Ġ= ĠThis . version ĊĠĠĠ Ġapply < Maven Publish Plugin >() ĊĠĠĠ Ġtasks . with Type < Javadoc > Ġ{ ĊĠĠĠĠĠĠĠ Ġoptions Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquiet () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Level Ġ= ĠJ avadoc Output Level . QUI ET Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġj Flags Ġ= ĠlistOf ("- X doc lint : none ", Ġ" foo ") Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ"- quiet " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġkotlin Ver Ġby Ġextra Ġ{ Ġkotlin Version Ġ} Ċ Ċ build script Ġ{ ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġj center () ĊĠĠĠĠĠĠĠ Ġmaven Central () ĊĠĠĠĠĠĠĠ Ġmaven Ġ{ Ġset Url (" https :// plugins . gradle . org / m 2 ") Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ java Ġ{ ĊĠĠĠ Ġsource Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 ĊĠĠĠ Ġtarget Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 Ċ } Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġj center () ĊĠĠĠ Ġmaven Central () ĊĠĠĠ Ġmaven Ġ{ Ġset Url (" https :// plugins . gradle . org / m 2 ") Ġ} Ċ } Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġjava ĊĠĠĠ Ġ` java - library ` ĊĠĠĠ Ġ` maven - publish ` ĊĠĠĠ Ġsigning ĊĠĠĠ Ġid (" com . jfrog . bin tray ") Ġversion Ġ" 1 . 8 . 3 " Ġ// ĠDon 't Ġuse Ġ 1 . 8 . 4 , Ġcrash Ġwhen Ġpublishing Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ ĠlistOf (" org . testng : testng : 7 . 0 . 0 ") ĊĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġtest Compile ( it ) Ġ} Ċ } Ċ Ċ // Ċ // ĠRelease s : Ċ // Ġ./ gradle w Ġbin tray Upload Ġ( to ĠJ Center ) Ċ // Ġ./ gradle w Ġpublish Ġ( to ĠSon atype , Ġthen Ġgo Ġto Ġhttps :// oss . son atype . org / index . html # staging Repositories Ġto Ġpublish ) Ċ // Ċ Ċ bin tray Ġ{ ĊĠĠĠ Ġuser Ġ= Ġproject . find Property (" bin tray User ") ?. toString () ĊĠĠĠ Ġkey Ġ= Ġproject . find Property (" bin tray ApiKey ") ?. toString () ĊĠĠĠ Ġdry Run Ġ= Ġfalse ĊĠĠĠ Ġpublish Ġ= Ġfalse ĊĊĠĠĠ Ġset Public ations (" custom ") ĊĊĠĠĠ Ġwith ( pkg ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrepo Ġ= Ġ" maven " ĊĠĠĠĠĠĠĠ Ġname Ġ= ĠThis . artifactId ĊĠĠĠĠĠĠĠ Ġwith ( version ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠThis . version ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdesc Ġ= ĠThis . description ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( gpg ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsign Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġsources Jar Ġby Ġtasks . creating ( Jar :: class ) Ġ{ ĊĠĠĠ Ġgroup Ġ= ĠJava Base Plugin . DOCUMENT ATION _ GROUP ĊĠĠĠ Ġdescription Ġ= Ġ" As semb les Ġsources ĠJ AR " ĊĠĠĠ Ġarchive Classifier . set (" sources ") ĊĠĠĠ Ġfrom ( source Sets . get ByName (" main "). all Source ) Ċ } Ċ Ċ val Ġjavadoc Jar Ġby Ġtasks . creating ( Jar :: class ) Ġ{ ĊĠĠĠ Ġfrom ( tasks . javadoc ) ĊĠĠĠ Ġarchive Classifier . set (" javadoc ") Ċ } Ċ Ċ with ( publishing ) Ġ{ ĊĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate < Maven Publication >(" custom ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgroupId Ġ= ĠThis . groupId ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact Id Ġ= ĠThis . artifactId ĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġproject . version . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġafter Evaluate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( components [" java "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( sources Jar ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( javadoc Jar ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set ( This . artifactId ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . set ( This . description ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set ( This . url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicense Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" Apache ĠLicense , ĠVersion Ġ 2 . 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" http :// www . apache . org / licenses / LICENSE - 2 . 0 . txt ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġissue Management Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem . set (" Github ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set ( This . issue Management Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdevelopers Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid . set (" cbe ust ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" C ed ric ĠBe ust ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail . set (" ced ric @ be ust . com ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsc m Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconnection . set (" scm : git : git ://${ This . scm }. git ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https ://${ This . scm }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven Local () ĊĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" son atype " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġif Ġ( This . version . contains (" SNAPSHOT ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuri (" https :// oss . son atype . org / content / repositories / snapshots /") Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuri (" https :// oss . son atype . org / service / local / staging / deploy / maven 2 /") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= Ġproject . find Property (" son atype User ") Ġas ? ĠString ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġproject . find Property (" son atype Password ") Ġas ? ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" my Repo " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri (" file :// $ build Dir / repo ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ with ( signing ) Ġ{ ĊĠĠĠ Ġsign ( publishing . publications . get ByName (" custom ")) Ċ } Ċ