@@ -50,38 +50,7 @@ public IEnumerable<IIssue> ReadIssues()
5050 // Process providers in parallel
5151 _ = Parallel . For ( 0 , this . issueProviders . Count , i =>
5252 {
53- var issueProvider = this . issueProviders [ i ] ;
54- var providerName = issueProvider . GetType ( ) . Name ;
55- this . log . Verbose ( "Initialize issue provider {0}..." , providerName ) ;
56-
57- if ( issueProvider . Initialize ( this . settings ) )
58- {
59- this . log . Verbose ( "Reading issues from {0}..." , providerName ) ;
60- var currentIssues = issueProvider . ReadIssues ( ) . ToList ( ) ;
61-
62- this . log . Verbose (
63- "Found {0} issues using issue provider {1}..." ,
64- currentIssues . Count ,
65- providerName ) ;
66-
67- // Post-process issues - this is thread-safe as each provider gets its own issues
68- currentIssues . ForEach ( x =>
69- {
70- x . Run = this . settings . Run ;
71-
72- if ( this . settings . FileLinkSettings != null )
73- {
74- x . FileLink = this . settings . FileLinkSettings . GetFileLink ( x ) ;
75- }
76- } ) ;
77-
78- results [ i ] = currentIssues ;
79- }
80- else
81- {
82- this . log . Warning ( "Error initializing issue provider {0}." , providerName ) ;
83- results [ i ] = [ ] ;
84- }
53+ results [ i ] = this . ReadIssuesFromProvider ( this . issueProviders [ i ] ) ;
8554 } ) ;
8655
8756 stopwatch . Stop ( ) ;
@@ -95,4 +64,39 @@ public IEnumerable<IIssue> ReadIssues()
9564
9665 return issuesList ;
9766 }
67+
68+ private List < IIssue > ReadIssuesFromProvider ( IIssueProvider issueProvider )
69+ {
70+ var providerName = issueProvider . GetType ( ) . Name ;
71+ this . log . Verbose ( "Initialize issue provider {0}..." , providerName ) ;
72+
73+ if ( issueProvider . Initialize ( this . settings ) )
74+ {
75+ this . log . Verbose ( "Reading issues from {0}..." , providerName ) ;
76+ var currentIssues = issueProvider . ReadIssues ( ) . ToList ( ) ;
77+
78+ this . log . Verbose (
79+ "Found {0} issues using issue provider {1}..." ,
80+ currentIssues . Count ,
81+ providerName ) ;
82+
83+ // Post-process issues - this is thread-safe as each provider gets its own issues
84+ currentIssues . ForEach ( x =>
85+ {
86+ x . Run = this . settings . Run ;
87+
88+ if ( this . settings . FileLinkSettings != null )
89+ {
90+ x . FileLink = this . settings . FileLinkSettings . GetFileLink ( x ) ;
91+ }
92+ } ) ;
93+ return currentIssues ;
94+ }
95+ else
96+ {
97+ this . log . Warning ( "Error initializing issue provider {0}." , providerName ) ;
98+ return [ ] ;
99+ }
100+
101+ }
98102}
0 commit comments