diff --git a/composer.json b/composer.json index f3e68090..220ccd9f 100644 --- a/composer.json +++ b/composer.json @@ -77,6 +77,7 @@ "@composer -dtools/composer-require-checker update", "@composer -dtools/composer-unused update", "@composer -dtools/php-cs-fixer update", + "@composer -dtools/phpcpd update", "@composer -dtools/phpmd update", "@composer -dtools/psalm update", "@composer -dtools/infection update", @@ -100,7 +101,8 @@ "test:infection": "@php -d zend.assertions=1 -d assert.exception=1 -d display_errors=On -d error_reporting=-1 -d log_errors_max_len=0 -d memory_limit=-1 -d xdebug.mode=coverage -d pcov.enabled=1 -d pcov.directory=src tools/infection/vendor/infection/infection/bin/infection ", "test:phpmd": "@php tools/phpmd/vendor/phpmd/phpmd/src/bin/phpmd src ansi .phpmd.rules.dist.xml", "test:phpunit": "@php -d zend.assertions=1 -d assert.exception=1 -d display_errors=On -d error_reporting=-1 -d log_errors_max_len=0 -d memory_limit=-1 -d xdebug.mode=coverage -d pcov.enabled=1 -d pcov.directory=src vendor/phpunit/phpunit/phpunit", - "test:psalm": "@php tools/psalm/vendor/vimeo/psalm/psalm" + "test:psalm": "@php tools/psalm/vendor/vimeo/psalm/psalm", + "test:phpcpd": "@php tools/phpcpd/vendor/sebastian/phpcpd/phpcpd --exclude src/Core/Spec/SpecFactory.php --exclude src/Core/Serialization/DOM/NormalizerFactory.php --exclude src/Core/Serialization/JSON/NormalizerFactory.php --fuzzy src" }, "scripts-descriptions": { "cs-fix": "Fix files according to coding standards.", diff --git a/tools/phpcpd/.gitignore b/tools/phpcpd/.gitignore new file mode 100644 index 00000000..2ea50ef7 --- /dev/null +++ b/tools/phpcpd/.gitignore @@ -0,0 +1,3 @@ +* +!/.gitignore +!/composer.json diff --git a/tools/phpcpd/composer.json b/tools/phpcpd/composer.json new file mode 100644 index 00000000..da391f6e --- /dev/null +++ b/tools/phpcpd/composer.json @@ -0,0 +1,17 @@ +{ + "name": "tools/phpcpd", + "description": "PHP Copy/Paste Detector", + "type": "metapackage", + "require-dev": { + "roave/security-advisories": "dev-latest", + "sebastian/phpcpd": "^6.0" + }, + "prefer-stable": true, + "config": { + "allow-plugins": { + "composer/package-versions-deprecated": false + }, + "preferred-install": "dist", + "sort-packages": true + } +}