package main import ( "context" hplugin "github.com/hashicorp/go-plugin" "github.com/ignite/cli/v29/ignite/pkg/errors" "github.com/ignite/cli/v29/ignite/services/plugin" ) type app struct{} func (app) Manifest(context.Context) (*plugin.Manifest, error) { return &plugin.Manifest{ Name: "execute_fail", }, nil } func (app) Execute(context.Context, *plugin.ExecutedCommand, plugin.ClientAPI) error { return errors.New("fail") } func (app) ExecuteHookPre(context.Context, *plugin.ExecutedHook, plugin.ClientAPI) error { return nil } func (app) ExecuteHookPost(context.Context, *plugin.ExecutedHook, plugin.ClientAPI) error { return nil } func (app) ExecuteHookCleanUp(context.Context, *plugin.ExecutedHook, plugin.ClientAPI) error { return nil } func main() { hplugin.Serve(&hplugin.ServeConfig{ HandshakeConfig: plugin.HandshakeConfig(), Plugins: map[string]hplugin.Plugin{ "execute_fail": plugin.NewGRPC(&app{}), }, GRPCServer: hplugin.DefaultGRPCServer, }) }