From d45c4e24fd42448de817ac0b761242ac4ccc7517 Mon Sep 17 00:00:00 2001 From: sunxyw <31698606+sunxyw@users.noreply.github.com> Date: Sat, 31 Dec 2022 17:17:03 +0800 Subject: [PATCH] switch hook to captainhook (#218) --- captainhook.json | 47 +++++++++++++++++++++++++++++++++++++++++++++++ composer.json | 20 ++++---------------- 2 files changed, 51 insertions(+), 16 deletions(-) create mode 100644 captainhook.json diff --git a/captainhook.json b/captainhook.json new file mode 100644 index 00000000..5d26d0f9 --- /dev/null +++ b/captainhook.json @@ -0,0 +1,47 @@ +{ + "pre-push": { + "enabled": true, + "actions": [ + { + "action": "composer analyse" + }, + { + "action": "composer test" + } + ] + }, + "pre-commit": { + "enabled": true, + "actions": [ + { + "action": "composer cs-fix -- {$STAGED_FILES|of-type:php} --dry-run", + "conditions": [ + { + "exec": "\\CaptainHook\\App\\Hook\\Condition\\FileStaged\\OfType", + "args": ["php"] + } + ] + } + ] + }, + "post-change": { + "enabled": true, + "actions": [ + { + "action": "composer install", + "options": [], + "conditions": [ + { + "exec": "\\CaptainHook\\App\\Hook\\Condition\\FileChanged\\Any", + "args": [ + [ + "composer.json", + "composer.lock" + ] + ] + } + ] + } + ] + } +} diff --git a/composer.json b/composer.json index d3ad4dcd..1279518f 100644 --- a/composer.json +++ b/composer.json @@ -20,6 +20,7 @@ "dragonmantank/cron-expression": "^3.3", "jelix/version": "^2.0", "koriym/attributes": "^1.0", + "nunomaduro/collision": "^6.3", "onebot/libonebot": "^0.5", "php-di/php-di": "^7", "psr/container": "^2.0", @@ -30,7 +31,7 @@ "symfony/routing": "~6.0 || ~5.0 || ~4.0" }, "require-dev": { - "brainmaestro/composer-git-hooks": "^3.0", + "captainhook/captainhook": "^5.12", "friendsofphp/php-cs-fixer": "^3.2 != 3.7.0", "jangregor/phpstan-prophecy": "^1.0", "jetbrains/phpstorm-attributes": "^1.0", @@ -84,17 +85,6 @@ "sort-packages": true }, "extra": { - "hooks": { - "post-merge": "composer install", - "pre-commit": [ - "echo committing as $(git config user.name)", - "composer cs-fix -- --diff" - ], - "pre-push": [ - "composer cs-fix -- --dry-run --diff", - "composer analyse" - ] - }, "zm": { "exclude-annotation-path": [ "src/ZM", @@ -103,11 +93,9 @@ } }, "scripts": { - "post-install-cmd": [ - "[ $COMPOSER_DEV_MODE -eq 0 ] || vendor/bin/cghooks add" - ], + "post-autoload-dump": "vendor/bin/captainhook install -f -s", "analyse": "phpstan analyse --memory-limit 300M", - "cs-fix": "php-cs-fixer fix", + "cs-fix": "PHP_CS_FIXER_FUTURE_MODE=1 php-cs-fixer fix", "test": "bin/phpunit-zm --no-coverage" } }