mirror of
https://github.com/gogrlx/snack.git
synced 2026-04-02 05:08:42 -07:00
Move GroupIsInstalled to separate GroupQuerier optional interface
Co-authored-by: taigrr <8261498+taigrr@users.noreply.github.com>
This commit is contained in:
@@ -15,6 +15,7 @@ var (
|
||||
_ snack.RepoManager = (*DNF)(nil)
|
||||
_ snack.KeyManager = (*DNF)(nil)
|
||||
_ snack.Grouper = (*DNF)(nil)
|
||||
_ snack.GroupQuerier = (*DNF)(nil)
|
||||
_ snack.NameNormalizer = (*DNF)(nil)
|
||||
)
|
||||
|
||||
|
||||
@@ -468,5 +468,6 @@ var (
|
||||
_ snack.RepoManager = (*DNF)(nil)
|
||||
_ snack.KeyManager = (*DNF)(nil)
|
||||
_ snack.Grouper = (*DNF)(nil)
|
||||
_ snack.GroupQuerier = (*DNF)(nil)
|
||||
_ snack.NameNormalizer = (*DNF)(nil)
|
||||
)
|
||||
|
||||
@@ -12,6 +12,7 @@ var (
|
||||
_ snack.Cleaner = (*Pacman)(nil)
|
||||
_ snack.FileOwner = (*Pacman)(nil)
|
||||
_ snack.Grouper = (*Pacman)(nil)
|
||||
_ snack.GroupQuerier = (*Pacman)(nil)
|
||||
)
|
||||
|
||||
// NOTE: snack.Holder is not implemented for pacman. While pacman supports
|
||||
|
||||
5
snack.go
5
snack.go
@@ -186,7 +186,12 @@ type Grouper interface {
|
||||
|
||||
// GroupInstall installs all packages in a group.
|
||||
GroupInstall(ctx context.Context, group string, opts ...Option) error
|
||||
}
|
||||
|
||||
// GroupQuerier provides an efficient check for whether a package group is
|
||||
// fully installed. This is an optional extension of [Grouper].
|
||||
// Supported by: pacman, dnf/yum.
|
||||
type GroupQuerier interface {
|
||||
// GroupIsInstalled reports whether all packages in the group are installed.
|
||||
GroupIsInstalled(ctx context.Context, group string) (bool, error)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user