@@ -30,24 +30,24 @@ import (
30
30
31
31
// Index represents Cores and Tools struct as seen from package_index.json file.
32
32
type Index struct {
33
- Packages []* indexPackage `json:"packages"`
33
+ Packages []* IndexPackage `json:"packages"`
34
34
IsTrusted bool
35
35
}
36
36
37
- // indexPackage represents a single entry from package_index.json file.
38
- type indexPackage struct {
37
+ // IndexPackage represents a single entry from package_index.json file.
38
+ type IndexPackage struct {
39
39
Name string `json:"name,required"`
40
40
Maintainer string `json:"maintainer,required"`
41
41
WebsiteURL string `json:"websiteUrl"`
42
42
URL string `json:"Url"`
43
43
Email string `json:"email"`
44
- Platforms []* indexPlatformRelease `json:"platforms,required"`
45
- Tools []* indexToolRelease `json:"tools,required"`
46
- Help indexHelp `json:"help,omitempty"`
44
+ Platforms []* IndexPlatformRelease `json:"platforms,required"`
45
+ Tools []* IndexToolRelease `json:"tools,required"`
46
+ Help IndexHelp `json:"help,omitempty"`
47
47
}
48
48
49
- // indexPlatformRelease represents a single Core Platform from package_index.json file.
50
- type indexPlatformRelease struct {
49
+ // IndexPlatformRelease represents a single Core Platform from package_index.json file.
50
+ type IndexPlatformRelease struct {
51
51
Name string `json:"name,required"`
52
52
Architecture string `json:"architecture"`
53
53
Version * semver.Version `json:"version,required"`
@@ -56,45 +56,46 @@ type indexPlatformRelease struct {
56
56
ArchiveFileName string `json:"archiveFileName,required"`
57
57
Checksum string `json:"checksum,required"`
58
58
Size json.Number `json:"size,required"`
59
- Boards []indexBoard `json:"boards"`
60
- Help indexHelp `json:"help,omitempty"`
61
- ToolDependencies []indexToolDependency `json:"toolsDependencies,required"`
59
+ Boards []IndexBoard `json:"boards"`
60
+ Help IndexHelp `json:"help,omitempty"`
61
+ ToolDependencies []IndexToolDependency `json:"toolsDependencies,required"`
62
62
}
63
63
64
- // indexToolDependency represents a single dependency of a core from a tool.
65
- type indexToolDependency struct {
64
+ // IndexToolDependency represents a single dependency of a core from a tool.
65
+ type IndexToolDependency struct {
66
66
Packager string `json:"packager,required"`
67
67
Name string `json:"name,required"`
68
68
Version * semver.RelaxedVersion `json:"version,required"`
69
69
}
70
70
71
- // indexToolRelease represents a single Tool from package_index.json file.
72
- type indexToolRelease struct {
71
+ // IndexToolRelease represents a single Tool from package_index.json file.
72
+ type IndexToolRelease struct {
73
73
Name string `json:"name,required"`
74
74
Version * semver.RelaxedVersion `json:"version,required"`
75
- Systems []indexToolReleaseFlavour `json:"systems,required"`
75
+ Systems []IndexToolReleaseFlavour `json:"systems,required"`
76
76
}
77
77
78
- // indexToolReleaseFlavour represents a single tool flavor in the package_index.json file.
79
- type indexToolReleaseFlavour struct {
78
+ // IndexToolReleaseFlavour represents a single tool flavor in the package_index.json file.
79
+ type IndexToolReleaseFlavour struct {
80
80
OS string `json:"host,required"`
81
81
URL string `json:"url,required"`
82
82
ArchiveFileName string `json:"archiveFileName,required"`
83
83
Size json.Number `json:"size,required"`
84
84
Checksum string `json:"checksum,required"`
85
85
}
86
86
87
- // indexBoard represents a single Board as written in package_index.json file.
88
- type indexBoard struct {
87
+ // IndexBoard represents a single Board as written in package_index.json file.
88
+ type IndexBoard struct {
89
89
Name string `json:"name"`
90
- ID []indexBoardID `json:"id"`
90
+ ID []indexBoardID `json:"id,omitempty "`
91
91
}
92
92
93
93
type indexBoardID struct {
94
94
USB string `json:"usb"`
95
95
}
96
96
97
- type indexHelp struct {
97
+ // IndexHelp represents the help URL
98
+ type IndexHelp struct {
98
99
Online string `json:"online,omitempty"`
99
100
}
100
101
@@ -106,7 +107,7 @@ func (index Index) MergeIntoPackages(outPackages cores.Packages) {
106
107
}
107
108
}
108
109
109
- func (inPackage indexPackage ) extractPackageIn (outPackages cores.Packages , trusted bool ) {
110
+ func (inPackage IndexPackage ) extractPackageIn (outPackages cores.Packages , trusted bool ) {
110
111
outPackage := outPackages .GetOrCreatePackage (inPackage .Name )
111
112
outPackage .Maintainer = inPackage .Maintainer
112
113
outPackage .WebsiteURL = inPackage .WebsiteURL
@@ -123,7 +124,7 @@ func (inPackage indexPackage) extractPackageIn(outPackages cores.Packages, trust
123
124
}
124
125
}
125
126
126
- func (inPlatformRelease indexPlatformRelease ) extractPlatformIn (outPackage * cores.Package , trusted bool ) error {
127
+ func (inPlatformRelease IndexPlatformRelease ) extractPlatformIn (outPackage * cores.Package , trusted bool ) error {
127
128
outPlatform := outPackage .GetOrCreatePlatform (inPlatformRelease .Architecture )
128
129
// FIXME: shall we use the Name and Category of the latest release? or maybe move Name and Category in PlatformRelease?
129
130
outPlatform .Name = inPlatformRelease .Name
@@ -164,7 +165,7 @@ func (inPlatformRelease indexPlatformRelease) extractPlatformIn(outPackage *core
164
165
return nil
165
166
}
166
167
167
- func (inPlatformRelease indexPlatformRelease ) extractDeps () (cores.ToolDependencies , error ) {
168
+ func (inPlatformRelease IndexPlatformRelease ) extractDeps () (cores.ToolDependencies , error ) {
168
169
ret := make (cores.ToolDependencies , len (inPlatformRelease .ToolDependencies ))
169
170
for i , dep := range inPlatformRelease .ToolDependencies {
170
171
ret [i ] = & cores.ToolDependency {
@@ -176,7 +177,7 @@ func (inPlatformRelease indexPlatformRelease) extractDeps() (cores.ToolDependenc
176
177
return ret , nil
177
178
}
178
179
179
- func (inPlatformRelease indexPlatformRelease ) extractBoardsManifest () []* cores.BoardManifest {
180
+ func (inPlatformRelease IndexPlatformRelease ) extractBoardsManifest () []* cores.BoardManifest {
180
181
boards := make ([]* cores.BoardManifest , len (inPlatformRelease .Boards ))
181
182
for i , board := range inPlatformRelease .Boards {
182
183
manifest := & cores.BoardManifest {Name : board .Name }
@@ -190,15 +191,15 @@ func (inPlatformRelease indexPlatformRelease) extractBoardsManifest() []*cores.B
190
191
return boards
191
192
}
192
193
193
- func (inToolRelease indexToolRelease ) extractToolIn (outPackage * cores.Package ) {
194
+ func (inToolRelease IndexToolRelease ) extractToolIn (outPackage * cores.Package ) {
194
195
outTool := outPackage .GetOrCreateTool (inToolRelease .Name )
195
196
196
197
outToolRelease := outTool .GetOrCreateRelease (inToolRelease .Version )
197
198
outToolRelease .Flavors = inToolRelease .extractFlavours ()
198
199
}
199
200
200
- // extractFlavours extracts a map[OS]Flavor object from an indexToolRelease entry.
201
- func (inToolRelease indexToolRelease ) extractFlavours () []* cores.Flavor {
201
+ // extractFlavours extracts a map[OS]Flavor object from an IndexToolRelease entry.
202
+ func (inToolRelease IndexToolRelease ) extractFlavours () []* cores.Flavor {
202
203
ret := make ([]* cores.Flavor , len (inToolRelease .Systems ))
203
204
for i , flavour := range inToolRelease .Systems {
204
205
size , _ := flavour .Size .Int64 ()
0 commit comments