package Ġinfo . digital po et . gradle . docker Ċ Ċ import Ġorg . gradle . api . tasks . Task Action Ċ import Ġjavax . annotation . Nullable Ċ Ċ /** Ġ<!-- ĠDocumentation Ġfor : Ġinfo . digital po et . gradle . docker . Docker Tag Ġon Ġ 4 / 0 9 / 1 8 Ġ--> Ċ Ġ* Ċ Ġ* Ġ@ author ĠAr an ĠMon cus ÃŃ ĠRam ÃŃ rez Ċ Ġ*/ Ċ open Ġclass ĠDocker Tag : ĠDocker Base Task () Ċ { ĊĠĠĠ Ġ// ~ ĠConstants Ġ================================================================= ================================ ===== ĊĊĠĠĠ Ġ// ~ ĠValues Ġ================================================================= ================================ ======== ĊĊĠĠĠ Ġ// ~ ĠProperties Ġ================================================================= ================================ ==== ĊĊĠĠĠ Ġ@ get : Nullable ĊĠĠĠ Ġvar Ġsource Image : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġtags : ĠList < String >? Ġ= Ġnull ĊĊĠĠĠ Ġ// ~ ĠConstructors Ġ================================================================= ================================ == ĊĊĠĠĠ Ġ// ~ ĠOpen ĠMethods Ġ================================================================= ================================ == ĊĊĠĠĠ Ġ// ~ ĠMethods Ġ================================================================= ================================ ======= ĊĊĠĠĠ Ġfun Ġtags ( tags : ĠCollection < String > ?) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . tags Ġ= Ġtags ?. toList () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtags ( tags : ĠArray < String > ?) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . tags Ġ= Ġtags ?. toList () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Task Action ĊĠĠĠ Ġfun Ġprepare Tag () ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( source Image Ġ== Ġnull Ġ&& Ġ! build Hash . exists ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Need Ġa Ġsource Image Ġprop Ġor Ġbuild Ġa Ġdocker Ġimage Ġwith ĠBuild Docker Ġtask ") ĊĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġsource Image Ġ?: Ġbuild Hash . read Text () ĊĊĠĠĠĠĠĠĠ Ġprintln (" Tag Ġsource : Ġ$ source ") ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( tag Ġin Ġtags !! ) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Tag Ġa Ġdocker Ġimage : Ġsource : Ġ$ source Ġ- Ġtarget : Ġ$ tag ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmake Tag ( source , Ġtag ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmake Tag ( source : ĠString , Ġtarget : ĠString ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġbash (" docker ", Ġ" tag ", Ġsource , Ġtarget )() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġ" Docker ĠTag Ġfailed , Ġexited Ġwith Ġresult : Ġ$ exit Code Ġand Ġmessage :\ n ${ get Standard Error () }" Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ~ ĠOperators Ġ================================================================= ================================ ===== Ċ } Ċ