Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit f2df284

Browse files
author
Massimiliano Pippi
authoredDec 11, 2019
Introduce Viper to manage the configuration file (#487)
* dump all settings * init config file using viper * remove configs package * use viper API * default url shouldnt be added to additional_urls * map log settings to config file * do not use logging before it's ready * look for project wide config file
1 parent 2049a7a commit f2df284

File tree

41 files changed

+583
-1144
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+583
-1144
lines changed
 

‎arduino/cores/packagemanager/loader.go

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,25 +24,20 @@ import (
2424
"strings"
2525

2626
"github.com/arduino/arduino-cli/arduino/cores"
27-
"github.com/arduino/arduino-cli/configs"
27+
"github.com/arduino/arduino-cli/configuration"
2828
"github.com/arduino/go-paths-helper"
2929
properties "github.com/arduino/go-properties-orderedmap"
3030
semver "go.bug.st/relaxed-semver"
3131
)
3232

3333
// LoadHardware read all plaforms from the configured paths
34-
func (pm *PackageManager) LoadHardware(config *configs.Configuration) error {
35-
dirs, err := config.HardwareDirectories()
36-
if err != nil {
37-
return fmt.Errorf("getting hardware directory: %s", err)
38-
}
34+
func (pm *PackageManager) LoadHardware() error {
35+
dirs := configuration.HardwareDirectories()
3936
if err := pm.LoadHardwareFromDirectories(dirs); err != nil {
4037
return err
4138
}
42-
dirs, err = config.BundleToolsDirectories()
43-
if err != nil {
44-
return fmt.Errorf("getting hardware directory: %s", err)
45-
}
39+
40+
dirs = configuration.BundleToolsDirectories()
4641
return pm.LoadToolsFromBundleDirectories(dirs)
4742
}
4843

‎arduino/cores/packagemanager/package_manager_test.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,15 @@ package packagemanager_test
2020
import (
2121
"fmt"
2222
"net/url"
23+
"os"
2324
"testing"
2425

2526
"github.com/arduino/arduino-cli/arduino/cores"
2627
"github.com/arduino/arduino-cli/arduino/cores/packagemanager"
27-
"github.com/arduino/arduino-cli/configs"
28+
"github.com/arduino/arduino-cli/configuration"
2829
"github.com/arduino/go-paths-helper"
2930
"github.com/arduino/go-properties-orderedmap"
31+
"github.com/spf13/viper"
3032
"github.com/stretchr/testify/require"
3133
semver "go.bug.st/relaxed-semver"
3234
)
@@ -212,14 +214,16 @@ func TestBoardOptionsFunctions(t *testing.T) {
212214
}
213215

214216
func TestFindToolsRequiredForBoard(t *testing.T) {
217+
os.Setenv("ARDUINO_DATA_DIR", dataDir1.String())
218+
configuration.Init("")
219+
fmt.Println(viper.AllSettings())
215220
pm := packagemanager.NewPackageManager(
216221
dataDir1,
217-
dataDir1.Join("packages"),
218-
dataDir1.Join("staging"),
219-
dataDir1)
220-
conf := &configs.Configuration{
221-
DataDir: dataDir1,
222-
}
222+
paths.New(viper.GetString("directories.Packages")),
223+
paths.New(viper.GetString("directories.Downloads")),
224+
dataDir1,
225+
)
226+
223227
loadIndex := func(addr string) {
224228
res, err := url.Parse(addr)
225229
require.NoError(t, err)
@@ -228,7 +232,7 @@ func TestFindToolsRequiredForBoard(t *testing.T) {
228232
loadIndex("https://dl.espressif.com/dl/package_esp32_index.json")
229233
loadIndex("http://arduino.esp8266.com/stable/package_esp8266com_index.json")
230234
loadIndex("https://adafruit.github.io/arduino-board-index/package_adafruit_index.json")
231-
require.NoError(t, pm.LoadHardware(conf))
235+
require.NoError(t, pm.LoadHardware())
232236
esp32, err := pm.FindBoardWithFQBN("esp32:esp32:esp32")
233237
require.NoError(t, err)
234238
esptool231 := pm.FindToolDependency(&cores.ToolDependency{

0 commit comments

Comments
 (0)
Please sign in to comment.