Skip to content

Commit b99d3bb

Browse files
committed
Update Workspace initialization to configure registryManager
1 parent 6076bf8 commit b99d3bb

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

Sources/Commands/SwiftTool.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -560,6 +560,7 @@ public class SwiftTool {
560560
sharedConfigurationDirectory: sharedConfigurationDirectory
561561
),
562562
mirrors: self.getMirrorsConfig(sharedConfigurationDirectory: sharedConfigurationDirectory).mirrors,
563+
registries: try? self.getRegistriesConfig().configuration,
563564
authorizationProvider: self.getAuthorizationProvider(),
564565
customManifestLoader: self.getManifestLoader(), // FIXME: doe we really need to customize it?
565566
customRepositoryProvider: provider, // FIXME: doe we really need to customize it?

Sources/Workspace/Workspace.swift

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,11 +258,13 @@ public class Workspace {
258258
fileSystem: FileSystem,
259259
location: Location,
260260
mirrors: DependencyMirrors? = .none,
261+
registries: RegistryConfiguration? = .none,
261262
authorizationProvider: AuthorizationProvider? = .none,
262263
customToolsVersion: ToolsVersion? = .none,
263264
customManifestLoader: ManifestLoaderProtocol? = .none,
264265
customRepositoryManager: RepositoryManager? = .none,
265266
customRepositoryProvider: RepositoryProvider? = .none,
267+
customRegistryManager: RegistryManager? = .none,
266268
customIdentityResolver: IdentityResolver? = .none,
267269
customHTTPClient: HTTPClient? = .none,
268270
customArchiver: Archiver? = .none,
@@ -281,6 +283,8 @@ public class Workspace {
281283
toolchain: UserToolchain(destination: .hostDestination()).configuration,
282284
cacheDir: location.sharedManifestsCacheDirectory
283285
)
286+
let mirrors = mirrors ?? DependencyMirrors()
287+
let identityResolver = customIdentityResolver ?? DefaultIdentityResolver(locationMapper: mirrors.effectiveURL(for:))
284288
let repositoryProvider = customRepositoryProvider ?? GitRepositoryProvider()
285289
let sharedRepositoriesCacheEnabled = sharedRepositoriesCacheEnabled ?? true
286290
let repositoryManager = customRepositoryManager ?? RepositoryManager(
@@ -290,10 +294,15 @@ public class Workspace {
290294
delegate: delegate.map(WorkspaceRepositoryManagerDelegate.init(workspaceDelegate:)),
291295
cachePath: sharedRepositoriesCacheEnabled ? location.sharedRepositoriesCacheDirectory : .none
292296
)
297+
let registryManager = customRegistryManager ?? registries.map { configuration in
298+
RegistryManager(configuration: configuration,
299+
identityResolver: identityResolver,
300+
authorizationProvider: authorizationProvider?.httpAuthorizationHeader(for:),
301+
diagnosticEngine: nil)
302+
}
293303
let httpClient = customHTTPClient ?? HTTPClient()
294304
let archiver = customArchiver ?? ZipArchiver()
295-
let mirrors = mirrors ?? DependencyMirrors()
296-
let identityResolver = customIdentityResolver ?? DefaultIdentityResolver(locationMapper: mirrors.effectiveURL(for:))
305+
297306
var checksumAlgorithm = customChecksumAlgorithm ?? SHA256()
298307
#if canImport(CryptoKit)
299308
if checksumAlgorithm is SHA256, #available(macOS 10.15, *) {
@@ -318,6 +327,7 @@ public class Workspace {
318327
self.httpClient = httpClient
319328
self.archiver = archiver
320329
self.repositoryManager = repositoryManager
330+
self.registryManager = registryManager
321331
self.identityResolver = identityResolver
322332
self.checksumAlgorithm = checksumAlgorithm
323333

0 commit comments

Comments
 (0)