Skip to content

Commit ee05c59

Browse files
author
Massimiliano Pippi
committed
use viper API
revert format formatting
1 parent e3d9639 commit ee05c59

File tree

12 files changed

+74
-94
lines changed

12 files changed

+74
-94
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: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@ import (
2424

2525
"github.com/arduino/arduino-cli/arduino/cores"
2626
"github.com/arduino/arduino-cli/arduino/cores/packagemanager"
27-
"github.com/arduino/arduino-cli/configs"
27+
"github.com/arduino/arduino-cli/configuration"
2828
"github.com/arduino/go-paths-helper"
2929
"github.com/arduino/go-properties-orderedmap"
30+
"github.com/spf13/viper"
3031
"github.com/stretchr/testify/require"
3132
semver "go.bug.st/relaxed-semver"
3233
)
@@ -212,14 +213,15 @@ func TestBoardOptionsFunctions(t *testing.T) {
212213
}
213214

214215
func TestFindToolsRequiredForBoard(t *testing.T) {
216+
configuration.Init(dataDir1.String())
217+
fmt.Println(viper.AllSettings())
215218
pm := packagemanager.NewPackageManager(
216219
dataDir1,
217-
dataDir1.Join("packages"),
218-
dataDir1.Join("staging"),
219-
dataDir1)
220-
conf := &configs.Configuration{
221-
DataDir: dataDir1,
222-
}
220+
paths.New(viper.GetString("directories.Packages")),
221+
paths.New(viper.GetString("directories.Downloads")),
222+
dataDir1,
223+
)
224+
223225
loadIndex := func(addr string) {
224226
res, err := url.Parse(addr)
225227
require.NoError(t, err)
@@ -228,7 +230,7 @@ func TestFindToolsRequiredForBoard(t *testing.T) {
228230
loadIndex("https://dl.espressif.com/dl/package_esp32_index.json")
229231
loadIndex("http://arduino.esp8266.com/stable/package_esp8266com_index.json")
230232
loadIndex("https://adafruit.github.io/arduino-board-index/package_adafruit_index.json")
231-
require.NoError(t, pm.LoadHardware(conf))
233+
require.NoError(t, pm.LoadHardware())
232234
esp32, err := pm.FindBoardWithFQBN("esp32:esp32:esp32")
233235
require.NoError(t, err)
234236
esptool231 := pm.FindToolDependency(&cores.ToolDependency{

cli/cli.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"fmt"
2222
"io/ioutil"
2323
"os"
24+
"path/filepath"
2425
"strings"
2526

2627
"github.com/arduino/arduino-cli/cli/board"
@@ -58,6 +59,7 @@ var (
5859
logFile string
5960
logFormat string
6061
outputFormat string
62+
configFile string
6163
)
6264

6365
const (
@@ -87,7 +89,7 @@ func createCliCommandTree(cmd *cobra.Command) {
8789
cmd.PersistentFlags().StringVar(&logFile, "log-file", "", "Path to the file where logs will be written.")
8890
cmd.PersistentFlags().StringVar(&logFormat, "log-format", "text", "The output format for the logs, can be [text|json].")
8991
cmd.PersistentFlags().StringVar(&outputFormat, "format", "text", "The output format, can be [text|json].")
90-
cmd.PersistentFlags().StringVar(&globals.YAMLConfigFile, "config-file", "", "The custom config file (if not specified the default will be used).")
92+
cmd.PersistentFlags().StringVar(&configFile, "config-file", "", "The custom config file (if not specified the default will be used).")
9193
cmd.PersistentFlags().StringSliceVar(&globals.AdditionalUrls, "additional-urls", []string{}, "Additional URLs for the board manager.")
9294
}
9395

@@ -173,7 +175,12 @@ func preRun(cmd *cobra.Command, args []string) {
173175
// use the output format to configure the Feedback
174176
feedback.SetFormat(format)
175177

176-
configuration.Init()
178+
// override the config path if --config-file was passed
179+
configPath := ""
180+
if configFile != "" {
181+
configPath = filepath.Dir(configFile)
182+
}
183+
configuration.Init(configPath)
177184

178185
logrus.Info(globals.VersionInfo.Application + "-" + globals.VersionInfo.VersionString)
179186
logrus.Info("Starting root command preparation (`arduino`)")

cli/compile/compile.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ func run(cmd *cobra.Command, args []string) {
107107
Quiet: quiet,
108108
VidPid: vidPid,
109109
ExportFile: exportFile,
110-
}, os.Stdout, os.Stderr, globals.Config, globals.LogLevel == "debug")
110+
}, os.Stdout, os.Stderr, globals.LogLevel == "debug")
111111

112112
if err != nil {
113113
feedback.Errorf("Error during build: %v", err)

cli/config/init.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ import (
1919
"os"
2020
"path/filepath"
2121

22-
"github.com/arduino/arduino-cli/configuration"
23-
2422
"github.com/arduino/arduino-cli/cli/errorcodes"
2523
"github.com/arduino/arduino-cli/cli/feedback"
2624
"github.com/sirupsen/logrus"
@@ -51,7 +49,7 @@ var initFlags struct {
5149
func runInitCommand(cmd *cobra.Command, args []string) {
5250
logrus.Info("Executing `arduino config init`")
5351

54-
configFile := filepath.Join(configuration.GetDefaultArduinoDataDir(), "arduino-cli.yaml")
52+
configFile := filepath.Join(viper.GetString("directories.Data"), "arduino-cli.yaml")
5553
err := viper.WriteConfigAs(configFile)
5654
if err != nil {
5755
feedback.Errorf("Cannot create config file: %v", err)

cli/daemon/daemon.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ func runDaemonCommand(cmd *cobra.Command, args []string) {
6464
coreServer := daemon.ArduinoCoreServerImpl{
6565
DownloaderHeaders: headers,
6666
VersionString: globals.VersionInfo.VersionString,
67-
Config: globals.Config,
6867
}
6968
srv_commands.RegisterArduinoCoreServer(s, &coreServer)
7069

cli/globals/globals.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222
"path/filepath"
2323
"runtime"
2424

25-
"github.com/arduino/arduino-cli/configs"
2625
"github.com/arduino/arduino-cli/version"
2726
)
2827

@@ -31,10 +30,6 @@ var (
3130
Debug bool
3231
// VersionInfo contains all info injected during build
3332
VersionInfo = version.NewInfo(filepath.Base(os.Args[0]))
34-
// Config FIXMEDOC
35-
Config *configs.Configuration
36-
// YAMLConfigFile contains the path to the config file
37-
YAMLConfigFile string
3833
// AdditionalUrls contains the list of additional urls the boards manager can use
3934
AdditionalUrls []string
4035
// LogLevel is temporarily exported because the compile command will

cli/instance/instance.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"github.com/arduino/arduino-cli/commands"
1212
rpc "github.com/arduino/arduino-cli/rpc/commands"
1313
"github.com/sirupsen/logrus"
14+
"github.com/spf13/viper"
1415
)
1516

1617
// CreateInstaceIgnorePlatformIndexErrors creates and return an instance of the
@@ -66,17 +67,15 @@ func packageManagerInitReq() *rpc.InitReq {
6667
urls = append(urls, urlString)
6768
}
6869

69-
for _, URL := range globals.Config.BoardManagerAdditionalUrls {
70-
urls = append(urls, URL.String())
70+
for _, URL := range viper.GetStringSlice("board_manager.additional_urls") {
71+
urls = append(urls, URL)
7172
}
7273

7374
conf := &rpc.Configuration{}
74-
conf.DataDir = globals.Config.DataDir.String()
75-
conf.DownloadsDir = globals.Config.DownloadsDir().String()
75+
conf.DataDir = viper.GetString("directories.Data")
76+
conf.DownloadsDir = viper.GetString("directories.Downloads")
7677
conf.BoardManagerAdditionalUrls = urls
77-
if globals.Config.SketchbookDir != nil {
78-
conf.SketchbookDir = globals.Config.SketchbookDir.String()
79-
}
78+
conf.SketchbookDir = viper.GetString("directories.SketchBook")
8079

8180
return &rpc.InitReq{Configuration: conf}
8281
}

commands/compile/compile.go

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,19 @@ import (
3030
"github.com/arduino/arduino-cli/arduino/cores/packagemanager"
3131
"github.com/arduino/arduino-cli/arduino/sketches"
3232
"github.com/arduino/arduino-cli/commands"
33-
"github.com/arduino/arduino-cli/configs"
33+
"github.com/arduino/arduino-cli/configuration"
3434
"github.com/arduino/arduino-cli/legacy/builder"
3535
"github.com/arduino/arduino-cli/legacy/builder/i18n"
3636
"github.com/arduino/arduino-cli/legacy/builder/types"
3737
rpc "github.com/arduino/arduino-cli/rpc/commands"
3838
paths "github.com/arduino/go-paths-helper"
3939
properties "github.com/arduino/go-properties-orderedmap"
4040
"github.com/sirupsen/logrus"
41+
"github.com/spf13/viper"
4142
)
4243

4344
// Compile FIXMEDOC
44-
func Compile(ctx context.Context, req *rpc.CompileReq, outStream, errStream io.Writer, config *configs.Configuration, debug bool) (*rpc.CompileResp, error) {
45+
func Compile(ctx context.Context, req *rpc.CompileReq, outStream, errStream io.Writer, debug bool) (*rpc.CompileResp, error) {
4546
pm := commands.GetPackageManager(req.GetInstance().GetId())
4647
if pm == nil {
4748
return nil, errors.New("invalid instance")
@@ -88,20 +89,11 @@ func Compile(ctx context.Context, req *rpc.CompileReq, outStream, errStream io.W
8889
builderCtx.SketchLocation = sketch.FullPath
8990

9091
// FIXME: This will be redundant when arduino-builder will be part of the cli
91-
if packagesDir, err := config.HardwareDirectories(); err == nil {
92-
builderCtx.HardwareDirs = packagesDir
93-
} else {
94-
return nil, fmt.Errorf("cannot get hardware directories: %s", err)
95-
}
96-
97-
if toolsDir, err := config.BundleToolsDirectories(); err == nil {
98-
builderCtx.BuiltInToolsDirs = toolsDir
99-
} else {
100-
return nil, fmt.Errorf("cannot get bundled tools directories: %s", err)
101-
}
92+
builderCtx.HardwareDirs = configuration.HardwareDirectories()
93+
builderCtx.BuiltInToolsDirs = configuration.BundleToolsDirectories()
10294

10395
builderCtx.OtherLibrariesDirs = paths.NewPathList()
104-
builderCtx.OtherLibrariesDirs.Add(config.LibrariesDir())
96+
builderCtx.OtherLibrariesDirs.Add(paths.New(viper.GetString("directories.Libraries")))
10597

10698
if req.GetBuildPath() != "" {
10799
builderCtx.BuildPath = paths.New(req.GetBuildPath())
@@ -140,7 +132,8 @@ func Compile(ctx context.Context, req *rpc.CompileReq, outStream, errStream io.W
140132
builderCtx.ArduinoAPIVersion = "10607"
141133

142134
// Check if Arduino IDE is installed and get it's libraries location.
143-
preferencesTxt := config.DataDir.Join("preferences.txt")
135+
dataDir := paths.New(viper.GetString("directories.Data"))
136+
preferencesTxt := dataDir.Join("preferences.txt")
144137
ideProperties, err := properties.LoadFromPath(preferencesTxt)
145138
if err == nil {
146139
lastIdeSubProperties := ideProperties.SubTree("last").SubTree("ide")

commands/daemon/daemon.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,13 @@ import (
3131
"github.com/arduino/arduino-cli/commands/core"
3232
"github.com/arduino/arduino-cli/commands/lib"
3333
"github.com/arduino/arduino-cli/commands/upload"
34-
"github.com/arduino/arduino-cli/configs"
3534
rpc "github.com/arduino/arduino-cli/rpc/commands"
3635
)
3736

3837
// ArduinoCoreServerImpl FIXMEDOC
3938
type ArduinoCoreServerImpl struct {
4039
DownloaderHeaders http.Header
4140
VersionString string
42-
Config *configs.Configuration
4341
}
4442

4543
// BoardDetails FIXMEDOC
@@ -133,7 +131,6 @@ func (s *ArduinoCoreServerImpl) Compile(req *rpc.CompileReq, stream rpc.ArduinoC
133131
stream.Context(), req,
134132
feedStream(func(data []byte) { stream.Send(&rpc.CompileResp{OutStream: data}) }),
135133
feedStream(func(data []byte) { stream.Send(&rpc.CompileResp{ErrStream: data}) }),
136-
s.Config,
137134
false) // set debug to false
138135
if err != nil {
139136
return err

0 commit comments

Comments
 (0)