Skip to content

Commit a32d52f

Browse files
committed
Config about 3rd party URLs is no more a singleton
1 parent 5a02ce4 commit a32d52f

File tree

6 files changed

+16
-35
lines changed

6 files changed

+16
-35
lines changed

Diff for: commands/commands.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ func InitPackageManager() *packagemanager.PackageManager {
9090
Config.DownloadsDir(),
9191
Config.DataDir.Join("tmp"))
9292

93-
for _, URL := range configs.BoardManagerAdditionalUrls {
93+
for _, URL := range Config.BoardManagerAdditionalUrls {
9494
if err := pm.LoadPackageIndex(URL); err != nil {
9595
formatter.PrintError(err, "Failed to load "+URL.String()+" package index.\n"+
9696
"Try updating all indexes with `"+AppName+" core update-index`.")

Diff for: commands/core/update_index.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import (
2828
"github.com/arduino/arduino-cli/arduino/cores/packageindex"
2929
"github.com/arduino/arduino-cli/commands"
3030
"github.com/arduino/arduino-cli/common/formatter"
31-
"github.com/arduino/arduino-cli/configs"
3231
"github.com/arduino/go-paths-helper"
3332
"github.com/sirupsen/logrus"
3433
"github.com/spf13/cobra"
@@ -51,7 +50,7 @@ func runUpdateIndexCommand(cmd *cobra.Command, args []string) {
5150
}
5251

5352
func updateIndexes() {
54-
for _, URL := range configs.BoardManagerAdditionalUrls {
53+
for _, URL := range commands.Config.BoardManagerAdditionalUrls {
5554
updateIndex(URL)
5655
}
5756
}

Diff for: configs/boards_manager.go

-25
This file was deleted.

Diff for: configs/configuration.go

+10-3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ package configs
2020

2121
import (
2222
"fmt"
23+
"net/url"
2324

2425
"github.com/arduino/go-paths-helper"
2526
)
@@ -42,8 +43,13 @@ type Configuration struct {
4243
// the field is true if the CLI is bundled with the Arduino IDE, false if the CLI is running
4344
// standalone or nil if the detection has not been performed.
4445
IDEBundledCheckResult *bool
46+
47+
// BoardManagerAdditionalUrls contains the additional URL for 3rd party packages
48+
BoardManagerAdditionalUrls []*url.URL
4549
}
4650

51+
var defaultPackageIndexURL, _ = url.Parse("https://downloads.arduino.cc/packages/package_index.json")
52+
4753
// NewConfiguration returns a new Configuration with the default values
4854
func NewConfiguration() (*Configuration, error) {
4955
dataDir, err := getDefaultArduinoDataDir()
@@ -56,9 +62,10 @@ func NewConfiguration() (*Configuration, error) {
5662
}
5763

5864
return &Configuration{
59-
ConfigFile: getDefaultConfigFilePath(),
60-
DataDir: dataDir,
61-
SketchbookDir: sketchbookDir,
65+
ConfigFile: getDefaultConfigFilePath(),
66+
DataDir: dataDir,
67+
SketchbookDir: sketchbookDir,
68+
BoardManagerAdditionalUrls: []*url.URL{defaultPackageIndexURL},
6269
}, nil
6370
}
6471

Diff for: configs/preferences_txt_serializer.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ func (config *Configuration) LoadFromDesktopIDEPreferences() error {
8787
if URLs, has := props.GetOk("boardsmanager.additional.urls"); has {
8888
for _, URL := range strings.Split(URLs, ",") {
8989
if newURL, err := url.Parse(URL); err == nil {
90-
BoardManagerAdditionalUrls = append(BoardManagerAdditionalUrls, newURL)
90+
config.BoardManagerAdditionalUrls = append(config.BoardManagerAdditionalUrls, newURL)
9191
}
9292
}
9393
}

Diff for: configs/yaml_serializer.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ func (config *Configuration) LoadFromYAML(path *paths.Path) error {
8181
logrus.WithError(err).Warn("Error parsing config")
8282
continue
8383
}
84-
BoardManagerAdditionalUrls = append(BoardManagerAdditionalUrls, url)
84+
config.BoardManagerAdditionalUrls = append(config.BoardManagerAdditionalUrls, url)
8585
}
8686
}
8787
return nil
@@ -104,9 +104,9 @@ func (config *Configuration) SerializeToYAML() ([]byte, error) {
104104
Password: ProxyPassword,
105105
}
106106
}
107-
if len(BoardManagerAdditionalUrls) > 1 {
107+
if len(config.BoardManagerAdditionalUrls) > 1 {
108108
c.BoardsManager = &yamlBoardsManagerConfig{AdditionalURLS: []string{}}
109-
for _, URL := range BoardManagerAdditionalUrls[1:] {
109+
for _, URL := range config.BoardManagerAdditionalUrls[1:] {
110110
c.BoardsManager.AdditionalURLS = append(c.BoardsManager.AdditionalURLS, URL.String())
111111
}
112112
}

0 commit comments

Comments
 (0)