| 
									
										
										
										
											2012-11-05 23:09:36 -08:00
										 |  |  | #!/usr/bin/env php
 | 
					
						
							|  |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | require_once dirname(__FILE__).'/../__init_script__.php'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-08 18:37:15 -08:00
										 |  |  | $synopsis = <<<EOT | 
					
						
							|  |  |  | **save_lint.php** | 
					
						
							|  |  |  |     Discover lint problems and save them to database so that they can | 
					
						
							|  |  |  |     be displayed in Diffusion. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | EOT; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | $args = id(new PhutilArgumentParser($argv)) | 
					
						
							| 
									
										
										
										
											2015-05-22 17:27:56 +10:00
										 |  |  |   ->setTagline(pht('save lint errors to database')) | 
					
						
							| 
									
										
										
										
											2012-11-08 18:37:15 -08:00
										 |  |  |   ->setSynopsis($synopsis) | 
					
						
							|  |  |  |   ->parseStandardArguments() | 
					
						
							|  |  |  |   ->parse(array( | 
					
						
							|  |  |  |     array( | 
					
						
							|  |  |  |       'name' => 'all', | 
					
						
							| 
									
										
										
										
											2015-05-19 00:07:46 +10:00
										 |  |  |       'help' => pht( | 
					
						
							| 
									
										
										
										
											2014-06-09 11:36:49 -07:00
										 |  |  |         'Discover problems in the whole repository instead of just changes '. | 
					
						
							| 
									
										
										
										
											2015-05-19 00:07:46 +10:00
										 |  |  |         'since the last run.'), | 
					
						
							| 
									
										
										
										
											2012-11-08 18:37:15 -08:00
										 |  |  |     ), | 
					
						
							|  |  |  |     array( | 
					
						
							|  |  |  |       'name' => 'arc', | 
					
						
							|  |  |  |       'param' => 'path', | 
					
						
							|  |  |  |       'default' => 'arc', | 
					
						
							| 
									
										
										
										
											2015-05-19 00:07:46 +10:00
										 |  |  |       'help' => pht('Path to Arcanist executable.'), | 
					
						
							| 
									
										
										
										
											2012-11-08 18:37:15 -08:00
										 |  |  |     ), | 
					
						
							|  |  |  |     array( | 
					
						
							|  |  |  |       'name' => 'severity', | 
					
						
							|  |  |  |       'param' => 'string', | 
					
						
							|  |  |  |       'default' => ArcanistLintSeverity::SEVERITY_ADVICE, | 
					
						
							| 
									
										
										
										
											2015-05-19 00:07:46 +10:00
										 |  |  |       'help' => pht( | 
					
						
							|  |  |  |         'Minimum severity, one of %s constants.', | 
					
						
							|  |  |  |         'ArcanistLintSeverity'), | 
					
						
							| 
									
										
										
										
											2012-11-08 18:37:15 -08:00
										 |  |  |     ), | 
					
						
							|  |  |  |     array( | 
					
						
							|  |  |  |       'name' => 'chunk-size', | 
					
						
							|  |  |  |       'param' => 'number', | 
					
						
							|  |  |  |       'default' => 256, | 
					
						
							| 
									
										
										
										
											2015-05-19 00:07:46 +10:00
										 |  |  |       'help' => pht('Number of paths passed to `%s` at once.', 'arc'), | 
					
						
							| 
									
										
										
										
											2012-11-08 18:37:15 -08:00
										 |  |  |     ), | 
					
						
							| 
									
										
										
										
											2013-03-04 16:22:30 -08:00
										 |  |  |     array( | 
					
						
							|  |  |  |       'name' => 'blame', | 
					
						
							| 
									
										
										
										
											2015-05-19 00:07:46 +10:00
										 |  |  |       'help' => pht( | 
					
						
							|  |  |  |         'Assign lint errors to authors who last modified the line.'), | 
					
						
							| 
									
										
										
										
											2013-03-04 16:22:30 -08:00
										 |  |  |     ), | 
					
						
							| 
									
										
										
										
											2012-11-08 18:37:15 -08:00
										 |  |  |   )); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-19 00:07:46 +10:00
										 |  |  | echo pht('Saving lint errors to database...')."\n"; | 
					
						
							| 
									
										
										
										
											2012-11-08 18:37:15 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | $count = id(new DiffusionLintSaveRunner()) | 
					
						
							|  |  |  |   ->setAll($args->getArg('all', false)) | 
					
						
							|  |  |  |   ->setArc($args->getArg('arc')) | 
					
						
							|  |  |  |   ->setSeverity($args->getArg('severity')) | 
					
						
							|  |  |  |   ->setChunkSize($args->getArg('chunk-size')) | 
					
						
							| 
									
										
										
										
											2013-03-04 16:22:30 -08:00
										 |  |  |   ->setNeedsBlame($args->getArg('blame')) | 
					
						
							| 
									
										
										
										
											2012-11-08 18:37:15 -08:00
										 |  |  |   ->run('.'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-19 00:07:46 +10:00
										 |  |  | echo "\n".pht('Processed %d files.', $count)."\n"; |