Skip to content

Commit

Permalink
Updated semver library
Browse files Browse the repository at this point in the history
  • Loading branch information
cmaglie committed Nov 22, 2023
1 parent b41f404 commit 5940923
Show file tree
Hide file tree
Showing 6 changed files with 13 additions and 26 deletions.
2 changes: 1 addition & 1 deletion .licenses/go/go.bug.st/relaxed-semver.dep.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: go.bug.st/relaxed-semver
version: v0.11.0
version: v0.11.1-0.20231122120249-16de0444594d
type: go
summary:
homepage: https://pkg.go.dev/go.bug.st/relaxed-semver
Expand Down
25 changes: 6 additions & 19 deletions arduino/libraries/librariesindex/index.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ type Library struct {
type Release struct {
Author string
Version *semver.Version
Dependencies []semver.Dependency
Dependencies []*Dependency
Maintainer string
Sentence string
Paragraph string
Expand Down Expand Up @@ -85,7 +85,7 @@ func (r *Release) GetVersion() *semver.Version {
}

// GetDependencies returns the dependencies of this library.
func (r *Release) GetDependencies() []semver.Dependency {
func (r *Release) GetDependencies() []*Dependency {
return r.Dependencies
}

Expand Down Expand Up @@ -146,29 +146,16 @@ func (idx *Index) FindLibraryUpdate(lib *libraries.Library) *Release {

// ResolveDependencies returns the dependencies of a library release.
func (idx *Index) ResolveDependencies(lib *Release) []*Release {
// Box lib index *Release to be digested by dep-resolver
// (TODO: There is a better use of golang interfaces to avoid this?)
allReleases := map[string]semver.Releases{}
// Create and populate the library resolver
resolver := semver.NewResolver[*Release, *Dependency]()
for _, indexLib := range idx.Libraries {
releases := semver.Releases{}
for _, indexLibRelease := range indexLib.Releases {
releases = append(releases, indexLibRelease)
resolver.AddRelease(indexLibRelease)
}
allReleases[indexLib.Name] = releases
}

// Perform lib resolution
archive := &semver.Archive{
Releases: allReleases,
}
deps := archive.Resolve(lib)

// Unbox resolved deps back into *Release
res := []*Release{}
for _, dep := range deps {
res = append(res, dep.(*Release))
}
return res
return resolver.Resolve(lib)
}

// Versions returns an array of all versions available of the library
Expand Down
4 changes: 2 additions & 2 deletions arduino/libraries/librariesindex/json.go
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,8 @@ func (indexLib *indexRelease) extractReleaseIn(library *Library) {
}
}

func (indexLib *indexRelease) extractDependencies() []semver.Dependency {
res := []semver.Dependency{}
func (indexLib *indexRelease) extractDependencies() []*Dependency {
res := []*Dependency{}
if indexLib.Dependencies == nil || len(indexLib.Dependencies) == 0 {
return res
}
Expand Down
2 changes: 1 addition & 1 deletion commands/lib/search.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ func getLibraryParameters(rel *librariesindex.Release) *rpc.LibraryRelease {
}
}

func getLibraryDependenciesParameter(deps []semver.Dependency) []*rpc.LibraryDependency {
func getLibraryDependenciesParameter(deps []*librariesindex.Dependency) []*rpc.LibraryDependency {
res := []*rpc.LibraryDependency{}
for _, dep := range deps {
res = append(res, &rpc.LibraryDependency{
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ require (
github.com/xeipuuv/gojsonschema v1.2.0
go.bug.st/cleanup v1.0.0
go.bug.st/downloader/v2 v2.1.1
go.bug.st/relaxed-semver v0.11.0
go.bug.st/relaxed-semver v0.11.1-0.20231122120249-16de0444594d
go.bug.st/serial v1.6.1
go.bug.st/testifyjson v1.1.1
golang.org/x/term v0.14.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -455,8 +455,8 @@ go.bug.st/cleanup v1.0.0/go.mod h1:EqVmTg2IBk4znLbPD28xne3abjsJftMdqqJEjhn70bk=
go.bug.st/downloader/v2 v2.1.1 h1:nyqbUizo3E2IxCCm4YFac4FtSqqFpqWP+Aae5GCMuw4=
go.bug.st/downloader/v2 v2.1.1/go.mod h1:VZW2V1iGKV8rJL2ZEGIDzzBeKowYv34AedJz13RzVII=
go.bug.st/relaxed-semver v0.9.0/go.mod h1:ug0/W/RPYUjliE70Ghxg77RDHmPxqpo7SHV16ijss7Q=
go.bug.st/relaxed-semver v0.11.0 h1:ngzpUlBEZ5F9hJnMZP55LIFbgX3bCztBBufMhJViAsY=
go.bug.st/relaxed-semver v0.11.0/go.mod h1:rqPEm+790OTQlAdfSJSHWwpKOg3A8UyvAWMZxYkQivc=
go.bug.st/relaxed-semver v0.11.1-0.20231122120249-16de0444594d h1:Z1Mf7CgiFqn6RZo2M+emzr2iCGMfP00d3zZV8vM058Y=
go.bug.st/relaxed-semver v0.11.1-0.20231122120249-16de0444594d/go.mod h1:Cpcbiig6Omwlq6bS7i3MQWiqS7W7HDd8CAnZFC40Cl0=
go.bug.st/serial v1.3.2/go.mod h1:jDkjqASf/qSjmaOxHSHljwUQ6eHo/ZX/bxJLQqSlvZg=
go.bug.st/serial v1.6.1 h1:VSSWmUxlj1T/YlRo2J104Zv3wJFrjHIl/T3NeruWAHY=
go.bug.st/serial v1.6.1/go.mod h1:UABfsluHAiaNI+La2iESysd9Vetq7VRdpxvjx7CmmOE=
Expand Down

0 comments on commit 5940923

Please sign in to comment.