jeudi 17 octobre 2019

Installer maglnet/composer-require-checker

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 :
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