@@ -258,11 +258,13 @@ public class Workspace {
258
258
fileSystem: FileSystem ,
259
259
location: Location ,
260
260
mirrors: DependencyMirrors ? = . none,
261
+ registries: RegistryConfiguration ? = . none,
261
262
authorizationProvider: AuthorizationProvider ? = . none,
262
263
customToolsVersion: ToolsVersion ? = . none,
263
264
customManifestLoader: ManifestLoaderProtocol ? = . none,
264
265
customRepositoryManager: RepositoryManager ? = . none,
265
266
customRepositoryProvider: RepositoryProvider ? = . none,
267
+ customRegistryManager: RegistryManager ? = . none,
266
268
customIdentityResolver: IdentityResolver ? = . none,
267
269
customHTTPClient: HTTPClient ? = . none,
268
270
customArchiver: Archiver ? = . none,
@@ -281,6 +283,8 @@ public class Workspace {
281
283
toolchain: UserToolchain ( destination: . hostDestination( ) ) . configuration,
282
284
cacheDir: location. sharedManifestsCacheDirectory
283
285
)
286
+ let mirrors = mirrors ?? DependencyMirrors ( )
287
+ let identityResolver = customIdentityResolver ?? DefaultIdentityResolver ( locationMapper: mirrors. effectiveURL ( for: ) )
284
288
let repositoryProvider = customRepositoryProvider ?? GitRepositoryProvider ( )
285
289
let sharedRepositoriesCacheEnabled = sharedRepositoriesCacheEnabled ?? true
286
290
let repositoryManager = customRepositoryManager ?? RepositoryManager (
@@ -290,10 +294,15 @@ public class Workspace {
290
294
delegate: delegate. map ( WorkspaceRepositoryManagerDelegate . init ( workspaceDelegate: ) ) ,
291
295
cachePath: sharedRepositoriesCacheEnabled ? location. sharedRepositoriesCacheDirectory : . none
292
296
)
297
+ let registryManager = customRegistryManager ?? registries. map { configuration in
298
+ RegistryManager ( configuration: configuration,
299
+ identityResolver: identityResolver,
300
+ authorizationProvider: authorizationProvider? . httpAuthorizationHeader ( for: ) ,
301
+ diagnosticEngine: nil )
302
+ }
293
303
let httpClient = customHTTPClient ?? HTTPClient ( )
294
304
let archiver = customArchiver ?? ZipArchiver ( )
295
- let mirrors = mirrors ?? DependencyMirrors ( )
296
- let identityResolver = customIdentityResolver ?? DefaultIdentityResolver ( locationMapper: mirrors. effectiveURL ( for: ) )
305
+
297
306
var checksumAlgorithm = customChecksumAlgorithm ?? SHA256 ( )
298
307
#if canImport(CryptoKit)
299
308
if checksumAlgorithm is SHA256 , #available( macOS 10 . 15 , * ) {
@@ -318,6 +327,7 @@ public class Workspace {
318
327
self . httpClient = httpClient
319
328
self . archiver = archiver
320
329
self . repositoryManager = repositoryManager
330
+ self . registryManager = registryManager
321
331
self . identityResolver = identityResolver
322
332
self . checksumAlgorithm = checksumAlgorithm
323
333
0 commit comments