Skip to content

Commit dbd6a46

Browse files
authored
Make configuration optional in BuildEnvironment (#5849)
This allows filtering dependencies solely based on whether they support a given platform which may be desirable if the build configuration is not yet known.
1 parent c52ecf5 commit dbd6a46

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

Sources/PackageModel/BuildEnvironment.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
/// A build environment with which to evaluation conditions.
1414
public struct BuildEnvironment: Codable {
1515
public let platform: Platform
16-
public let configuration: BuildConfiguration
16+
public let configuration: BuildConfiguration?
1717

18-
public init(platform: Platform, configuration: BuildConfiguration) {
18+
public init(platform: Platform, configuration: BuildConfiguration? = nil) {
1919
self.platform = platform
2020
self.configuration = configuration
2121
}

Sources/PackageModel/Manifest/PackageConditionDescription.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,10 @@ public struct ConfigurationCondition: PackageConditionProtocol {
7878
}
7979

8080
public func satisfies(_ environment: BuildEnvironment) -> Bool {
81-
configuration == environment.configuration
81+
if environment.configuration == nil {
82+
return true
83+
} else {
84+
return configuration == environment.configuration
85+
}
8286
}
8387
}

Tests/BuildTests/MockBuildTestHelper.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ func mockBuildParameters(environment: BuildEnvironment) -> BuildParameters {
101101
fatalError("unsupported platform in tests")
102102
}
103103

104-
return mockBuildParameters(config: environment.configuration, destinationTriple: triple)
104+
return mockBuildParameters(config: environment.configuration ?? .debug, destinationTriple: triple)
105105
}
106106

107107
enum BuildError: Swift.Error {

0 commit comments

Comments
 (0)