diff --git a/commands/sketch/warn_deprecated.go b/commands/sketch/warn_deprecated.go new file mode 100644 index 00000000000..a78f7156973 --- /dev/null +++ b/commands/sketch/warn_deprecated.go @@ -0,0 +1,36 @@ +// This file is part of arduino-cli. +// +// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// +// This software is released under the GNU General Public License version 3, +// which covers the main part of arduino-cli. +// The terms of this license can be found at: +// https://www.gnu.org/licenses/gpl-3.0.en.html +// +// You can be released from the requirements of the above licenses by purchasing +// a commercial license. Buying such a license is mandatory if you want to +// modify or otherwise use the software for commercial activities involving the +// Arduino software without disclosing the source code of your own applications. +// To purchase a commercial license, send an email to license@arduino.cc. + +package sketch + +import ( + "fmt" + + "github.com/arduino/arduino-cli/arduino/sketch" + paths "github.com/arduino/go-paths-helper" +) + +// WarnDeprecatedFiles warns the user that a type of sketch files are deprecated +func WarnDeprecatedFiles(sketchPath *paths.Path) string { + // .pde files are still supported but deprecated, this warning urges the user to rename them + if files := sketch.CheckForPdeFiles(sketchPath); len(files) > 0 { + msg := tr("Sketches with .pde extension are deprecated, please rename the following files to .ino:") + for _, f := range files { + msg += fmt.Sprintf("\n - %s", f) + } + return msg + } + return "" +} diff --git a/internal/cli/arguments/sketch.go b/internal/cli/arguments/sketch.go index 6c167ad23dd..4e670bab6ac 100644 --- a/internal/cli/arguments/sketch.go +++ b/internal/cli/arguments/sketch.go @@ -16,9 +16,7 @@ package arguments import ( - "fmt" - - "github.com/arduino/arduino-cli/arduino/sketch" + sk "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" @@ -38,18 +36,8 @@ func InitSketchPath(path string) (sketchPath *paths.Path) { logrus.Infof("Reading sketch from dir: %s", wd) sketchPath = wd } - WarnDeprecatedFiles(sketchPath) - return sketchPath -} - -// WarnDeprecatedFiles warns the user that a type of sketch files are deprecated -func WarnDeprecatedFiles(sketchPath *paths.Path) { - // .pde files are still supported but deprecated, this warning urges the user to rename them - if files := sketch.CheckForPdeFiles(sketchPath); len(files) > 0 { - msg := tr("Sketches with .pde extension are deprecated, please rename the following files to .ino:") - for _, f := range files { - msg += fmt.Sprintf("\n - %s", f) - } + if msg := sk.WarnDeprecatedFiles(sketchPath); msg != "" { feedback.Warning(msg) } + return sketchPath } diff --git a/internal/cli/sketch/archive.go b/internal/cli/sketch/archive.go index 9410bb0d0c6..e21221aa3e7 100644 --- a/internal/cli/sketch/archive.go +++ b/internal/cli/sketch/archive.go @@ -21,7 +21,6 @@ import ( "os" sk "github.com/arduino/arduino-cli/commands/sketch" - "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" @@ -61,7 +60,9 @@ func runArchiveCommand(args []string, includeBuildDir bool, overwrite bool) { sketchPath = paths.New(args[0]) } - arguments.WarnDeprecatedFiles(sketchPath) + if msg := sk.WarnDeprecatedFiles(sketchPath); msg != "" { + feedback.Warning(msg) + } archivePath := "" if len(args) == 2 { diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 3c33f2675b0..c7a5eb8866a 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -86,8 +86,8 @@ func runUploadCommand(command *cobra.Command, args []string) { } sketchPath := arguments.InitSketchPath(path) - if importDir == "" && importFile == "" { - arguments.WarnDeprecatedFiles(sketchPath) + if msg := sk.WarnDeprecatedFiles(sketchPath); importDir == "" && importFile == "" && msg != "" { + feedback.Warning(msg) } sketch, err := sk.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()})