[2.0.0] - 2024-04-21
Added
- A new
Esi\CoverageCheck\Application
class which extendsSymfony\Component\Console\Application
.- Overrides
getDefaultInputDefinition()
andconfigureIO()
to clean up help output.
- Overrides
- New
Utils
class.- Adds a new function
isPossiblyClover()
, which attempts to ensure the provided file is a PHPUnit generated clover file.
- Adds a new function
- New
Style\CoverageCheckStyle
which extendsSymfony\Console\Style\SymfonyStyle
to format console output. - New shortcut for the
--only-percentage
option for the Console. You can use-O
instead. - New option
--show-files
(shortcut-F
), to break down metrics by file, and output the results via a table.- This adds a new constant
CoverageCheck::XPATH_FILES
and the following functions:CoverageCheck::processByFile()
CoverageCheckCommand::getFileTable()
CoverageCheckCommand::getResultOutput()
- This adds a new constant
Changed
- Minimum PHP version increased to 8.2.
- Symfony minimum ^7.0
- PHPUnit minimum ^11.0
- The use of
coverage:check
when calling the Phar or the bin file is no longer needed.
# before
$ php vendor/bin/coverage-check coverage:check /path/to/clover.xml 90
# after
$ php vendor/bin/coverage-check /path/to/clover.xml 90
CoverageCheck::loadMetrics
can now throw aRuntimeException
iffile_get_contents
fails for whatever reason or if the newisPossiblyClover
returns false.- With the addition of the new
--show-files
option and related additions, theCoverageCheck::loadMetrics()
now has one parameter:$xpath
.
- With the addition of the new
- Class const
XPATH_METRICS
now hasprotected
visibility. - Class const
APPLICATION_NAME
andVERSION
moved fromCoverageCheck
toApplication
.- Subsequently,
Application
now also overrides the parentSymfony\Component\Console\Application
constructor and passes these values to the parent class.
- Subsequently,
- Changed output message formats for
CoverageCheck::nonConsoleCall
and the Console to match more closely:- Old messages:
- Insufficient data for calculation. Please add more code.
- Total code coverage is %s which is below the accepted %d%%
- Total code coverage is %s - OK!
- New messages:
- [ERROR] Insufficient data for calculation. Please add more code.
- [ERROR] Total code coverage is %s which is below the accepted %d%%
- [OK] Total code coverage is %s
- Old messages:
- Unit tests updated accordingly.
Fixed
CoverageCheckCommand
updated to use theSymfony\Console\Attribute\AsCommand
attribute, as using the static properties is deprecated as ofSymfony\Console
6.1.
Removed
- Removed dev-dependency for
phpstan\phpstan-symfony
. Seemed to be a bit overkill to require a dependency for something I was able to solve with a couple extra lines, and was running into an issue where it seemed to suppress other issues from being reported. - Removed
tests/console-application.php
, since it was a requirement for phpstan-symfony.
TODO
- The new
--show-files
option is not yet supported inCoverageCheck::nonConsoleCall()
. - Cleanup, and add to, documentation throughout.
GitHub PR's
- Update dependency phpunit/phpunit to v10.5.16 by @renovate in #3
- Lock file maintenance by @renovate in #4
- Lock file maintenance by @renovate in #5
- Lock file maintenance by @renovate in #6
- Update dependency phpunit/phpunit to v10.5.17 by @renovate in #8
- Lock file maintenance by @renovate in #7
- Lock file maintenance by @renovate in #9
- Update tests.yml by @ericsizemore in #11
- Lock file maintenance by @renovate in #10
- Update dependency phpstan/phpstan-symfony to v1.3.11 by @renovate in #12
- Lock file maintenance by @renovate in #13
- Update dependency phpunit/phpunit to v10.5.18 by @renovate in #14
- Update dependency phpstan/phpstan-symfony to v1.3.12 by @renovate in #15
- Lock file maintenance by @renovate in #16
- Lock file maintenance by @renovate in #17
- Lock file maintenance by @renovate in #19
- Update dependency phpunit/phpunit to v10.5.19 by @renovate in #20
- Prepare 2.0.0 by @ericsizemore in #22
New Contributors
- @renovate made their first contribution in #3
- @ericsizemore made their first contribution in #11
Full Changelog: 1.0.0...2.0.0