@@ -7,12 +7,10 @@ import (
77 "strings"
88
99 "github.com/spf13/cobra"
10- "github.com/spf13/viper"
1110
1211 "github.com/devstream-io/devstream/cmd/devstream/list"
1312 "github.com/devstream-io/devstream/internal/pkg/completion"
1413 "github.com/devstream-io/devstream/internal/pkg/configmanager"
15- "github.com/devstream-io/devstream/internal/pkg/pluginengine"
1614 "github.com/devstream-io/devstream/internal/pkg/pluginmanager"
1715 "github.com/devstream-io/devstream/internal/pkg/version"
1816 "github.com/devstream-io/devstream/pkg/util/log"
@@ -39,46 +37,46 @@ func initCMDFunc(_ *cobra.Command, _ []string) {
3937 }
4038
4139 var (
42- realPluginDir string
43- tools []configmanager.Tool
44- err error
40+ tools []configmanager.Tool
41+ err error
4542 )
4643
4744 if downloadOnly {
4845 // download plugins from flags
49- tools , realPluginDir , err = GetPluginsAndPluginDirFromFlags ()
46+ tools , err = GetPluginsFromFlags ()
5047 } else {
5148 // download plugins according to the config file
52- tools , realPluginDir , err = GetPluginsAndPluginDirFromConfig ()
49+ tools , err = GetPluginsFromConfig ()
5350 }
5451
5552 if err != nil {
5653 log .Fatal (err )
5754 }
5855
59- if err := pluginmanager .DownloadPlugins (tools , realPluginDir , initOS , initArch ); err != nil {
56+ pluginDir , err = pluginmanager .GetPluginDir ()
57+ if err != nil {
58+ log .Fatal (err )
59+ }
60+ log .Debugf ("Plugin directory: %s." , pluginDir )
61+
62+ if err = pluginmanager .DownloadPlugins (tools , pluginDir , initOS , initArch ); err != nil {
6063 log .Fatal (err )
6164 }
6265
6366 fmt .Println ()
6467 log .Success ("Initialize finished." )
6568}
6669
67- func GetPluginsAndPluginDirFromConfig () (tools []configmanager.Tool , pluginDir string , err error ) {
70+ func GetPluginsFromConfig () (tools []configmanager.Tool , err error ) {
6871 cfg , err := configmanager .NewManager (configFilePath ).LoadConfig ()
6972 if err != nil {
70- return nil , "" , err
73+ return nil , err
7174 }
7275
73- // combine plugin dir from config file and flag
74- if err = pluginengine .SetPluginDir (cfg .PluginDir ); err != nil {
75- return nil , "" , err
76- }
77-
78- return cfg .Tools , viper .GetString (pluginDirFlagName ), nil
76+ return cfg .Tools , nil
7977}
8078
81- func GetPluginsAndPluginDirFromFlags () (tools []configmanager.Tool , pluginDir string , err error ) {
79+ func GetPluginsFromFlags () (tools []configmanager.Tool , err error ) {
8280 // 1. get plugins from flags
8381 var pluginsName []string
8482 if downloadAll {
@@ -94,18 +92,18 @@ func GetPluginsAndPluginDirFromFlags() (tools []configmanager.Tool, pluginDir st
9492 // check if plugins to download are supported by dtm
9593 for _ , plugin := range pluginsName {
9694 if _ , ok := list .PluginNamesMap ()[plugin ]; ! ok {
97- return nil , "" , fmt .Errorf ("Plugin %s is not supported by dtm" , plugin )
95+ return nil , fmt .Errorf ("Plugin %s is not supported by dtm" , plugin )
9896 }
9997 }
10098 }
10199
102100 if len (pluginsName ) == 0 {
103- return nil , "" , errors .New ("Please use --plugins to specify plugins to download or use --all to download all plugins." )
101+ return nil , errors .New ("Please use --plugins to specify plugins to download or use --all to download all plugins." )
104102 }
105103 log .Debugf ("plugins to download: %v" , pluginsName )
106104
107105 if initOS == "" || initArch == "" {
108- return nil , "" , fmt .Errorf ("Once you use the --all flag, you must specify the --os and --arch flags" )
106+ return nil , fmt .Errorf ("Once you use the --all flag, you must specify the --os and --arch flags" )
109107 }
110108
111109 log .Infof ("Plugins to download: %v" , pluginsName )
@@ -115,18 +113,13 @@ func GetPluginsAndPluginDirFromFlags() (tools []configmanager.Tool, pluginDir st
115113 tools = append (tools , configmanager.Tool {Name : pluginName })
116114 }
117115
118- // 2. handle plugin dir
119- if err = pluginengine .SetPluginDir ("" ); err != nil {
120- return nil , "" , err
121- }
122-
123- return tools , viper .GetString (pluginDirFlagName ), nil
116+ return tools , nil
124117}
125118
126119func init () {
127120 // flags for init from config file
128121 initCMD .Flags ().StringVarP (& configFilePath , configFlagName , "f" , "config.yaml" , "config file" )
129- initCMD .Flags ().StringVarP (& pluginDir , pluginDirFlagName , "d" , "" , "plugins directory" )
122+ initCMD .Flags ().StringVarP (& pluginDir , pluginDirFlagName , "d" , defaultPluginDir , "plugins directory" )
130123
131124 // downloading specific plugins from flags
132125 initCMD .Flags ().BoolVar (& downloadOnly , "download-only" , false , "download plugins only" )
0 commit comments