mirror of
https://github.com/anchore/grype
synced 2024-11-10 14:44:12 +00:00
d6fa674edc
* add db staleness check Signed-off-by: Jonas Xavier <jonasx@anchore.com> * less config fields Signed-off-by: Jonas Xavier <jonasx@anchore.com> * fix import order Signed-off-by: Jonas Xavier <jonasx@anchore.com> * warn even when set to not error on staleness Signed-off-by: Jonas Xavier <jonasx@anchore.com> * nits Signed-off-by: Jonas Xavier <jonasx@anchore.com> * nits Signed-off-by: Jonas Xavier <jonasx@anchore.com> * feedback changes Signed-off-by: Jonas Xavier <jonasx@anchore.com> * lint fix Signed-off-by: Jonas Xavier <jonasx@anchore.com> * fix test Signed-off-by: Jonas Xavier <jonasx@anchore.com> * consistent log message Signed-off-by: Jonas Xavier <jonasx@anchore.com> * consistent new version message Signed-off-by: Jonas Xavier <jonasx@anchore.com> * feedback changes Signed-off-by: Jonas Xavier <jonasx@anchore.com> * human friendly time durations Signed-off-by: Jonas Xavier <jonasx@anchore.com> * fix typo Signed-off-by: Jonas Xavier <jonasx@anchore.com> * feedback changes Signed-off-by: Jonas Xavier <jonasx@anchore.com> * cleaner tests and default db value Signed-off-by: Jonas Xavier <jonasx@anchore.com>
36 lines
902 B
Go
36 lines
902 B
Go
//go:build linux || darwin
|
|
// +build linux darwin
|
|
|
|
package ui
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"io"
|
|
"sync"
|
|
|
|
"github.com/gookit/color"
|
|
"github.com/wagoodman/go-partybus"
|
|
"github.com/wagoodman/jotframe/pkg/frame"
|
|
|
|
grypeEventParsers "github.com/anchore/grype/grype/event/parsers"
|
|
"github.com/anchore/grype/internal"
|
|
"github.com/anchore/grype/internal/version"
|
|
)
|
|
|
|
func handleAppUpdateAvailable(_ context.Context, fr *frame.Frame, event partybus.Event, _ *sync.WaitGroup) error {
|
|
newVersion, err := grypeEventParsers.ParseAppUpdateAvailable(event)
|
|
if err != nil {
|
|
return fmt.Errorf("bad %s event: %w", event.Type, err)
|
|
}
|
|
|
|
line, err := fr.Prepend()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
message := color.Magenta.Sprintf("New version of %s is available: %s (currently running: %s)", internal.ApplicationName, newVersion, version.FromBuild().Version)
|
|
_, _ = io.WriteString(line, message)
|
|
|
|
return nil
|
|
}
|