|
19 | 19 | package indexes
|
20 | 20 |
|
21 | 21 | import (
|
| 22 | + "fmt" |
| 23 | + "net/url" |
22 | 24 | "strings"
|
23 | 25 |
|
24 | 26 | "github.com/arduino/arduino-cli/arduino/cores"
|
25 | 27 | "github.com/arduino/arduino-cli/arduino/cores/packagemanager"
|
26 | 28 | "github.com/arduino/arduino-fwuploader/indexes/download"
|
27 | 29 | "github.com/arduino/arduino-fwuploader/indexes/firmwareindex"
|
| 30 | + "github.com/arduino/go-paths-helper" |
28 | 31 | "github.com/sirupsen/logrus"
|
29 | 32 | semver "go.bug.st/relaxed-semver"
|
30 | 33 | )
|
@@ -52,24 +55,34 @@ func GetToolRelease(pm *packagemanager.PackageManager, toolID string) *cores.Too
|
52 | 55 |
|
53 | 56 | // GetPackageIndex downloads and loads the Arduino package_index.json
|
54 | 57 | func GetPackageIndex(pmbuilder *packagemanager.Builder, indexURL string) error {
|
55 |
| - indexPath, err := download.DownloadIndex(indexURL) |
56 |
| - if err != nil { |
57 |
| - logrus.Error(err) |
58 |
| - return err |
| 58 | + indexPath := paths.New(indexURL) |
| 59 | + if u, err := url.Parse(indexURL); err == nil && u.Scheme != "" { |
| 60 | + fmt.Println(u) |
| 61 | + downloadedPath, err := download.DownloadIndex(indexURL) |
| 62 | + if err != nil { |
| 63 | + logrus.Error(err) |
| 64 | + return err |
| 65 | + } |
| 66 | + indexPath = downloadedPath |
59 | 67 | }
|
60 |
| - _, err = pmbuilder.LoadPackageIndexFromFile(indexPath) |
| 68 | + _, err := pmbuilder.LoadPackageIndexFromFile(indexPath) |
61 | 69 | if err != nil {
|
62 | 70 | logrus.Error(err)
|
63 | 71 | }
|
64 | 72 | return err
|
65 | 73 | }
|
66 | 74 |
|
67 | 75 | // GetFirmwareIndex downloads and loads the arduino-fwuploader module_firmware_index.json
|
68 |
| -func GetFirmwareIndex(indexUrl string) (*firmwareindex.Index, error) { |
69 |
| - indexPath, err := download.DownloadIndex(indexUrl) |
70 |
| - if err != nil { |
71 |
| - logrus.Error(err) |
72 |
| - return nil, err |
| 76 | +func GetFirmwareIndex(indexURL string) (*firmwareindex.Index, error) { |
| 77 | + indexPath := paths.New(indexURL) |
| 78 | + if u, err := url.Parse(indexURL); err == nil && u.Scheme != "" { |
| 79 | + fmt.Println(u) |
| 80 | + downloadedPath, err := download.DownloadIndex(indexURL) |
| 81 | + if err != nil { |
| 82 | + logrus.Error(err) |
| 83 | + return nil, err |
| 84 | + } |
| 85 | + indexPath = downloadedPath |
73 | 86 | }
|
74 | 87 | in, err := firmwareindex.LoadIndex(indexPath)
|
75 | 88 | if err != nil {
|
|
0 commit comments