@@ -91,7 +91,12 @@ public class Workspace {
9191 public let state : WorkspaceState
9292
9393 // `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+ )
95100 public var pinsStore : LoadableResult < PinsStore > { self . resolvedPackagesStore }
96101
97102 /// The `Package.resolved` store. The `Package.resolved` file will be created when first resolved package is added
@@ -320,7 +325,8 @@ public class Workspace {
320325 toolchain: customHostToolchain,
321326 cacheDir: location. sharedManifestsCacheDirectory,
322327 importRestrictions: configuration? . manifestImportRestrictions,
323- delegate: delegate. map ( WorkspaceManifestLoaderDelegate . init ( workspaceDelegate: ) )
328+ delegate: delegate. map ( WorkspaceManifestLoaderDelegate . init ( workspaceDelegate: ) ) ,
329+ pruneDependencies: configuration? . pruneDependencies ?? false
324330 )
325331 try self . init (
326332 fileSystem: fileSystem,
@@ -455,7 +461,8 @@ public class Workspace {
455461 var manifestLoader = customManifestLoader ?? ManifestLoader (
456462 toolchain: hostToolchain,
457463 cacheDir: location. sharedManifestsCacheDirectory,
458- importRestrictions: configuration? . manifestImportRestrictions
464+ importRestrictions: configuration? . manifestImportRestrictions,
465+ pruneDependencies: configuration? . pruneDependencies ?? false
459466 )
460467 // set delegate if not set
461468 if let manifestLoader = manifestLoader as? ManifestLoader , manifestLoader. delegate == nil {
@@ -552,7 +559,8 @@ public class Workspace {
552559 authorizationProvider: authorizationProvider,
553560 hostToolchain: hostToolchain,
554561 checksumAlgorithm: checksumAlgorithm,
555- cachePath: customBinaryArtifactsManager? . useCache == false || !configuration. sharedDependenciesCacheEnabled ? . none : location. sharedBinaryArtifactsCacheDirectory,
562+ cachePath: customBinaryArtifactsManager? . useCache == false || !configuration
563+ . sharedDependenciesCacheEnabled ? . none : location. sharedBinaryArtifactsCacheDirectory,
556564 customHTTPClient: customBinaryArtifactsManager? . httpClient,
557565 customArchiver: customBinaryArtifactsManager? . archiver,
558566 delegate: delegate. map ( WorkspaceBinaryArtifactsManagerDelegate . init ( workspaceDelegate: ) )
@@ -564,7 +572,8 @@ public class Workspace {
564572 fileSystem: fileSystem,
565573 authorizationProvider: authorizationProvider,
566574 scratchPath: location. prebuiltsDirectory,
567- cachePath: customPrebuiltsManager? . useCache == false || !configuration. sharedDependenciesCacheEnabled ? . none : location. sharedPrebuiltsCacheDirectory,
575+ cachePath: customPrebuiltsManager? . useCache == false || !configuration
576+ . sharedDependenciesCacheEnabled ? . none : location. sharedPrebuiltsCacheDirectory,
568577 customHTTPClient: customPrebuiltsManager? . httpClient,
569578 customArchiver: customPrebuiltsManager? . archiver,
570579 delegate: delegate. map ( WorkspacePrebuiltsManagerDelegate . init ( workspaceDelegate: ) )
@@ -747,19 +756,20 @@ extension Workspace {
747756 }
748757
749758 // 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) )
753761 } else if let branch {
754- requirement = . revision( branch)
762+ . revision( branch)
755763 } else if let revision {
756- requirement = . revision( revision)
764+ . revision( revision)
757765 } else {
758- requirement = defaultRequirement
766+ defaultRequirement
759767 }
760768
761769 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+ {
763773 dependencyEnabledTraits = Set ( traits. map ( \. name) )
764774 }
765775
@@ -945,7 +955,13 @@ extension Workspace {
945955 }
946956
947957 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+ )
949965 for product in $1. products {
950966 $0 [ $1. packageRef. identity, default: [ : ] ] [ product] = prebuilt
951967 }
@@ -1026,7 +1042,7 @@ extension Workspace {
10261042 let lock = NSLock ( )
10271043 let sync = DispatchGroup ( )
10281044 var rootManifests = [ AbsolutePath: Manifest] ( )
1029- Set ( packages) . forEach { package in
1045+ for package in Set ( packages) {
10301046 sync. enter ( )
10311047 // TODO: this does not use the identity resolver which is probably fine since its the root packages
10321048 self . loadManifest (
@@ -1157,7 +1173,7 @@ extension Workspace {
11571173 fileSystem: self . fileSystem,
11581174 observabilityScope: observabilityScope,
11591175 // For now we enable all traits
1160- enabledTraits: Set ( manifest. traits. map { $0 . name } )
1176+ enabledTraits: Set ( manifest. traits. map ( \ . name) )
11611177 )
11621178 return try builder. construct ( )
11631179 }
@@ -1201,9 +1217,14 @@ extension Workspace {
12011217 observabilityScope: ObservabilityScope
12021218 ) async throws -> Package {
12031219 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+ )
12071228 }
12081229 }
12091230
@@ -1242,7 +1263,7 @@ extension Workspace {
12421263 fileSystem: self . fileSystem,
12431264 observabilityScope: observabilityScope,
12441265 // For now we enable all traits
1245- enabledTraits: Set ( manifest. traits. map { $0 . name } )
1266+ enabledTraits: Set ( manifest. traits. map ( \ . name) )
12461267 )
12471268 return try builder. construct ( )
12481269 }
@@ -1331,9 +1352,9 @@ extension Workspace.ManagedArtifact {
13311352 fileprivate var originURL : String ? {
13321353 switch self . source {
13331354 case . remote( let url, _) :
1334- return url
1355+ url
13351356 case . local:
1336- return nil
1357+ nil
13371358 }
13381359 }
13391360}
@@ -1356,11 +1377,11 @@ extension PackageDependency {
13561377 private var isLocal : Bool {
13571378 switch self {
13581379 case . fileSystem:
1359- return true
1380+ true
13601381 case . sourceControl:
1361- return false
1382+ false
13621383 case . registry:
1363- return false
1384+ false
13641385 }
13651386 }
13661387}
@@ -1525,11 +1546,11 @@ extension ContainerUpdateStrategy {
15251546 var repositoryUpdateStrategy : RepositoryUpdateStrategy {
15261547 switch self {
15271548 case . always:
1528- return . always
1549+ . always
15291550 case . never:
1530- return . never
1551+ . never
15311552 case . ifNeeded( let revision) :
1532- return . ifNeeded( revision: . init( identifier: revision) )
1553+ . ifNeeded( revision: . init( identifier: revision) )
15331554 }
15341555 }
15351556}
0 commit comments