/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 Ġthe Ġoriginal Ġauthor Ġor Ġauthors . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġgradle build Ċ Ċ import Ġaccessors . base Ċ import Ġorg . gradle . gradle build . version ing . build Version Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġ` maven - publish ` Ċ } Ċ Ċ publishing Ġ{ ĊĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate < Maven Publication >(" gradle Distribution ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( components [" java "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact Id Ġ= Ġbase . archives Base Name ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" remote " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlibs Type Ġ= Ġif Ġ( root Project . build Version . is Snapshot ) Ġ" snapshots " Ġelse Ġ" releases " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri (" https :// repo . gradle . org / gradle / libs -$ libs Type - local ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= Ġart ifactory UserName ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġart ifactory User Password ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" local " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri ( root Project . file (" build / repo ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġconfigure Publishing Tasks () Ċ } Ċ Ċ fun ĠProject . configure Publishing Tasks () Ġ{ ĊĠĠĠ Ġtasks . named (" publish Gradle Distribution Publication To Remote Repository ") Ġ{ ĊĠĠĠĠĠĠĠ Ġonly If Ġ{ Ġ! project . has Property (" no Upload ") Ġ} ĊĠĠĠĠĠĠĠ Ġfail Early If Credentials Are Not Set ( this ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġtasks . named (" publish Gradle Distribution Publication ToLocal Repository ") Ġ{ ĊĠĠĠĠĠĠĠ Ġdo First Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmodule Base Dir Ġ= Ġroot Project . file (" build / repo / org / gradle /${ base . archives Base Name }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( module Base Dir . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠMake Ġsure Ġartifacts Ġdo Ġnot Ġpile Ġup Ġlocally ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodule Base Dir . delete Re cursively () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠProject . fail Early If Credentials Are Not Set ( publish : ĠTask ) Ġ{ ĊĠĠĠ Ġgradle . task Graph . when Ready Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( has Task ( publish )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( art ifactory UserName . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠGradle Exception (" art ifactory UserName Ġis Ġnot Ġset !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( art ifactory User Password . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠGradle Exception (" art ifactory User Password Ġis Ġnot Ġset !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ val ĠProject . art ifactory UserName ĊĠĠĠ Ġget () Ġ= Ġfind Property (" art ifactory UserName ") Ġas ĠString ? Ċ Ċ val ĠProject . art ifactory User Password ĊĠĠĠ Ġget () Ġ= Ġfind Property (" art ifactory User Password ") Ġas ĠString ? ĊĊĊ