Skip to content

Commit 0a57041

Browse files
committed
core download feature terminated but not tested
1 parent ca91037 commit 0a57041

File tree

6 files changed

+38
-10
lines changed

6 files changed

+38
-10
lines changed

cmd/arduino.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@ var arduinoVersionCmd = &cobra.Command{
9090
Long: `Shows version Number of arduino CLI components which are installed on your system.`,
9191
Run: executeVersionCommand,
9292
Example: `arduino version # for the versions of all components.
93-
arduino lib version # for the version of the lib component.`,
93+
arduino lib version # for the version of the lib component.
94+
arduino core version # for the version of the core component.`,
9495
}
9596

9697
func init() {

cmd/arduino_core.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@ import (
4343
"github.com/spf13/cobra"
4444
)
4545

46+
const (
47+
// CoreVersion represents the `arduino core` package version number.
48+
CoreVersion string = "0.1.0-alpha.preview"
49+
)
50+
4651
var arduinoCoreCmd = &cobra.Command{
4752
Use: "core",
4853
Short: "Arduino Core operations",
@@ -51,6 +56,15 @@ var arduinoCoreCmd = &cobra.Command{
5156
Example: `arduino core --update-index to update the package index file`,
5257
}
5358

59+
// arduinoCoreVersionCmd represents the version command.
60+
var arduinoCoreVersionCmd = &cobra.Command{
61+
Use: "version",
62+
Short: "Shows version Number of arduino core package",
63+
Long: `Shows version Number of arduino core package which is installed on your system.`,
64+
Run: executeVersionCommand,
65+
Example: arduinoVersionCmd.Example,
66+
}
67+
5468
var arduinoCoreListCmd = &cobra.Command{
5569
Use: "list",
5670
Short: "Shows the list of installed cores",
@@ -74,6 +88,7 @@ func init() {
7488
arduinoCmd.AddCommand(arduinoCoreCmd)
7589
arduinoCoreCmd.AddCommand(arduinoCoreListCmd)
7690
arduinoCoreCmd.AddCommand(arduinoCoreDownloadCmd)
91+
arduinoCoreCmd.AddCommand(arduinoCoreVersionCmd)
7792

7893
arduinoCoreCmd.Flags().BoolVar(&arduinoCoreFlags.updateIndex, "update-index", false, "Updates the index of cores to the latest version")
7994
}

common/releases/helpers.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ func downloadRelease(item DownloadItem, progBar *pb.ProgressBar, label string) e
7272
return fmt.Errorf("Cannot get Archive file of this release : %s", err)
7373
}
7474
defer initialData.Close()
75-
fmt.Println(item.Release)
7675
// puts the progress bar
7776
err = common.DownloadPackage(item.Release.ArchiveURL(), initialData,
7877
item.Release.ArchiveSize(), handleWithProgressBarFunc(progBar))

cores/cores.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,14 @@ type Release struct {
5858
Dependencies ToolDependencies // The Dependency entries to load tools.
5959
}
6060

61-
// ToolDependencies is a set of tuples representing summary data of a tool.
62-
type ToolDependencies []toolDependency
61+
// ToolDependencies is a set of tuples representing summary data of a tool dependency set.
62+
type ToolDependencies []*ToolDependency
6363

64-
type toolDependency struct {
65-
ToolPackager string
64+
// ToolDependency is a tuple representing summary data of a tool.
65+
type ToolDependency struct {
6666
ToolName string
6767
ToolVersion string
68+
ToolPackager string
6869
}
6970

7071
// GetVersion returns the specified release corresponding the provided version,

cores/index.go

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ type indexCoreRelease struct {
6969
Size int64 `json:"size,required,string"`
7070
Boards []indexBoardRelease `json:"boards"`
7171
Help indexHelpRelease `json:"help,omitempty"`
72-
ToolDependencies []indexToolDependency `json:"toolDependencies"`
72+
ToolDependencies []indexToolDependency `json:"toolsDependencies, required"`
7373
}
7474

7575
// indexToolDependency represents a single dependency of a core from a tool.
@@ -141,9 +141,22 @@ func (release indexCoreRelease) extractRelease() *Release {
141141
Size: release.Size,
142142
URL: release.URL,
143143
Boards: release.extractBoards(),
144+
Dependencies: release.extractDeps(),
144145
}
145146
}
146147

148+
func (release indexCoreRelease) extractDeps() ToolDependencies {
149+
ret := make(ToolDependencies, len(release.ToolDependencies))
150+
for i, dep := range release.ToolDependencies {
151+
ret[i] = &ToolDependency{
152+
ToolName: dep.Name,
153+
ToolVersion: dep.Version,
154+
ToolPackager: dep.Packager,
155+
}
156+
}
157+
return ret
158+
}
159+
147160
func (release indexCoreRelease) extractBoards() []string {
148161
boards := make([]string, len(release.Boards))
149162
for i, board := range release.Boards {

cores/status.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ func (sc StatusContext) Names() []string {
7373
return res
7474
}
7575

76-
func (tdep toolDependency) extractTool(sc StatusContext) (*Tool, error) {
76+
func (tdep ToolDependency) extractTool(sc StatusContext) (*Tool, error) {
7777
pkg, exists := sc.Packages[tdep.ToolPackager]
7878
if !exists {
7979
return nil, errors.New("Package not found")
@@ -85,7 +85,7 @@ func (tdep toolDependency) extractTool(sc StatusContext) (*Tool, error) {
8585
return tool, nil
8686
}
8787

88-
func (tdep toolDependency) extractRelease(sc StatusContext) (*ToolRelease, error) {
88+
func (tdep ToolDependency) extractRelease(sc StatusContext) (*ToolRelease, error) {
8989
tool, err := tdep.extractTool(sc)
9090
if err != nil {
9191
return nil, err
@@ -189,6 +189,5 @@ func (sc StatusContext) Process(items []CoreIDTuple) ([]releases.DownloadItem, [
189189
})
190190
}
191191
}
192-
193192
return ret, fails
194193
}

0 commit comments

Comments
 (0)