It's a fork of the phug/dev-tool tailored to the needs of tale-* components.
You can use it for any kind of composer-based PHP-project.
It provides default configuration for PHPUnit, PHP CodeSniffer and PHPDocumentor.
It can also check code coverage percentages and report the coverage to CodeClimate.
Install via Composer
composer require talesoft/tale-dev-tool --dev
During development, you will mostly call the tool like this:
./vendor/bin/tale-dev <command> <arguments>
Updates composer and installs composer dependencies
Runs unit-tests:run
, code-style:check
and coverage:check
in this order and fails as soon as one of the commands fail.
Return code is the return code of the failed command.
If --report
is set, this command will generate code-coverage data and report it to code-climate.
I usually have a .travis.yml set up for this that contains something like
addons:
code_climate:
repo_token: <your_code_climate_repo_token>
Check this repo's .travis.yml to get an idea. You can also check the repo of e.g. tale-stream to see how it's used in an actual library.
Notice: This is an outdated way to report coverage and I need to update it. Feel free to ignore it, even though it will probably still work for a while.
Automatically scans code for problems regarding PSR-2
and attempts to fix them if wanted.
This runs phpcs
with a default config or a local config, if found.
Automatically fixes code-problems regarding PSR-2
.
This runs phpcbf
with a default config or a local config, if found.
Runs unit tests located in ./tests
.
You can pass --coverage-text
and --coverage-clover=<targetXmlPath>
to generate code-coverage information.
The --filter
, --group
and --testdox
options are passed through to PHPUnit, if set.
Checks existing code-coverage data and fails if a specific percentage coverage (80% by default) is not reached.
Accepts --input-file=<targetXmlPath>
that points to a coverage file generated by unit-tests:run --coverage-clover=<targetXmlPath>
Reports coverage data to CodeClimate.
Accepts --input-file=<targetXmlPath>
that points to a coverage file generated by unit-tests:run --coverage-clover=<targetXmlPath>