maglnet/composer-require-checker va vérifier que vous avez bien toutes les dépendances utilisées indiquées dans votre composer.json.
Pour l'installer dans votre projet :
Pour l'installer dans votre projet :
composer require --dev maglnet/composer-require-checker
Vous pouvez créer un binaire bin/composerRequireChecker qui l'exécute dans un container Docker :
#!/usr/bin/env sh
#set -e
if [ $(which docker || false) ]; then
readonly PROJECT_DIRECTORY=$(realpath $(dirname $(realpath $0))/..)
docker run \
--rm \
-it \
-v ${PROJECT_DIRECTORY}:/var/repository \
-w /var/repository \
--entrypoint=sh \
php:7.3.8-cli-alpine3.10 \
bin/composerRequireChecker $@
else
php -d memory_limit=512M vendor/bin/composer-require-checker $@
fi
Et lancer ce container via CircleCI :
version: '2.1'
jobs:
composer:
docker:
- image: composer
working_directory: /var/repository
steps:
- checkout
- restore_cache:
key: composer-{{ checksum "composer.json" }}-{{ checksum "composer.lock" }}
- run:
command: |
if [ ! -f vendor/autoload.php ];then
composer install --ignore-platform-reqs --no-interaction --no-progress --classmap-authoritative;
fi
- save_cache:
key: composer-{{ checksum "composer.json" }}-{{ checksum "composer.lock" }}
paths:
- ./vendor
- persist_to_workspace:
root: .
paths:
- vendor
composerRequireChecker:
docker:
- image: php:7.3.8-cli-alpine3.10
working_directory: /var/repository
steps:
- checkout
- restore_cache:
keys:
- composer-{{ checksum "composer.json" }}-{{ checksum "composer.lock" }}
- run:
name: composerRequireChecker
command: bin/composerRequireChecker
workflows:
version: '2.1'
Code quality:
jobs:
- composer
- composerRequireChecker:
requires:
- composer