Codacy coverage support for PHP. Get coverage reporting and code analysis for PHP from Codacy.
- PHP 5.3 or later
- One of the following coverage report formats
- Clover XML (e.g.
--coverage-clover
in PHPUnit) - PHPUnit XML (e.g.
--coverage-xml
in PHPUnit)
- Clover XML (e.g.
Setup codacy-coverage with Composer, just add the following to your composer.json:
// composer.json
{
"require-dev": {
"codacy/coverage": "dev-master"
}
}
Download the dependencies by running Composer in the directory of your composer.json
:
# install
$ php composer.phar install --dev
# update
$ php composer.phar update codacy/coverage --dev
codacy-coverage library is available on Packagist.
Add the autoloader to your php script:
require_once 'vendor/autoload.php';
Note: We have php5-curl dependency, if you have issues related to curl_init() please install it with:
sudo apt-get install php5-curl
To update Codacy, you will need your project API token. You can find the token in Project -> Settings -> Integrations -> Project API.
Then set it in your terminal, replacing %Project_Token% with your own token:
export CODACY_PROJECT_TOKEN=%Project_Token%
Note: You should keep your API token well protected, as it grants owner permissions to your projects.
Run vendor/bin/codacycoverage
to see a list of commands.
vendor/bin/codacycoverage clover
php vendor/bin/codacycoverage phpunit
By default we assume that
- your Clover coverage report is saved in
build/logs/clover.xml
- your PHPUnit XML report is saved in the directory
build/coverage-xml
You can specify the path to your report with the second parameter:
- Clover XML
php vendor/bin/codacycoverage clover path/to/a-clover.xml
- PHPUnit XML
php vendor/bin/codacycoverage phpunit directory/path/to/phpunitreport
Even more control:
--base-url=<OTHER_URL>
defaults to http://codacy.com--git-commit=<COMMIT_HASH>
defaults to the last commit hash
This project sends its own coverage during the build in circleCI.
Feel free to check our circle.yml
, and send your coverage as a step of your build process.
Add codacycoverage to your .travis.yml
:
# .travis.yml
language: php
php:
- 5.3
- 5.4
- 5.5
- 5.6
- hhvm
before_script:
- curl -s http://getcomposer.org/installer | php
- php composer.phar install -n
script:
- php vendor/bin/phpunit
after_script:
- php vendor/bin/codacycoverage clover path/to/clover.xml
If you have a fatal error regarding curl_init():
PHP Fatal error: Uncaught Error: Call to undefined function Codacy\Coverage\Util\curl_init() in /src/Codacy/Coverage/Util/CodacyApiClient.php:30
Run: sudo apt-get install php5-curl