/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠInter shop ĠCom munications ĠAG . Ċ Ġ* Ċ Ġ* Ġ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 Ġcom . inter shop . gradle . ic m . docker . extension . readme . push Ċ Ċ import Ġgro ovy . lang . Closure Ċ import Ġorg . gradle . api . Action Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . model . ObjectFactory Ċ import Ġorg . gradle . api . provider . Property Ċ import Ġorg . gradle . api . provider . Provider Ċ import Ġjavax . inject . Inject Ċ Ċ open Ġclass ĠRead me Push Configuration Ġ@ Inject Ġconstructor ( val Ġproject : ĠProject , Ġobject Factory : ĠObject Factory ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠProvider Ġfor Ġthe Ġbase Ġimage Ġof Ġthe Ġpush Ġtask . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġtool Image Provider : ĠProvider < String > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtool Image ĊĊĊĠĠĠ Ġval Ġtool Image : ĠProperty < String > Ġ= Ġobject Factory . property ( String :: class . java ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠProvider Ġfor Ġthe Ġbase Ġimage Ġof Ġthe Ġproject Ġproject . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġbase Image Name Provider : ĠProvider < String > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġbase Image Name ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreation Ġtime Ġof Ġimages Ġin Ġone Ġproject . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġbase Image Name : ĠProperty < String > Ġ= Ġobject Factory . property ( String :: class . java ) ĊĊĠĠĠ Ġval Ġimages : ĠImages Ġ= Ġobject Factory . newInstance ( Images :: class . java , Ġproject ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠConfig ures Ġimages Ġconfiguration Ġfrom Ġa Ġclosure . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġclosure ĠĠ Ġclosure Ġwith Ġan Ġimage Ġconfiguration . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Suppress (" unused ") ĊĠĠĠ Ġfun Ġimages ( closure : ĠClosure < Images >) Ġ{ ĊĠĠĠĠĠĠĠ Ġproject . configure ( images , Ġclosure ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠConfig ures Ġimages Ġconfiguration Ġfrom Ġan Ġaction . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġaction ĠĠ Ġaction Ġwith Ġan Ġimage Ġconfiguration . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġimages ( action : ĠAction < in ĠImages >) Ġ{ ĊĠĠĠĠĠĠĠ Ġaction . execute ( images ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġtool Image . convention (" ch ko / docker - push rm : 1 ") ĊĠĠĠĠĠĠĠ Ġbase Image Name . convention (" inter shop hub / ic m ") ĊĠĠĠ Ġ} Ċ } Ċ