Skip to content

Commit 8711f89

Browse files
committed
Renamed Archive -> Resolver
1 parent 9f1049e commit 8711f89

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

resolver.go

+11-10
Original file line numberDiff line numberDiff line change
@@ -44,35 +44,36 @@ func (set Releases[R, D]) SortDescent() {
4444
})
4545
}
4646

47-
// Archive contains all Releases set to consider for dependency resolution
48-
type Archive[R Release[D], D Dependency] struct {
47+
// Resolver is a container with references to all Releases to consider for
48+
// dependency resolution
49+
type Resolver[R Release[D], D Dependency] struct {
4950
releases map[string]Releases[R, D]
5051
}
5152

52-
// NewArchive creates a new archive
53-
func NewArchive[R Release[D], D Dependency]() *Archive[R, D] {
54-
return &Archive[R, D]{
53+
// NewResolver creates a new archive
54+
func NewResolver[R Release[D], D Dependency]() *Resolver[R, D] {
55+
return &Resolver[R, D]{
5556
releases: map[string]Releases[R, D]{},
5657
}
5758
}
5859

5960
// AddRelease adds a release to this archive
60-
func (ar *Archive[R, D]) AddRelease(rel R) {
61+
func (ar *Resolver[R, D]) AddRelease(rel R) {
6162
relName := rel.GetName()
6263
ar.releases[relName] = append(ar.releases[relName], rel)
6364
}
6465

6566
// AddReleases adds all the releases to this archive
66-
func (ar *Archive[R, D]) AddReleases(rels ...R) {
67+
func (ar *Resolver[R, D]) AddReleases(rels ...R) {
6768
for _, rel := range rels {
6869
relName := rel.GetName()
6970
ar.releases[relName] = append(ar.releases[relName], rel)
7071
}
7172
}
7273

7374
// Resolve will try to depp-resolve dependencies from the Release passed as
74-
// arguent using a backtracking algorithm.
75-
func (ar *Archive[R, D]) Resolve(release R) Releases[R, D] {
75+
// arguent using a backtracking algorithm. This function is NOT thread-safe.
76+
func (ar *Resolver[R, D]) Resolve(release R) Releases[R, D] {
7677
// Initial empty state of the resolver
7778
solution := map[string]R{}
7879
depsToProcess := []D{}
@@ -96,7 +97,7 @@ func hashDependency[D Dependency](dep D) dependencyHash {
9697
return dependencyHash(dep.GetName() + "/" + dep.GetConstraint().String())
9798
}
9899

99-
func (ar *Archive[R, D]) resolve(solution map[string]R, depsToProcess []D, problematicDeps map[dependencyHash]int) Releases[R, D] {
100+
func (ar *Resolver[R, D]) resolve(solution map[string]R, depsToProcess []D, problematicDeps map[dependencyHash]int) Releases[R, D] {
100101
debug("deps to process: %s", depsToProcess)
101102
if len(depsToProcess) == 0 {
102103
debug("All dependencies have been resolved.")

resolver_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ func TestResolver(t *testing.T) {
123123
i160 := rel("I", "1.6.0", deps())
124124
i170 := rel("I", "1.7.0", deps())
125125
i180 := rel("I", "1.8.0", deps())
126-
arch := NewArchive[*customRel, *customDep]()
126+
arch := NewResolver[*customRel, *customDep]()
127127
arch.AddReleases(
128128
a100, a110, a111, a120, a121,
129129
b131, b130, b121, b120, b111, b110, b100,

0 commit comments

Comments
 (0)