Existe alguma maneira de executar meu gancho de pré-consolidação no ambiente configurado no PHPStorm? Não consigo instalar plug-ins, pois esse é um script de pré-consolidação que precisa ser executado em qualquer clone desse repositório.
Meu ambiente é configurado da seguinte forma no PHPStorm:
Eéassimquemeuscriptseparece:
cachedPhpFiles=$(gitdiff--cached--name-only|awk'$1~/src\/application\/lib\/.+|(tests\/(unit|system)\/tests\/).+/')result=$(./vendor/friendsofphp/php-cs-fixer/php-cs-fixerfix--verbose--config=src/application/githooks/.php_cs.src.dist--dry-run--allow-risky=yes--using-cache=no$cachedPhpFiles2>/dev/null)if[$?-gt1]thenoutput=""
for line in $result
do
if [[ $line == 'Checked' ]]; then
break;
fi
if [[ $line =~ [0-9]+\) ]]; then
if [[ -n $output ]]; then
echo $output
fi
output=$line
output+=" "
else
output+=$line
fi
done
errorFlag=true
printf "Found code quality issues in the following files:\n"
printf "$output\n\n"
fi
if [ "$errorFlag" = true ]; then
exit 1
else
exit 0
fi
E este é o meu arquivo .php_cs.src.dist
:
$finder = PhpCsFixer\Finder::create();
return PhpCsFixer\Config::create()
->setRules([
'@PSR2' => true,
'align_multiline_comment' => true,
'array_indentation' => true,
'array_syntax' => [
'syntax' => 'short',
],
'concat_space' => [
'spacing' => 'one',
],
'linebreak_after_opening_tag' => true,
'method_argument_space' => [
'ensure_fully_multiline' => true
],
'method_chaining_indentation' => true,
'multiline_comment_opening_closing' => true,
'no_blank_lines_after_class_opening' => true,
'no_blank_lines_after_phpdoc' => true,
'no_blank_lines_before_namespace' => true,
'no_empty_comment' => true,
'no_empty_phpdoc' => true,
'no_empty_statement' => true,
'no_trailing_comma_in_singleline_array' => true,
'phpdoc_add_missing_param_annotation' => true,
'phpdoc_no_empty_return' => true,
'phpdoc_order' => true,
'phpdoc_scalar' => true,
'phpdoc_single_line_var_spacing' => true,
'psr4' => true,
'trailing_comma_in_multiline_array' => true,
'whitespace_after_comma_in_array' => true,
])
->setFinder($finder);