@@ -38,9 +38,8 @@ import (
38
38
// The manager also keeps track of the status of the Packages (their Platform Releases, actually)
39
39
// installed in the system.
40
40
type PackageManager struct {
41
- Log logrus.FieldLogger
42
- packages * cores.Packages
43
-
41
+ Log logrus.FieldLogger
42
+ Packages cores.Packages
44
43
IndexDir * paths.Path
45
44
PackagesDir * paths.Path
46
45
DownloadDir * paths.Path
@@ -51,28 +50,18 @@ type PackageManager struct {
51
50
func NewPackageManager (indexDir , packagesDir , downloadDir , tempDir * paths.Path ) * PackageManager {
52
51
return & PackageManager {
53
52
Log : logrus .StandardLogger (),
54
- packages : cores .NewPackages (),
53
+ Packages : cores .NewPackages (),
55
54
IndexDir : indexDir ,
56
55
PackagesDir : packagesDir ,
57
56
DownloadDir : downloadDir ,
58
57
TempDir : tempDir ,
59
58
}
60
59
}
61
60
62
- // Clear FIXMEDOC
63
- func (pm * PackageManager ) Clear () {
64
- pm .packages = cores .NewPackages ()
65
- }
66
-
67
- // GetPackages FIXMEDOC
68
- func (pm * PackageManager ) GetPackages () * cores.Packages {
69
- return pm .packages
70
- }
71
-
72
61
// FindPlatformReleaseProvidingBoardsWithVidPid FIXMEDOC
73
62
func (pm * PackageManager ) FindPlatformReleaseProvidingBoardsWithVidPid (vid , pid string ) []* cores.PlatformRelease {
74
63
res := []* cores.PlatformRelease {}
75
- for _ , targetPackage := range pm .packages . Packages {
64
+ for _ , targetPackage := range pm .Packages {
76
65
for _ , targetPlatform := range targetPackage .Platforms {
77
66
platformRelease := targetPlatform .GetLatestRelease ()
78
67
if platformRelease == nil {
@@ -92,7 +81,7 @@ func (pm *PackageManager) FindPlatformReleaseProvidingBoardsWithVidPid(vid, pid
92
81
// FindBoardsWithVidPid FIXMEDOC
93
82
func (pm * PackageManager ) FindBoardsWithVidPid (vid , pid string ) []* cores.Board {
94
83
res := []* cores.Board {}
95
- for _ , targetPackage := range pm .packages . Packages {
84
+ for _ , targetPackage := range pm .Packages {
96
85
for _ , targetPlatform := range targetPackage .Platforms {
97
86
if platform := pm .GetInstalledPlatformRelease (targetPlatform ); platform != nil {
98
87
for _ , board := range platform .Boards {
@@ -109,7 +98,7 @@ func (pm *PackageManager) FindBoardsWithVidPid(vid, pid string) []*cores.Board {
109
98
// FindBoardsWithID FIXMEDOC
110
99
func (pm * PackageManager ) FindBoardsWithID (id string ) []* cores.Board {
111
100
res := []* cores.Board {}
112
- for _ , targetPackage := range pm .packages . Packages {
101
+ for _ , targetPackage := range pm .Packages {
113
102
for _ , targetPlatform := range targetPackage .Platforms {
114
103
if platform := pm .GetInstalledPlatformRelease (targetPlatform ); platform != nil {
115
104
for _ , board := range platform .Boards {
@@ -152,7 +141,7 @@ func (pm *PackageManager) ResolveFQBN(fqbn *cores.FQBN) (
152
141
* properties.Map , * cores.PlatformRelease , error ) {
153
142
154
143
// Find package
155
- targetPackage := pm .packages . Packages [fqbn .Package ]
144
+ targetPackage := pm .Packages [fqbn .Package ]
156
145
if targetPackage == nil {
157
146
return nil , nil , nil , nil , nil ,
158
147
errors .New ("unknown package " + fqbn .Package )
@@ -189,7 +178,7 @@ func (pm *PackageManager) ResolveFQBN(fqbn *cores.FQBN) (
189
178
coreParts := strings .Split (buildProperties .Get ("build.core" ), ":" )
190
179
if len (coreParts ) > 1 {
191
180
referredPackage := coreParts [1 ]
192
- buildPackage := pm .packages . Packages [referredPackage ]
181
+ buildPackage := pm .Packages [referredPackage ]
193
182
if buildPackage == nil {
194
183
return targetPackage , platformRelease , board , buildProperties , nil ,
195
184
fmt .Errorf ("missing package %s:%s required for build" , referredPackage , platform )
@@ -215,7 +204,7 @@ func (pm *PackageManager) LoadPackageIndexFromFile(indexPath *paths.Path) (*pack
215
204
return nil , fmt .Errorf ("loading json index file %s: %s" , indexPath , err )
216
205
}
217
206
218
- index .MergeIntoPackages (pm .packages )
207
+ index .MergeIntoPackages (pm .Packages )
219
208
return index , nil
220
209
}
221
210
@@ -224,7 +213,7 @@ func (pm *PackageManager) LoadPackageIndexFromFile(indexPath *paths.Path) (*pack
224
213
func (pm * PackageManager ) Package (name string ) * PackageActions {
225
214
//TODO: perhaps these 2 structure should be merged? cores.Packages vs pkgmgr??
226
215
var err error
227
- thePackage := pm .packages . Packages [name ]
216
+ thePackage := pm .Packages [name ]
228
217
if thePackage == nil {
229
218
err = fmt .Errorf ("package '%s' not found" , name )
230
219
}
@@ -350,7 +339,7 @@ func (pm *PackageManager) GetInstalledPlatformRelease(platform *cores.Platform)
350
339
// GetAllInstalledToolsReleases FIXMEDOC
351
340
func (pm * PackageManager ) GetAllInstalledToolsReleases () []* cores.ToolRelease {
352
341
tools := []* cores.ToolRelease {}
353
- for _ , targetPackage := range pm .packages . Packages {
342
+ for _ , targetPackage := range pm .Packages {
354
343
for _ , tool := range targetPackage .Tools {
355
344
for _ , release := range tool .Releases {
356
345
if release .IsInstalled () {
@@ -366,7 +355,7 @@ func (pm *PackageManager) GetAllInstalledToolsReleases() []*cores.ToolRelease {
366
355
// useful to range all PlatformReleases in for loops.
367
356
func (pm * PackageManager ) InstalledPlatformReleases () []* cores.PlatformRelease {
368
357
platforms := []* cores.PlatformRelease {}
369
- for _ , targetPackage := range pm .packages . Packages {
358
+ for _ , targetPackage := range pm .Packages {
370
359
for _ , platform := range targetPackage .Platforms {
371
360
for _ , release := range platform .GetAllInstalled () {
372
361
platforms = append (platforms , release )
@@ -380,7 +369,7 @@ func (pm *PackageManager) InstalledPlatformReleases() []*cores.PlatformRelease {
380
369
// all Boards in for loops.
381
370
func (pm * PackageManager ) InstalledBoards () []* cores.Board {
382
371
boards := []* cores.Board {}
383
- for _ , targetPackage := range pm .packages . Packages {
372
+ for _ , targetPackage := range pm .Packages {
384
373
for _ , platform := range targetPackage .Platforms {
385
374
for _ , release := range platform .GetAllInstalled () {
386
375
for _ , board := range release .Boards {
@@ -404,7 +393,7 @@ func (pm *PackageManager) FindToolsRequiredForBoard(board *cores.Board) ([]*core
404
393
405
394
// a Platform may not specify required tools (because it's a platform that comes from a
406
395
// sketchbook/hardware dir without a package_index.json) then add all available tools
407
- for _ , targetPackage := range pm .packages . Packages {
396
+ for _ , targetPackage := range pm .Packages {
408
397
for _ , tool := range targetPackage .Tools {
409
398
rel := tool .GetLatestInstalled ()
410
399
if rel != nil {
0 commit comments