| 
									
										
										
										
											2019-12-03 10:28:59 -05:00
										 |  |  | import * as core from '@actions/core' | 
					
						
							|  |  |  | import * as coreCommand from '@actions/core/lib/command' | 
					
						
							|  |  |  | import * as gitSourceProvider from './git-source-provider' | 
					
						
							|  |  |  | import * as inputHelper from './input-helper' | 
					
						
							|  |  |  | import * as path from 'path' | 
					
						
							| 
									
										
										
										
											2019-12-12 13:16:16 -05:00
										 |  |  | import * as stateHelper from './state-helper' | 
					
						
							| 
									
										
										
										
											2019-12-03 10:28:59 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | async function run(): Promise<void> { | 
					
						
							|  |  |  |   try { | 
					
						
							| 
									
										
										
										
											2021-11-01 11:43:18 -05:00
										 |  |  |     const sourceSettings = await inputHelper.getInputs() | 
					
						
							| 
									
										
										
										
											2019-12-03 10:28:59 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |     try { | 
					
						
							|  |  |  |       // Register problem matcher
 | 
					
						
							|  |  |  |       coreCommand.issueCommand( | 
					
						
							|  |  |  |         'add-matcher', | 
					
						
							|  |  |  |         {}, | 
					
						
							|  |  |  |         path.join(__dirname, 'problem-matcher.json') | 
					
						
							|  |  |  |       ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       // Get sources
 | 
					
						
							|  |  |  |       await gitSourceProvider.getSource(sourceSettings) | 
					
						
							|  |  |  |     } finally { | 
					
						
							|  |  |  |       // Unregister problem matcher
 | 
					
						
							|  |  |  |       coreCommand.issueCommand('remove-matcher', {owner: 'checkout-git'}, '') | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   } catch (error) { | 
					
						
							| 
									
										
										
										
											2021-10-19 09:52:57 -05:00
										 |  |  |     core.setFailed(`${(error as any)?.message ?? error}`) | 
					
						
							| 
									
										
										
										
											2019-12-03 10:28:59 -05:00
										 |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | async function cleanup(): Promise<void> { | 
					
						
							|  |  |  |   try { | 
					
						
							| 
									
										
										
										
											2019-12-12 13:16:16 -05:00
										 |  |  |     await gitSourceProvider.cleanup(stateHelper.RepositoryPath) | 
					
						
							| 
									
										
										
										
											2019-12-03 10:28:59 -05:00
										 |  |  |   } catch (error) { | 
					
						
							| 
									
										
										
										
											2021-10-19 09:52:57 -05:00
										 |  |  |     core.warning(`${(error as any)?.message ?? error}`) | 
					
						
							| 
									
										
										
										
											2019-12-03 10:28:59 -05:00
										 |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Main
 | 
					
						
							| 
									
										
										
										
											2019-12-12 13:16:16 -05:00
										 |  |  | if (!stateHelper.IsPost) { | 
					
						
							| 
									
										
										
										
											2019-12-03 10:28:59 -05:00
										 |  |  |   run() | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | // Post
 | 
					
						
							|  |  |  | else { | 
					
						
							|  |  |  |   cleanup() | 
					
						
							|  |  |  | } |