/* Ċ Ġ* Ġ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 Ġaccessors . groovy Ċ import Ġaccessors . java Ċ Ċ import Ġgro ovy . lang . Missing Property Exception Ċ import Ġorg . gradle . api . internal . artifacts . publish . Default Publish Artifact Ċ import Ġorg . gradle . plugins . publish . Generate P om Ċ import Ġorg . gradle . plugins . publish . create Artifact Pattern Ċ Ċ import Ġjava . util .* Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġ` maven ` Ċ } Ċ Ċ val Ġgenerate P om Ġby Ġtasks . creating ( Generate P om :: class ) Ċ Ċ val Ġmain Ġby Ġjava . source Sets Ċ val Ġsource Jar Ġby Ġtasks . creating ( Jar :: class ) Ġ{ ĊĠĠĠ Ġclassifier Ġ= Ġ" sources " ĊĠĠĠ Ġfrom ( main . java . src Dirs Ġ+ Ġmain . groovy . src Dirs ) Ċ } Ċ Ċ configure Upload Arch ives Task ( generate P om ) Ċ Ċ artifacts Ġ{ ĊĊĠĠĠ Ġfun Ġpublish Runtime ( artifact : ĠAny ) Ġ= ĊĠĠĠĠĠĠĠ Ġadd ( generate P om . publish Runtime . name , Ġartifact ) ĊĊĠĠĠ Ġpublish Runtime ( tasks [" jar "]) ĊĠĠĠ Ġpublish Runtime ( source Jar ) ĊĠĠĠ Ġpublish Runtime ( ĊĠĠĠĠĠĠĠ ĠDefault Publish Artifact ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbase . archives Base Name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" pom ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" pom ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDate (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate P om . pom File , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate P om )) Ċ } Ċ Ċ fun ĠProject . configure Upload Arch ives Task ( generate P om : ĠGenerate P om ) Ġ{ ĊĠĠĠ Ġtasks . get ByName < Upload >(" upload Arch ives ") Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO ĠAdd Ġmagic Ġproperty Ġto Ġupcoming Ġconfiguration Ġinterface ĊĠĠĠĠĠĠĠ Ġonly If Ġ{ Ġ! project . has Property (" no Upload ") Ġ} ĊĠĠĠĠĠĠĠ Ġconfiguration Ġ= Ġgenerate P om . publish Runtime ĊĠĠĠĠĠĠĠ Ġdepends On ( generate P om ) ĊĠĠĠĠĠĠĠ Ġis Upload Descriptor Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġ// ĠTODO ĠRemove Ġonce Ġtask Ġconfiguration Ġon Ġdemand Ġis Ġavailable Ġand Ġwe Ġcan Ġenforce Ġproperties Ġat Ġtask Ġconfiguration Ġtime ĊĠĠĠĠĠĠĠ Ġfail Early If Credentials Are Not Set ( this ) ĊĊĠĠĠĠĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv y Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact Pattern ( create Artifact Pattern ( root Project . extra . get (" is Snapshot ") Ġas ĠBoolean , Ġproject . group . toString (), Ġbase . archives Base Name )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= Ġart ifactory UserName ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġart ifactory User Password ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠProject . fail Early If Credentials Are Not Set ( upload : ĠUpload ) Ġ{ ĊĠĠĠ Ġgradle . task Graph . when Ready ({ ĊĠĠĠĠĠĠĠ Ġif Ġ( has Task ( upload )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( art ifactory UserName . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠMissing Property Exception (" art ifactory UserName Ġis Ġnot Ġset !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( art ifactory User Password . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠMissing Property Exception (" art ifactory User Password Ġis Ġnot Ġset !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) Ċ } Ċ Ċ // ĠTODO ĠAdd Ġmagic Ġproperty Ġto Ġupcoming Ġconfiguration Ġinterface Ċ val ĠProject . art ifactory UserName ĊĠĠĠ Ġget () Ġ= Ġfind Property (" art ifactory UserName ") Ġas ĠString ? Ċ Ċ // ĠTODO ĠAdd Ġmagic Ġproperty Ġto Ġupcoming Ġconfiguration Ġinterface Ċ val ĠProject . art ifactory User Password ĊĠĠĠ Ġget () Ġ= Ġfind Property (" art ifactory User Password ") Ġas ĠString ? ĊĊĊ