Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
services
t3o sites
typo3.org
randombanners
Commits
298ec459
Commit
298ec459
authored
Jun 01, 2021
by
Thomas Löffler
Browse files
[TASK] Add basic PHP tests (lint, codesniffer)
parent
b6e39ee9
Pipeline
#12062
failed with stages
in 1 minute and 54 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
.Build/.php_cs
0 → 100644
View file @
298ec459
<?php
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
/**
* This file represents the configuration for Code Sniffing PSR-2-related
* automatic checks of coding guidelines
* Install @fabpot's great php-cs-fixer tool via
*
* $ composer global require friendsofphp/php-cs-fixer
*
* And then simply run
*
* $ php-cs-fixer fix --config ../Build/.php_cs
*
* inside the TYPO3 directory. Warning: This may take up to 10 minutes.
*
* For more information read:
* https://www.php-fig.org/psr/psr-2/
* https://cs.sensiolabs.org
*/
if
(
PHP_SAPI
!==
'cli'
)
{
die
(
'This script supports command line usage only. Please check your command.'
);
}
// Define in which folders to search and which folders to exclude
// Exclude some directories that are excluded by Git anyways to speed up the sniffing
$finder
=
PhpCsFixer\Finder
::
create
()
->
exclude
(
'vendor'
)
->
exclude
(
'typo3temp'
)
->
in
(
__DIR__
.
'/../../'
);
// Return a Code Sniffing configuration using
// all sniffers needed for PSR-2
// and additionally:
// - Remove leading slashes in use clauses.
// - PHP single-line arrays should not have trailing comma.
// - Single-line whitespace before closing semicolon are prohibited.
// - Remove unused use statements in the PHP source code
// - Ensure Concatenation to have at least one whitespace around
// - Remove trailing whitespace at the end of blank lines.
return
PhpCsFixer\Config
::
create
()
->
setRiskyAllowed
(
true
)
->
setRules
([
'@PSR2'
=>
true
,
'@DoctrineAnnotation'
=>
true
,
'no_leading_import_slash'
=>
true
,
'no_trailing_comma_in_singleline_array'
=>
true
,
'no_singleline_whitespace_before_semicolons'
=>
true
,
'no_unused_imports'
=>
true
,
'concat_space'
=>
[
'spacing'
=>
'one'
],
'no_whitespace_in_blank_line'
=>
true
,
'ordered_imports'
=>
true
,
'single_quote'
=>
true
,
'no_empty_statement'
=>
true
,
'no_extra_consecutive_blank_lines'
=>
true
,
'phpdoc_no_package'
=>
true
,
'phpdoc_scalar'
=>
true
,
'no_blank_lines_after_phpdoc'
=>
true
,
'array_syntax'
=>
[
'syntax'
=>
'short'
],
'whitespace_after_comma_in_array'
=>
true
,
'function_typehint_space'
=>
true
,
'hash_to_slash_comment'
=>
true
,
'no_alias_functions'
=>
true
,
'lowercase_cast'
=>
true
,
'no_leading_namespace_whitespace'
=>
true
,
'native_function_casing'
=>
true
,
'no_short_bool_cast'
=>
true
,
'no_unneeded_control_parentheses'
=>
true
,
'phpdoc_no_empty_return'
=>
true
,
'phpdoc_trim'
=>
true
,
'no_superfluous_elseif'
=>
true
,
'no_useless_else'
=>
true
,
'phpdoc_types'
=>
true
,
'phpdoc_types_order'
=>
[
'null_adjustment'
=>
'always_last'
,
'sort_algorithm'
=>
'none'
],
'return_type_declaration'
=>
[
'space_before'
=>
'none'
],
'cast_spaces'
=>
[
'space'
=>
'none'
],
'declare_equal_normalize'
=>
[
'space'
=>
'single'
],
'dir_constant'
=>
true
,
])
->
setFinder
(
$finder
);
.gitlab-ci.yml
View file @
298ec459
include
:
-
remote
:
'
https://git.spooner.io/ci-templates/composer-packages/-/raw/main/composer-packages.yml'
-
remote
:
'
https://git.spooner.io/ci-templates/composer-packages/-/raw/main/composer-packages.yml'
stages
:
-
packages
-
test
-
packages
test:php:lint:
stage
:
test
image
:
php:7.4
variables
:
GIT_STRATEGY
:
clone
script
:
-
find . -type f -name '*.php' -exec php -l {} \; | (! grep -v "No syntax errors detected" )
test:php:codesniffer:
stage
:
test
image
:
ekreative/php-cs-fixer:2
variables
:
GIT_STRATEGY
:
"
clone"
script
:
-
php-cs-fixer fix --dry-run --config=.Build/.php_cs --diff
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment