Skip to content

Commit dc8c63d

Browse files
committed
[DependencyResolver] Provide constraints in resolve(), not init.
1 parent bc9a19f commit dc8c63d

File tree

2 files changed

+9
-14
lines changed

2 files changed

+9
-14
lines changed

Sources/PackageGraph/DependencyResolver.swift

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -509,27 +509,24 @@ public class DependencyResolver<
509509
/// only kind of constraints we operate on.
510510
public typealias Constraint = PackageContainerConstraint<Identifier>
511511

512-
/// The initial constraints.
513-
public let constraints: [Constraint]
514512

515513
/// The container provider used to load package containers.
516514
public let provider: Provider
517515

518516
/// The resolver's delegate.
519517
public let delegate: Delegate
520518

521-
public init(
522-
constraints: [Constraint],
523-
provider: Provider,
524-
delegate: Delegate)
525-
{
526-
self.constraints = constraints
519+
public init(_ provider: Provider, _ delegate: Delegate) {
527520
self.provider = provider
528521
self.delegate = delegate
529522
}
530523

531524
/// Execute the resolution algorithm to find a valid assignment of versions.
532-
public func resolve() throws -> [(container: Identifier, version: Version)] {
525+
///
526+
/// - Parameters:
527+
/// - constraints: The contraints to solve.
528+
/// - Returns: A satisfying assignment of containers and versions.
529+
public func resolve(constraints: [Constraint]) throws -> [(container: Identifier, version: Version)] {
533530
// For now, we just load the transitive closure of the dependencies at
534531
// the latest version, and ignore the version requirements.
535532

Tests/PackageGraphTests/DependencyResolverTests.swift

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,9 @@ class DependencyResolverTests: XCTestCase {
9797
v1: [], v2: []])])
9898

9999
let delegate = MockResolverDelegate()
100-
let resolver = DependencyResolver(
101-
constraints: [MockPackageConstraint(container: "A", versionRequirement: v1Range)],
102-
provider: provider,
103-
delegate: delegate)
104-
let packages = try resolver.resolve()
100+
let resolver = DependencyResolver(provider, delegate)
101+
let packages = try resolver.resolve(constraints: [
102+
MockPackageConstraint(container: "A", versionRequirement: v1Range)])
105103
XCTAssertEqual(packages.map{ $0.container }.sorted(), ["A", "B", "C"])
106104
XCTAssertEqual(delegate.messages, [
107105
"added container: A",

0 commit comments

Comments
 (0)