@@ -27,17 +27,28 @@ var (
2727func init () {
2828 logger = logrus .New ()
2929
30+ var err error
31+
32+ homedir , err = os .UserHomeDir ()
33+ if err != nil {
34+ logger .Fatal (err )
35+ }
36+
3037 // Init release sources
3138 registedReleaseSources = map [string ]sources.ReleaseSource {
3239 github .GithubReleaseSource .GetName (): github .GithubReleaseSource ,
3340 cdn .CDNReleaseSource .GetName (): cdn .CDNReleaseSource ,
3441 }
3542
36- var err error
37-
38- homedir , err = os .UserHomeDir ()
39- if err != nil {
40- logger .Fatal (err )
43+ // Init custom sources from configuration file
44+ defaultCustomSourcesFile := KusionupDir (DefaultCustomSourceConfigFilename )
45+ if config .IsValidConfigFilename (defaultCustomSourcesFile ) {
46+ sources := & CustomSources {}
47+ if err := config .FromFile (afero .NewOsFs (), defaultCustomSourcesFile , sources ); err == nil {
48+ for i := 0 ; i < len (sources .Sources ); i ++ {
49+ registedReleaseSources [sources .Sources [i ].Name ] = & sources .Sources [i ]
50+ }
51+ }
4152 }
4253
4354 ProfileFiles = []string {
@@ -76,24 +87,21 @@ func preRunRoot(_ *cobra.Command, _ []string) error {
7687 logger .SetLevel (logrus .DebugLevel )
7788 }
7889
79- if customSourcesFile == "" {
80- customSourcesFile = KusionupDir (DefaultCustomSourceConfigFilename )
81- }
82-
83- // Init custom sources from profile file
84- if config .IsValidConfigFilename (customSourcesFile ) {
85- sources := & CustomSources {}
86-
87- err := config .FromFile (afero .NewOsFs (), customSourcesFile , sources )
88- if err != nil && customSourcesFile != KusionupDir (DefaultCustomSourceConfigFilename ) {
89- logger .Printf ("Failed to load custom sources from %s: %s\n " , customSourcesFile , err )
90- } else {
91- for i := 0 ; i < len (sources .Sources ); i ++ {
92- registedReleaseSources [sources .Sources [i ].Name ] = & sources .Sources [i ]
90+ if customSourcesFile != "" {
91+ if config .IsValidConfigFilename (customSourcesFile ) {
92+ sources := & CustomSources {}
93+
94+ err := config .FromFile (afero .NewOsFs (), customSourcesFile , sources )
95+ if err != nil {
96+ logger .Printf ("Failed to load custom sources from %s: %s\n " , customSourcesFile , err )
97+ } else {
98+ for i := 0 ; i < len (sources .Sources ); i ++ {
99+ registedReleaseSources [sources .Sources [i ].Name ] = & sources .Sources [i ]
100+ }
93101 }
102+ } else {
103+ logger .Printf ("Invalid custom sources file: %s\n " , customSourcesFile )
94104 }
95- } else {
96- logger .Printf ("Invalid custom sources file: %s\n " , customSourcesFile )
97105 }
98106
99107 return nil
0 commit comments