github.com/franc20/ayesa_sap@v7.0.0-beta.28.0.20200124003224-302d4d52fa6c+incompatible/plugin/transition/run_plugin_v7.go (about) 1 // +build V7 2 3 package plugin_transition 4 5 import ( 6 netrpc "net/rpc" 7 "os" 8 9 "code.cloudfoundry.org/cli/actor/sharedaction" 10 "code.cloudfoundry.org/cli/actor/v7action" 11 "code.cloudfoundry.org/cli/command" 12 "code.cloudfoundry.org/cli/command/common" 13 "code.cloudfoundry.org/cli/command/translatableerror" 14 "code.cloudfoundry.org/cli/command/v7/shared" 15 "code.cloudfoundry.org/cli/plugin/v7/rpc" 16 "code.cloudfoundry.org/cli/util/configv3" 17 "code.cloudfoundry.org/clock" 18 ) 19 20 func RunPlugin(plugin configv3.Plugin, ui command.UI) error { 21 config, err := configv3.LoadConfig(configv3.FlagOverride{ 22 Verbose: common.Commands.VerboseOrVersion, 23 }) 24 25 if err != nil { 26 if _, ok := err.(translatableerror.EmptyConfigError); !ok { 27 return err 28 } 29 } 30 31 sharedActor := sharedaction.NewActor(config) 32 33 ccClient, uaaClient, err := shared.GetNewClientsAndConnectToCF(config, ui, "") 34 if err != nil { 35 return err 36 } 37 38 v7Actor := v7action.NewActor(ccClient, config, sharedActor, uaaClient, clock.NewClock()) 39 40 server := netrpc.NewServer() 41 rpcService, err := rpc.NewRpcService(nil, nil, nil, server, config, v7Actor) 42 43 if err != nil { 44 return err 45 } 46 47 rpc.RunMethod(rpcService, os.Args[1:], plugin) 48 return nil 49 }