|
2 | 2 |
|
3 | 3 | namespace Space48\CodeQuality\Task; |
4 | 4 |
|
| 5 | +use GrumPHP\Task\Config\ConfigOptionsResolver; |
5 | 6 | use Symfony\Component\OptionsResolver\OptionsResolver; |
6 | 7 |
|
7 | 8 | /** |
8 | 9 | * PhpMd task. |
9 | 10 | */ |
10 | 11 | class PhpMd extends \GrumPHP\Task\PhpMd |
11 | 12 | { |
12 | | - public static function getConfigurableOptions(): OptionsResolver |
| 13 | + public static function getConfigurableOptions(): ConfigOptionsResolver |
13 | 14 | { |
14 | | - $resolver = parent::getConfigurableOptions(); |
15 | | - $resolver->addAllowedValues('report_format', ['xml']); |
| 15 | + // due to Factory pattern they used we can no longer extend Options after calling parent method |
| 16 | + // copy from parent, changes are marked with "@added-by-Space48" |
| 17 | + $resolver = new OptionsResolver(); |
| 18 | + $resolver->setDefaults([ |
| 19 | + 'whitelist_patterns' => [], |
| 20 | + 'exclude' => [], |
| 21 | + 'report_format' => 'text', |
| 22 | + 'ruleset' => ['cleancode', 'codesize', 'naming'], |
| 23 | + 'triggered_by' => ['php'], |
| 24 | + ]); |
16 | 25 |
|
17 | | - return $resolver; |
18 | | - } |
| 26 | + $resolver->addAllowedTypes('whitelist_patterns', ['array']); |
| 27 | + $resolver->addAllowedTypes('exclude', ['array']); |
| 28 | + $resolver->addAllowedTypes('report_format', ['string']); |
| 29 | + $resolver->addAllowedValues('report_format', ['text', 'ansi', 'xml']); // @added-by-Space48: "xml" format |
| 30 | + $resolver->addAllowedTypes('ruleset', ['array']); |
| 31 | + $resolver->addAllowedTypes('triggered_by', ['array']); |
19 | 32 |
|
| 33 | + return ConfigOptionsResolver::fromOptionsResolver($resolver); |
| 34 | + } |
20 | 35 | } |
0 commit comments