@@ -91,7 +91,12 @@ public class Workspace {
91
91
public let state : WorkspaceState
92
92
93
93
// `public` visibility for testing
94
- @available ( * , deprecated, renamed: " resolvedPackagesStore " , message: " Renamed for consistency with the actual name of the feature " )
94
+ @available (
95
+ * ,
96
+ deprecated,
97
+ renamed: " resolvedPackagesStore " ,
98
+ message: " Renamed for consistency with the actual name of the feature "
99
+ )
95
100
public var pinsStore : LoadableResult < PinsStore > { self . resolvedPackagesStore }
96
101
97
102
/// The `Package.resolved` store. The `Package.resolved` file will be created when first resolved package is added
@@ -320,7 +325,8 @@ public class Workspace {
320
325
toolchain: customHostToolchain,
321
326
cacheDir: location. sharedManifestsCacheDirectory,
322
327
importRestrictions: configuration? . manifestImportRestrictions,
323
- delegate: delegate. map ( WorkspaceManifestLoaderDelegate . init ( workspaceDelegate: ) )
328
+ delegate: delegate. map ( WorkspaceManifestLoaderDelegate . init ( workspaceDelegate: ) ) ,
329
+ pruneDependencies: configuration? . pruneDependencies ?? false
324
330
)
325
331
try self . init (
326
332
fileSystem: fileSystem,
@@ -455,7 +461,8 @@ public class Workspace {
455
461
var manifestLoader = customManifestLoader ?? ManifestLoader (
456
462
toolchain: hostToolchain,
457
463
cacheDir: location. sharedManifestsCacheDirectory,
458
- importRestrictions: configuration? . manifestImportRestrictions
464
+ importRestrictions: configuration? . manifestImportRestrictions,
465
+ pruneDependencies: configuration? . pruneDependencies ?? false
459
466
)
460
467
// set delegate if not set
461
468
if let manifestLoader = manifestLoader as? ManifestLoader , manifestLoader. delegate == nil {
@@ -552,7 +559,8 @@ public class Workspace {
552
559
authorizationProvider: authorizationProvider,
553
560
hostToolchain: hostToolchain,
554
561
checksumAlgorithm: checksumAlgorithm,
555
- cachePath: customBinaryArtifactsManager? . useCache == false || !configuration. sharedDependenciesCacheEnabled ? . none : location. sharedBinaryArtifactsCacheDirectory,
562
+ cachePath: customBinaryArtifactsManager? . useCache == false || !configuration
563
+ . sharedDependenciesCacheEnabled ? . none : location. sharedBinaryArtifactsCacheDirectory,
556
564
customHTTPClient: customBinaryArtifactsManager? . httpClient,
557
565
customArchiver: customBinaryArtifactsManager? . archiver,
558
566
delegate: delegate. map ( WorkspaceBinaryArtifactsManagerDelegate . init ( workspaceDelegate: ) )
@@ -564,7 +572,8 @@ public class Workspace {
564
572
fileSystem: fileSystem,
565
573
authorizationProvider: authorizationProvider,
566
574
scratchPath: location. prebuiltsDirectory,
567
- cachePath: customPrebuiltsManager? . useCache == false || !configuration. sharedDependenciesCacheEnabled ? . none : location. sharedPrebuiltsCacheDirectory,
575
+ cachePath: customPrebuiltsManager? . useCache == false || !configuration
576
+ . sharedDependenciesCacheEnabled ? . none : location. sharedPrebuiltsCacheDirectory,
568
577
customHTTPClient: customPrebuiltsManager? . httpClient,
569
578
customArchiver: customPrebuiltsManager? . archiver,
570
579
delegate: delegate. map ( WorkspacePrebuiltsManagerDelegate . init ( workspaceDelegate: ) )
@@ -747,19 +756,20 @@ extension Workspace {
747
756
}
748
757
749
758
// Compute the custom or extra constraint we need to impose.
750
- let requirement : PackageRequirement
751
- if let version {
752
- requirement = . versionSet( . exact( version) )
759
+ let requirement : PackageRequirement = if let version {
760
+ . versionSet( . exact( version) )
753
761
} else if let branch {
754
- requirement = . revision( branch)
762
+ . revision( branch)
755
763
} else if let revision {
756
- requirement = . revision( revision)
764
+ . revision( revision)
757
765
} else {
758
- requirement = defaultRequirement
766
+ defaultRequirement
759
767
}
760
768
761
769
var dependencyEnabledTraits : Set < String > ?
762
- if let traits = root. dependencies. first ( where: { $0. nameForModuleDependencyResolutionOnly == packageName } ) ? . traits {
770
+ if let traits = root. dependencies. first ( where: { $0. nameForModuleDependencyResolutionOnly == packageName } ) ?
771
+ . traits
772
+ {
763
773
dependencyEnabledTraits = Set ( traits. map ( \. name) )
764
774
}
765
775
@@ -945,7 +955,13 @@ extension Workspace {
945
955
}
946
956
947
957
let prebuilts : [ PackageIdentity : [ String : PrebuiltLibrary ] ] = await self . state. prebuilts. reduce ( into: . init( ) ) {
948
- let prebuilt = PrebuiltLibrary ( packageRef: $1. packageRef, libraryName: $1. libraryName, path: $1. path, products: $1. products, cModules: $1. cModules)
958
+ let prebuilt = PrebuiltLibrary (
959
+ packageRef: $1. packageRef,
960
+ libraryName: $1. libraryName,
961
+ path: $1. path,
962
+ products: $1. products,
963
+ cModules: $1. cModules
964
+ )
949
965
for product in $1. products {
950
966
$0 [ $1. packageRef. identity, default: [ : ] ] [ product] = prebuilt
951
967
}
@@ -1026,7 +1042,7 @@ extension Workspace {
1026
1042
let lock = NSLock ( )
1027
1043
let sync = DispatchGroup ( )
1028
1044
var rootManifests = [ AbsolutePath: Manifest] ( )
1029
- Set ( packages) . forEach { package in
1045
+ for package in Set ( packages) {
1030
1046
sync. enter ( )
1031
1047
// TODO: this does not use the identity resolver which is probably fine since its the root packages
1032
1048
self . loadManifest (
@@ -1157,7 +1173,7 @@ extension Workspace {
1157
1173
fileSystem: self . fileSystem,
1158
1174
observabilityScope: observabilityScope,
1159
1175
// For now we enable all traits
1160
- enabledTraits: Set ( manifest. traits. map { $0 . name } )
1176
+ enabledTraits: Set ( manifest. traits. map ( \ . name) )
1161
1177
)
1162
1178
return try builder. construct ( )
1163
1179
}
@@ -1201,9 +1217,14 @@ extension Workspace {
1201
1217
observabilityScope: ObservabilityScope
1202
1218
) async throws -> Package {
1203
1219
try await withCheckedThrowingContinuation { continuation in
1204
- self . loadPackage ( with: identity, packageGraph: packageGraph, observabilityScope: observabilityScope, completion: {
1205
- continuation. resume ( with: $0)
1206
- } )
1220
+ self . loadPackage (
1221
+ with: identity,
1222
+ packageGraph: packageGraph,
1223
+ observabilityScope: observabilityScope,
1224
+ completion: {
1225
+ continuation. resume ( with: $0)
1226
+ }
1227
+ )
1207
1228
}
1208
1229
}
1209
1230
@@ -1242,7 +1263,7 @@ extension Workspace {
1242
1263
fileSystem: self . fileSystem,
1243
1264
observabilityScope: observabilityScope,
1244
1265
// For now we enable all traits
1245
- enabledTraits: Set ( manifest. traits. map { $0 . name } )
1266
+ enabledTraits: Set ( manifest. traits. map ( \ . name) )
1246
1267
)
1247
1268
return try builder. construct ( )
1248
1269
}
@@ -1331,9 +1352,9 @@ extension Workspace.ManagedArtifact {
1331
1352
fileprivate var originURL : String ? {
1332
1353
switch self . source {
1333
1354
case . remote( let url, _) :
1334
- return url
1355
+ url
1335
1356
case . local:
1336
- return nil
1357
+ nil
1337
1358
}
1338
1359
}
1339
1360
}
@@ -1356,11 +1377,11 @@ extension PackageDependency {
1356
1377
private var isLocal : Bool {
1357
1378
switch self {
1358
1379
case . fileSystem:
1359
- return true
1380
+ true
1360
1381
case . sourceControl:
1361
- return false
1382
+ false
1362
1383
case . registry:
1363
- return false
1384
+ false
1364
1385
}
1365
1386
}
1366
1387
}
@@ -1525,11 +1546,11 @@ extension ContainerUpdateStrategy {
1525
1546
var repositoryUpdateStrategy : RepositoryUpdateStrategy {
1526
1547
switch self {
1527
1548
case . always:
1528
- return . always
1549
+ . always
1529
1550
case . never:
1530
- return . never
1551
+ . never
1531
1552
case . ifNeeded( let revision) :
1532
- return . ifNeeded( revision: . init( identifier: revision) )
1553
+ . ifNeeded( revision: . init( identifier: revision) )
1533
1554
}
1534
1555
}
1535
1556
}
0 commit comments