3using Microsoft.Extensions.Logging;
38 readonly ILogger<RemoteDeploymentManagerFactory>
logger;
53 ILogger<RemoteDeploymentManagerFactory>
logger)
59 this.logger =
logger ??
throw new ArgumentNullException(nameof(
logger));
65 ArgumentNullException.ThrowIfNull(metadata);
67 logger.LogTrace(
"Creating remote deployment manager for remote git provider {remoteGitProvider}...", remoteGitProvider);
68 return remoteGitProvider
switch
79 _ =>
throw new InvalidOperationException($
"Invalid RemoteGitProvider: {remoteGitProvider}!"),
86 ArgumentNullException.ThrowIfNull(compileJob);
91 if (compileJob.RepositoryOrigin ==
null)
96 compileJob.RepositoryOrigin));
IRemoteDeploymentManager for GitHub.com.
IRemoteDeploymentManager for GitLab.com.
No-op implementation of IRemoteDeploymentManager.
RemoteDeploymentManagerFactory(IDatabaseContextFactory databaseContextFactory, IGitHubServiceFactory gitHubServiceFactory, IGitRemoteFeaturesFactory gitRemoteFeaturesFactory, ILoggerFactory loggerFactory, ILogger< RemoteDeploymentManagerFactory > logger)
Initializes a new instance of the RemoteDeploymentManagerFactory class.
readonly ILogger< RemoteDeploymentManagerFactory > logger
The IDatabaseContextFactory for the RemoteDeploymentManagerFactory.
readonly IGitRemoteFeaturesFactory gitRemoteFeaturesFactory
The IGitRemoteFeaturesFactory for the RemoteDeploymentManagerFactory.
readonly IGitHubServiceFactory gitHubServiceFactory
The IDatabaseContextFactory for the RemoteDeploymentManagerFactory.
readonly IDatabaseContextFactory databaseContextFactory
The IDatabaseContextFactory for the RemoteDeploymentManagerFactory.
IRemoteDeploymentManager CreateRemoteDeploymentManager(Api.Models.Instance metadata, Models.CompileJob compileJob)
Create a IRemoteDeploymentManager for a given compileJob . A new IRemoteDeploymentManager.
readonly ILoggerFactory loggerFactory
The IDatabaseContextFactory for the RemoteDeploymentManagerFactory.
IRemoteDeploymentManager CreateRemoteDeploymentManager(Api.Models.Instance metadata, RemoteGitProvider remoteGitProvider)
Creates a IRemoteDeploymentManager for a given remoteGitProvider . A new IRemoteDeploymentManager bas...
Factory for creating IRemoteDeploymentManagers.
Creates and updates remote deployments.
Factory for creating IGitRemoteFeatures.
RemoteGitProvider ParseRemoteGitProviderFromOrigin(Uri origin)
Gets the RemoteGitProvider for a given origin .
Factory for scoping usage of IDatabaseContexts. Meant for use by Components.
Factory for IGitHubServices.
RemoteGitProvider
Indicates the remote git host.