TODO:
composer.jsonThe lowest versions I worked with using infection are:
But I don't know exactly the minimum ones
We also should have a conflict rule in the composer.json for it. It won't help with the PHAR (yet at least) but still worth it IMO :)
@theofidry I'm sorry i dont follow what you mean
I mean something like this. It's not a good example because it should prevent Symfony 5. But when you install Infection as a library it will prevent you to be able to install it if you have the wrong versions
lowest version for the different versions of php interpreter will be different. For example phpUnit < 6 and with php 7.2 will throw Fatal error:
PHP Fatal error: Declaration of SebastianBergmann\Comparator\DOMNodeComparator::assertEquals($expected, $actual, $delta = 0, $canonicalize = false, $ignoreCase = false) must be compatible with SebastianBergmann\Comparator\ObjectComparator::assertEquals($expected, $actual, $delta = 0, $canonicalize = false, $ignoreCase = false, array &$processed = Array) in phar:///var/www/infection/phpunit-5.7.9.phar/sebastian-comparator/DOMNodeComparator.php on line 110
PHP Stack trace:
PHP 1. {main}() /var/www/infection/phpunit-5.7.9.phar:0
Fatal error: Declaration of SebastianBergmann\Comparator\DOMNodeComparator::assertEquals($expected, $actual, $delta = 0, $canonicalize = false, $ignoreCase = false) must be compatible with SebastianBergmann\Comparator\ObjectComparator::assertEquals($expected, $actual, $delta = 0, $canonicalize = false, $ignoreCase = false, array &$processed = Array) in phar:///var/www/infection/phpunit-5.7.9.phar/sebastian-comparator/DOMNodeComparator.php on line 110
Call Stack:
0.0068 869280 1. {main}() /var/www/infection/phpunit-5.7.9.phar:0
right now I don't see a better way than mark phpUnit < 6.0 as conflicted
I'd say if the constraint is due to php versions its not a problem for us. But if for example we use options that were not introduced before a certain phpunit version. We should notify the end users
Most helpful comment
I mean something like this. It's not a good example because it should prevent Symfony 5. But when you install Infection as a library it will prevent you to be able to install it if you have the wrong versions