Normalizer library for command line arguments for in- or exclude paths and files
When running code checks against your code (manually or automatically via continues integration) you'll have to define paths/files that should (includes) and paths/files that shouldn't (excludes) be checked by the various applications.
The problem is that all those tools define the command-line arguments in a different way. This library instead accepts only a standardized format and can return the application-format for a given application name and version.
- php/lint (php -l)
- squizlabs/php_codesniffer
- phpmd/phpmd
- phpdocumentor/phpdocumentor
- pdepend/pdepend
- sebastian/phpcpd
New to Composer? Read the introduction. Add the following to your composer file:
{
"require": {
"fabiang/cludearg": "1.0.x-dev as 1.0.0"
}
}
You'll only need one method:
Fabiang\Cludearg\Cludearg::getArgument(
string $application,
string $version,
array $include,
array $exclude,
string $path
)
Example:
use Fabiang\Cludearg\Cludearg;
$cludearg = new Cludearg();
$arguments = $cludearg->getArgument(
'squizlabs/php_codesniffer',
'1.0.1',
array('bin/foo.php', 'src'), // files and folders to be included
array('vendor', 'tests'), // files and folders to be excluded
'/myproject' // path where the project can be found
);
All paths for in- and exclude must be relative to the given path.
The constructor of Cludearg
can optionally take an Definition
object,
which allows you to add your own definition of arguments.
- PHP >=5.3
- seld/jsonlint >= 1.1
BSD-2-Clause. See the LICENSE.
Contributing is easy, just make sure the tests are running:
./vendor/bin/phpunit -c tests
If you change the default definition file check if the json schema validates:
./vendor/bin/validate-json definition.json schema/cludearg.json
Also Jsonlint may help you to find errors in the definition file:
./vendor/bin/jsonlint definition.json