mirror of https://github.com/knative/func.git
42 lines
844 B
Go
42 lines
844 B
Go
package plugin
|
|
|
|
import (
|
|
"github.com/boson-project/faas/cmd"
|
|
"knative.dev/client/pkg/kn/plugin"
|
|
"os"
|
|
)
|
|
|
|
func init() {
|
|
plugin.InternalPlugins = append(plugin.InternalPlugins, &faasPlugin{})
|
|
}
|
|
|
|
type faasPlugin struct {}
|
|
|
|
func (f *faasPlugin) Name() string {
|
|
return "kn-function"
|
|
}
|
|
|
|
func (f *faasPlugin) Execute(args []string) error {
|
|
rootCmd := cmd.NewRootCmd()
|
|
oldArgs := os.Args
|
|
defer (func() {
|
|
os.Args = oldArgs
|
|
})()
|
|
os.Args = append([]string { "kn-function" }, args...)
|
|
return rootCmd.Execute()
|
|
}
|
|
|
|
// Description for function subcommand visible in 'kn --help'
|
|
func (f *faasPlugin) Description() (string, error) {
|
|
return "Function plugin", nil
|
|
}
|
|
|
|
func (f *faasPlugin) CommandParts() []string {
|
|
return []string{ "function"}
|
|
}
|
|
|
|
// Path is empty because its an internal plugins
|
|
func (f *faasPlugin) Path() string {
|
|
return ""
|
|
}
|