Skip to content

Commit 25f57e1

Browse files
committed
Code review
1 parent 28ca7a4 commit 25f57e1

File tree

7 files changed

+110
-18
lines changed

7 files changed

+110
-18
lines changed

Sources/PackageGraph/GraphLoadingNode.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public struct GraphLoadingNode: Equatable, Hashable {
3030
public let productFilter: ProductFilter
3131

3232
/// The enabled traits for this package.
33-
public var enabledTraits: Set<String>
33+
package var enabledTraits: Set<String>
3434

3535
public init(
3636
identity: PackageIdentity,

Sources/PackageGraph/Resolution/ResolvedPackage.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public struct ResolvedPackage {
4040
public let products: [ResolvedProduct]
4141

4242
/// The enabled traits of this package.
43-
public let enabledTraits: Set<String>
43+
package let enabledTraits: Set<String>
4444

4545
/// The dependencies of the package.
4646
public let dependencies: [PackageIdentity]

Sources/PackageLoading/PackageBuilder.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ extension ModuleError: CustomStringConvertible {
177177
"""
178178
case .invalidTrait(let package, let trait):
179179
return """
180-
Tried to enable invalid trait "\(trait)" for package \(package)
180+
Trait '"\(trait)"' is not declared by package '\(package)'.
181181
"""
182182
}
183183
}

Sources/PackageModel/DependencyMapper.swift

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,9 +133,9 @@ public struct MappablePackageDependency {
133133
public let parentPackagePath: AbsolutePath
134134
public let kind: Kind
135135
public let productFilter: ProductFilter
136-
public let traits: Set<PackageDependency.Trait>?
136+
package let traits: Set<PackageDependency.Trait>?
137137

138-
public init(
138+
package init(
139139
parentPackagePath: AbsolutePath,
140140
kind: Kind,
141141
productFilter: ProductFilter,
@@ -147,6 +147,19 @@ public struct MappablePackageDependency {
147147
self.traits = traits
148148
}
149149

150+
public init(
151+
parentPackagePath: AbsolutePath,
152+
kind: Kind,
153+
productFilter: ProductFilter
154+
) {
155+
self.init(
156+
parentPackagePath: parentPackagePath,
157+
kind: kind,
158+
productFilter: productFilter,
159+
traits: nil
160+
)
161+
}
162+
150163
public enum Kind {
151164
case fileSystem(name: String?, path: String)
152165
case sourceControl(name: String?, location: String, requirement: PackageDependency.SourceControl.Requirement)

Sources/PackageModel/Manifest/PackageDependencyDescription.swift

Lines changed: 90 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,29 +20,29 @@ import struct TSCUtility.Version
2020
/// Represents a package dependency.
2121
public enum PackageDependency: Equatable, Hashable, Sendable {
2222
/// A struct representing an enabled trait of a dependency.
23-
public struct Trait: Hashable, Sendable, Codable, ExpressibleByStringLiteral {
23+
package struct Trait: Hashable, Sendable, Codable, ExpressibleByStringLiteral {
2424
/// A condition that limits the application of a dependencies trait.
25-
public struct Condition: Hashable, Sendable, Codable {
25+
package struct Condition: Hashable, Sendable, Codable {
2626
/// The set of traits of this package that enable the dependencie's trait.
27-
public let traits: Set<String>?
27+
package let traits: Set<String>?
2828

2929
public init(traits: Set<String>?) {
3030
self.traits = traits
3131
}
3232
}
3333

3434
/// The name of the enabled trait.
35-
public var name: String
35+
package var name: String
3636

3737
/// The condition under which the trait is enabled.
38-
public var condition: Condition?
38+
package var condition: Condition?
3939

4040
/// Initializes a new enabled trait.
4141
///
4242
/// - Parameters:
4343
/// - name: The name of the enabled trait.
4444
/// - condition: The condition under which the trait is enabled.
45-
public init(
45+
package init(
4646
name: String,
4747
condition: Condition? = nil
4848
) {
@@ -59,7 +59,7 @@ public enum PackageDependency: Equatable, Hashable, Sendable {
5959
/// - Parameters:
6060
/// - name: The name of the enabled trait.
6161
/// - condition: The condition under which the trait is enabled.
62-
public static func trait(
62+
package static func trait(
6363
name: String,
6464
condition: Condition? = nil
6565
) -> Trait {
@@ -79,7 +79,7 @@ public enum PackageDependency: Equatable, Hashable, Sendable {
7979
public let nameForTargetDependencyResolutionOnly: String?
8080
public let path: AbsolutePath
8181
public let productFilter: ProductFilter
82-
public let traits: Set<Trait>?
82+
package let traits: Set<Trait>?
8383
}
8484

8585
public struct SourceControl: Equatable, Hashable, Encodable, Sendable {
@@ -88,7 +88,7 @@ public enum PackageDependency: Equatable, Hashable, Sendable {
8888
public let location: Location
8989
public let requirement: Requirement
9090
public let productFilter: ProductFilter
91-
public let traits: Set<Trait>?
91+
package let traits: Set<Trait>?
9292

9393
public enum Requirement: Equatable, Hashable, Sendable {
9494
case exact(Version)
@@ -107,7 +107,7 @@ public enum PackageDependency: Equatable, Hashable, Sendable {
107107
public let identity: PackageIdentity
108108
public let requirement: Requirement
109109
public let productFilter: ProductFilter
110-
public let traits: Set<Trait>?
110+
package let traits: Set<Trait>?
111111

112112
/// The dependency requirement.
113113
public enum Requirement: Equatable, Hashable, Sendable {
@@ -116,7 +116,7 @@ public enum PackageDependency: Equatable, Hashable, Sendable {
116116
}
117117
}
118118

119-
public var traits: Set<Trait>? {
119+
package var traits: Set<Trait>? {
120120
switch self {
121121
case .fileSystem(let settings):
122122
return settings.traits
@@ -210,6 +210,21 @@ public enum PackageDependency: Equatable, Hashable, Sendable {
210210
}
211211

212212
public static func fileSystem(
213+
identity: PackageIdentity,
214+
nameForTargetDependencyResolutionOnly: String?,
215+
path: AbsolutePath,
216+
productFilter: ProductFilter
217+
) -> Self {
218+
.fileSystem(
219+
identity: identity,
220+
nameForTargetDependencyResolutionOnly: nameForTargetDependencyResolutionOnly,
221+
path: path,
222+
productFilter: productFilter,
223+
traits: nil
224+
)
225+
}
226+
227+
package static func fileSystem(
213228
identity: PackageIdentity,
214229
nameForTargetDependencyResolutionOnly: String?,
215230
path: AbsolutePath,
@@ -228,6 +243,23 @@ public enum PackageDependency: Equatable, Hashable, Sendable {
228243
}
229244

230245
public static func localSourceControl(
246+
identity: PackageIdentity,
247+
nameForTargetDependencyResolutionOnly: String?,
248+
path: AbsolutePath,
249+
requirement: SourceControl.Requirement,
250+
productFilter: ProductFilter
251+
) -> Self {
252+
.localSourceControl(
253+
identity: identity,
254+
nameForTargetDependencyResolutionOnly: nameForTargetDependencyResolutionOnly,
255+
path: path,
256+
requirement: requirement,
257+
productFilter: productFilter,
258+
traits: nil
259+
)
260+
}
261+
262+
package static func localSourceControl(
231263
identity: PackageIdentity,
232264
nameForTargetDependencyResolutionOnly: String?,
233265
path: AbsolutePath,
@@ -246,6 +278,23 @@ public enum PackageDependency: Equatable, Hashable, Sendable {
246278
}
247279

248280
public static func remoteSourceControl(
281+
identity: PackageIdentity,
282+
nameForTargetDependencyResolutionOnly: String?,
283+
url: SourceControlURL,
284+
requirement: SourceControl.Requirement,
285+
productFilter: ProductFilter
286+
) -> Self {
287+
.remoteSourceControl(
288+
identity: identity,
289+
nameForTargetDependencyResolutionOnly: nameForTargetDependencyResolutionOnly,
290+
url: url,
291+
requirement: requirement,
292+
productFilter: productFilter,
293+
traits: nil
294+
)
295+
}
296+
297+
package static func remoteSourceControl(
249298
identity: PackageIdentity,
250299
nameForTargetDependencyResolutionOnly: String?,
251300
url: SourceControlURL,
@@ -264,6 +313,23 @@ public enum PackageDependency: Equatable, Hashable, Sendable {
264313
}
265314

266315
public static func sourceControl(
316+
identity: PackageIdentity,
317+
nameForTargetDependencyResolutionOnly: String?,
318+
location: SourceControl.Location,
319+
requirement: SourceControl.Requirement,
320+
productFilter: ProductFilter
321+
) -> Self {
322+
.sourceControl(
323+
identity: identity,
324+
nameForTargetDependencyResolutionOnly: nameForTargetDependencyResolutionOnly,
325+
location: location,
326+
requirement: requirement,
327+
productFilter: productFilter,
328+
traits: nil
329+
)
330+
}
331+
332+
package static func sourceControl(
267333
identity: PackageIdentity,
268334
nameForTargetDependencyResolutionOnly: String?,
269335
location: SourceControl.Location,
@@ -284,6 +350,19 @@ public enum PackageDependency: Equatable, Hashable, Sendable {
284350
}
285351

286352
public static func registry(
353+
identity: PackageIdentity,
354+
requirement: Registry.Requirement,
355+
productFilter: ProductFilter
356+
) -> Self {
357+
.registry(
358+
identity: identity,
359+
requirement: requirement,
360+
productFilter: productFilter,
361+
traits: nil
362+
)
363+
}
364+
365+
package static func registry(
287366
identity: PackageIdentity,
288367
requirement: Registry.Requirement,
289368
productFilter: ProductFilter,

Sources/SPMTestSupport/MockDependency.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public struct MockDependency {
2222
public let deprecatedName: String?
2323
public let location: Location
2424
public let products: ProductFilter
25-
public let traits: Set<PackageDependency.Trait>
25+
package let traits: Set<PackageDependency.Trait>
2626

2727
init(
2828
deprecatedName: String? = nil,

Sources/SPMTestSupport/PackageDependencyDescriptionExtensions.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import PackageModel
1616

1717
import struct TSCUtility.Version
1818

19-
public extension PackageDependency {
19+
package extension PackageDependency {
2020
static func fileSystem(
2121
identity: PackageIdentity? = nil,
2222
deprecatedName: String? = nil,

0 commit comments

Comments
 (0)