grim/convey
Clone
Summary
Browse
Changes
Graph
move the tasks.Task interface to runtime.Task
2021-12-23, Gary Kramlich
e580fa49efac
move the tasks.Task interface to runtime.Task
package
docker
import
(
"fmt"
log
"github.com/sirupsen/logrus"
"keep.imfreedom.org/grim/convey/environment"
"keep.imfreedom.org/grim/convey/podman"
"keep.imfreedom.org/grim/convey/runtime"
"keep.imfreedom.org/grim/convey/yaml"
)
type
Tag
struct
{
Source
string
`yaml:"source"`
Destination
string
`yaml:"destination"`
Destinations
yaml
.
StringOrSlice
`yaml:"destinations"`
realTag
*
podman
.
Tag
}
// New creates a new Tag task.
func
(
t
*
Tag
)
New
()
runtime
.
Task
{
return
&
Tag
{}
}
// Valid validates the Tag task.
func
(
t
*
Tag
)
Valid
()
error
{
if
t
.
Destination
!=
""
{
t
.
Destinations
=
append
([]
string
{
t
.
Destination
},
t
.
Destinations
...
)
}
t
.
realTag
=
&
podman
.
Tag
{
Image
:
t
.
Source
,
Targets
:
t
.
Destinations
,
}
return
t
.
realTag
.
Valid
()
}
// Executes the task
func
(
t
*
Tag
)
Execute
(
name
string
,
logger
*
log
.
Entry
,
env
environment
.
Environment
,
rt
*
runtime
.
Runtime
)
error
{
return
t
.
realTag
.
Execute
(
name
,
logger
,
env
,
rt
)
}
func
(
t
*
Tag
)
Deprecated
()
error
{
return
fmt
.
Errorf
(
"docker/tag has been deprecated in favor of podman/tag since 0.15.0"
)
}