1313
1414namespace Maestro . DataProviders ;
1515
16- public class DarcRemoteFactory : IRemoteFactory
16+ public class RemoteFactory : IRemoteFactory
1717{
1818 private readonly IVersionDetailsParser _versionDetailsParser ;
1919 private readonly OperationManager _operations ;
2020 private readonly IProcessManager _processManager ;
21+ private readonly ILoggerFactory _loggerFactory ;
2122 private readonly BuildAssetRegistryContext _context ;
2223 private readonly DarcRemoteMemoryCache _cache ;
2324 private readonly IGitHubTokenProvider _gitHubTokenProvider ;
2425 private readonly IAzureDevOpsTokenProvider _azdoTokenProvider ;
2526
26- public DarcRemoteFactory (
27+ public RemoteFactory (
2728 BuildAssetRegistryContext context ,
2829 IGitHubTokenProvider gitHubTokenProvider ,
2930 IAzureDevOpsTokenProvider azdoTokenProvider ,
3031 IVersionDetailsParser versionDetailsParser ,
3132 DarcRemoteMemoryCache memoryCache ,
3233 OperationManager operations ,
33- IProcessManager processManager )
34+ IProcessManager processManager ,
35+ ILoggerFactory loggerFactory )
3436 {
3537 _operations = operations ;
3638 _processManager = processManager ;
39+ _loggerFactory = loggerFactory ;
3740 _versionDetailsParser = versionDetailsParser ;
3841 _context = context ;
3942 _gitHubTokenProvider = gitHubTokenProvider ;
4043 _azdoTokenProvider = azdoTokenProvider ;
4144 _cache = memoryCache ;
4245 }
4346
44- public async Task < IRemote > GetRemoteAsync ( string repoUrl , ILogger logger )
47+ public async Task < IRemote > CreateRemoteAsync ( string repoUrl )
4548 {
4649 using ( _operations . BeginOperation ( $ "Getting remote for repo { repoUrl } .") )
4750 {
48- IRemoteGitRepo remoteGitClient = await GetRemoteGitClient ( repoUrl , logger ) ;
49- return new Remote ( remoteGitClient , _versionDetailsParser , logger ) ;
51+ IRemoteGitRepo remoteGitClient = await GetRemoteGitClient ( repoUrl ) ;
52+ return new Remote ( remoteGitClient , _versionDetailsParser , _loggerFactory . CreateLogger < IRemote > ( ) ) ;
5053 }
5154 }
5255
53- public async Task < IDependencyFileManager > GetDependencyFileManagerAsync ( string repoUrl , ILogger logger )
56+ public async Task < IDependencyFileManager > CreateDependencyFileManagerAsync ( string repoUrl )
5457 {
5558 using ( _operations . BeginOperation ( $ "Getting remote file manager for repo { repoUrl } .") )
5659 {
57- IRemoteGitRepo remoteGitClient = await GetRemoteGitClient ( repoUrl , logger ) ;
58- return new DependencyFileManager ( remoteGitClient , _versionDetailsParser , logger ) ;
60+ IRemoteGitRepo remoteGitClient = await GetRemoteGitClient ( repoUrl ) ;
61+ return new DependencyFileManager ( remoteGitClient , _versionDetailsParser , _loggerFactory . CreateLogger < IRemote > ( ) ) ;
5962 }
6063 }
6164
62- private async Task < IRemoteGitRepo > GetRemoteGitClient ( string repoUrl , ILogger logger )
65+ private async Task < IRemoteGitRepo > GetRemoteGitClient ( string repoUrl )
6366 {
6467 // Normalize the url with the AzDO client prior to attempting to
6568 // get a token. When we do coherency updates we build a repo graph and
@@ -81,10 +84,13 @@ private async Task<IRemoteGitRepo> GetRemoteGitClient(string repoUrl, ILogger lo
8184 : new GitHubClient (
8285 new Microsoft . DotNet . DarcLib . GitHubTokenProvider ( _gitHubTokenProvider ) ,
8386 _processManager ,
84- logger ,
87+ _loggerFactory . CreateLogger < GitHubClient > ( ) ,
8588 _cache . Cache ) ,
8689
87- GitRepoType . AzureDevOps => new AzureDevOpsClient ( _azdoTokenProvider , _processManager , logger ) ,
90+ GitRepoType . AzureDevOps => new AzureDevOpsClient (
91+ _azdoTokenProvider ,
92+ _processManager ,
93+ _loggerFactory . CreateLogger < AzureDevOpsClient > ( ) ) ,
8894
8995 _ => throw new NotImplementedException ( $ "Unknown repo url type { normalizedUrl } ") ,
9096 } ;
0 commit comments