@@ -61,6 +61,7 @@ type indexPlatformRelease struct {
61
61
Help indexHelp `json:"help,omitempty"`
62
62
ToolDependencies []indexToolDependency `json:"toolsDependencies"`
63
63
DiscoveryDependencies []indexDiscoveryDependency `json:"discoveryDependencies"`
64
+ MonitorDependencies []indexMonitorDependency `json:"monitorDependencies"`
64
65
}
65
66
66
67
// indexToolDependency represents a single dependency of a core from a tool.
@@ -76,6 +77,12 @@ type indexDiscoveryDependency struct {
76
77
Name string `json:"name"`
77
78
}
78
79
80
+ // indexMonitorDependency represents a single dependency of a core from a pluggable monitor tool.
81
+ type indexMonitorDependency struct {
82
+ Packager string `json:"packager"`
83
+ Name string `json:"name"`
84
+ }
85
+
79
86
// indexToolRelease represents a single Tool from package_index.json file.
80
87
type indexToolRelease struct {
81
88
Name string `json:"name,required"`
@@ -152,6 +159,14 @@ func IndexFromPlatformRelease(pr *cores.PlatformRelease) Index {
152
159
})
153
160
}
154
161
162
+ monitors := []indexMonitorDependency {}
163
+ for _ , m := range pr .MonitorDependencies {
164
+ monitors = append (monitors , indexMonitorDependency {
165
+ Packager : m .Packager ,
166
+ Name : m .Name ,
167
+ })
168
+ }
169
+
155
170
packageTools := []* indexToolRelease {}
156
171
for name , tool := range pr .Platform .Package .Tools {
157
172
for _ , toolRelease := range tool .Releases {
@@ -196,6 +211,7 @@ func IndexFromPlatformRelease(pr *cores.PlatformRelease) Index {
196
211
Help : indexHelp {Online : pr .Help .Online },
197
212
ToolDependencies : tools ,
198
213
DiscoveryDependencies : discoveries ,
214
+ MonitorDependencies : monitors ,
199
215
}},
200
216
Tools : packageTools ,
201
217
Help : indexHelp {Online : pr .Platform .Package .Help .Online },
@@ -251,6 +267,7 @@ func (inPlatformRelease indexPlatformRelease) extractPlatformIn(outPackage *core
251
267
outPlatformRelease .BoardsManifest = inPlatformRelease .extractBoardsManifest ()
252
268
outPlatformRelease .ToolDependencies = inPlatformRelease .extractToolDependencies ()
253
269
outPlatformRelease .DiscoveryDependencies = inPlatformRelease .extractDiscoveryDependencies ()
270
+ outPlatformRelease .MonitorDependencies = inPlatformRelease .extractMonitorDependencies ()
254
271
return nil
255
272
}
256
273
@@ -277,6 +294,17 @@ func (inPlatformRelease indexPlatformRelease) extractDiscoveryDependencies() cor
277
294
return res
278
295
}
279
296
297
+ func (inPlatformRelease indexPlatformRelease ) extractMonitorDependencies () cores.MonitorDependencies {
298
+ res := make (cores.MonitorDependencies , len (inPlatformRelease .MonitorDependencies ))
299
+ for i , discovery := range inPlatformRelease .MonitorDependencies {
300
+ res [i ] = & cores.MonitorDependency {
301
+ Name : discovery .Name ,
302
+ Packager : discovery .Packager ,
303
+ }
304
+ }
305
+ return res
306
+ }
307
+
280
308
func (inPlatformRelease indexPlatformRelease ) extractBoardsManifest () []* cores.BoardManifest {
281
309
boards := make ([]* cores.BoardManifest , len (inPlatformRelease .Boards ))
282
310
for i , board := range inPlatformRelease .Boards {
0 commit comments