Skip to content

Commit 69151d7

Browse files
committed
Added progress callback and installMissing flag (stubs) in pm.PrepareLibrariesAndPackageManagersForProfile
1 parent da5a22a commit 69151d7

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

arduino/cores/packagemanager/profiles.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,14 @@ import (
3131
)
3232

3333
// LoadHardwareForProfile load the hardware platforms for the given profile.
34-
func (pm *PackageManager) LoadHardwareForProfile(p *sketch.Profile) []error {
34+
// If installMissing is true then possibly missing tools and platforms will be downloaded and installed.
35+
func (pm *PackageManager) LoadHardwareForProfile(p *sketch.Profile, installMissing bool, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) []error {
3536
// Load required platforms
3637
var merr []error
3738
var platformReleases []*cores.PlatformRelease
3839
indexURLs := map[string]*url.URL{}
3940
for _, platformRef := range p.Platforms {
40-
if platformRelease, err := pm.loadProfilePlatform(platformRef); err != nil {
41+
if platformRelease, err := pm.loadProfilePlatform(platformRef, installMissing, downloadCB, taskCB); err != nil {
4142
merr = append(merr, fmt.Errorf("%s: %w", tr("loading required platform %s", platformRef), err))
4243
logrus.WithField("platform", platformRef).WithError(err).Debugf("Error loading platform for profile")
4344
} else {
@@ -51,7 +52,7 @@ func (pm *PackageManager) LoadHardwareForProfile(p *sketch.Profile) []error {
5152
for _, platformRelease := range platformReleases {
5253
for _, toolDep := range platformRelease.ToolDependencies {
5354
indexURL := indexURLs[toolDep.ToolPackager]
54-
if err := pm.loadProfileTool(toolDep, indexURL); err != nil {
55+
if err := pm.loadProfileTool(toolDep, indexURL, installMissing, downloadCB, taskCB); err != nil {
5556
merr = append(merr, fmt.Errorf("%s: %w", tr("loading required tool %s", toolDep), err))
5657
logrus.WithField("tool", toolDep).WithField("index_url", indexURL).WithError(err).Debugf("Error loading tool for profile")
5758
} else {
@@ -63,7 +64,7 @@ func (pm *PackageManager) LoadHardwareForProfile(p *sketch.Profile) []error {
6364
return merr
6465
}
6566

66-
func (pm *PackageManager) loadProfilePlatform(platformRef *sketch.ProfilePlatformReference) (*cores.PlatformRelease, error) {
67+
func (pm *PackageManager) loadProfilePlatform(platformRef *sketch.ProfilePlatformReference, installMissing bool, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) (*cores.PlatformRelease, error) {
6768
targetPackage := pm.Packages.GetOrCreatePackage(platformRef.Packager)
6869
platform := targetPackage.GetOrCreatePlatform(platformRef.Architecture)
6970
release := platform.GetOrCreateRelease(platformRef.Version)
@@ -127,7 +128,7 @@ func (pm *PackageManager) installMissingProfilePlatform(platformRef *sketch.Prof
127128
return nil
128129
}
129130

130-
func (pm *PackageManager) loadProfileTool(toolRef *cores.ToolDependency, indexURL *url.URL) error {
131+
func (pm *PackageManager) loadProfileTool(toolRef *cores.ToolDependency, indexURL *url.URL, installMissing bool, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error {
131132
targetPackage := pm.Packages.GetOrCreatePackage(toolRef.ToolPackager)
132133
tool := targetPackage.GetOrCreateTool(toolRef.ToolName)
133134

0 commit comments

Comments
 (0)