plugins Ġ{ ĊĠĠĠ Ġid (" com . bm us ch ko . docker - remote - api ") Ġversion Ġ"{ project - version }" Ċ } Ċ Ċ import Ġcom . bm us ch ko . gradle . docker . tasks . Abstract Docker Remote Api Task Ċ import Ġcom . bm us ch ko . gradle . docker . tasks . image . Docker Pull Image Ċ Ċ // Ġtag :: task - type - usage [] Ċ val Ġimage Id For Name Ġby Ġtasks . creating ( Docker Image Id For Name :: class ) Ġ{ ĊĠĠĠ Ġfiltered Image Name . set (" alpine : 3 . 4 ") Ċ } Ċ Ċ val Ġprint Image Id Ġby Ġtasks . creating Ġ{ ĊĠĠĠ Ġdepends On ( image Id For Name ) ĊĠĠĠ Ġdo Last Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . quiet (" Resolved Ġimage ĠID Ġ${ image Id For Name . image Id . get ()} Ġfor Ġname Ġ${ image Id For Name . filtered Image Name . get () }") ĊĠĠĠ Ġ} Ċ } Ċ // Ġend :: task - type - usage [] Ċ Ċ val Ġpull Image Ġby Ġtasks . creating ( Docker Pull Image :: class ) Ġ{ ĊĠĠĠ Ġrepository . set (" alpine ") ĊĠĠĠ Ġtag . set (" 3 . 4 ") Ċ } Ċ Ċ image Id For Name . depends On ( pull Image ) Ċ Ċ // Ġtag :: task - type - definition [] Ċ open Ġclass ĠDocker Image Id For Name Ġ: ĠAbstract Docker Remote Api Task Ġ{ ĊĠĠĠ Ġ@ Input ĊĠĠĠ Ġval Ġfiltered Image Name Ġ: ĠProperty < String > Ġ= Ġproject . objects . property ( String :: class ) ĊĊĠĠĠ Ġ@ Internal ĊĠĠĠ Ġval Ġimage Id Ġ: ĠProperty < String > Ġ= Ġproject . objects . property ( String :: class ) ĊĊĠĠĠ Ġconstructor () Ġ{ ĊĠĠĠĠĠĠĠ Ġon Next ( Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . with Gro ovy Builder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Id . set ( getProperty (" id ") Ġas ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrun Remote Command ( docker Client : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdocker Client . with Gro ovy Builder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Images Cmd Ġ= Ġinvoke Method (" list Images Cmd ", ĠarrayOf ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Images Cmd . with Gro ovy Builder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvoke Method (" with Image Name Filter ", ĠarrayOf ( filtered Image Name . get ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimages Ġ= Ġinvoke Method (" exec ", ĠarrayOf ()) Ġas ĠList < *> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( image Ġin Ġimages ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Handler . execute ( image ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ // Ġend :: task - type - definition [] Ċ