Skip to content
Snippets Groups Projects
Commit 44ede5a6 authored by Norman Steger's avatar Norman Steger
Browse files

Squashed '.Build/gitlab-ci/' changes from 4a43d2d..ee2a2bc

ee2a2bc update typo3 versions
c9d4eb5 Initial commit
REVERT: 4a43d2d update TYPO3 versions
REVERT: 5e8a0fe remove slashes
REVERT: 4fc7eb2 Merge branch 'steger-main-patch-43857' into 'main'
REVERT: 125b879 update readme
REVERT: 4680945 update typoscript linter
REVERT: b34a3ef update paths
REVERT: 8a4ba9e Aktualisieren README.md
REVERT: 5ae8aef Aktualisieren README.md
REVERT: e06cec8 fix gitlab ci filename
REVERT: 1652f7b Initial commit

git-subtree-dir: .Build/gitlab-ci
git-subtree-split: ee2a2bc53145767147ef2066dc6ecd9607318f7c
parent 434ba7fe
Branches
No related tags found
No related merge requests found
# use as git subtree (preferred)
# use as git subtree
## add gitlab-ci to your extension
```
......@@ -27,41 +26,50 @@ git subtree push --prefix .Build/gitlab-ci https://git.slub-dresden.de/typo3/git
include:
- remote: 'https://git.slub-dresden.de/typo3/gitlab-ci/-/raw/main/extension-gitlab-ci.yml'
```
## create a .gitignore in your extension root, with this content
# create a .gitignore
## in your extension root, with this content
```
composer.lock
/.Build/gitlab-ci/project
/.Build/gitlab-ci/project-gitlab-ci.yml
/vendor
/public
.php_cs.cache
.php-cs-fixer.cache
```
# use rector local
## add this lines to your project root
```
/.Build/gitlab-ci/extension
/.Build/gitlab-ci/extension-gitlab-ci.yml
.php_cs.cache
.php-cs-fixer.cache
```
# install rector in your local environment
```
composer require --dev ssch/typo3-rector
```
## run rector
## run rector to fix your code
```
./vendor/bin/rector process . --config .Build/gitlab-ci/typo3-rector/Extension.php
./vendor/bin/rector process . --config .Build/gitlab-ci/extension/typo3-rector.php
```
# use php-cs-fixer local
# install php-cs-fixer in your local environment
```
composer require --dev friendsofphp/php-cs-fixer
```
## run php-cs-fixer
## run php-cs-fixer to fix your code
```
./vendor/bin/php-cs-fixer fix --config .Build/gitlab-ci/php-cs-fixer/Extension.php
./vendor/bin/php-cs-fixer fix --config .Build/gitlab-ci/extension/php-cs-fixer.php
```
# use typo3-typoscript-lint local
# install typo3-typoscript-lint in your local environment
```
composer require --dev helmich/typo3-typoscript-lint
```
## run typo3-typoscript-lint
## run typo3-typoscript-lint to display the errors
```
vendor/bin/typoscript-lint -c .Build/gitlab-ci/typoscript-lint/Extension.yml --fail-on-warnings
vendor/bin/typoscript-lint -c .Build/gitlab-ci/extension/typoscript-lint.yml --fail-on-warnings
```
......@@ -5,7 +5,7 @@ stages:
stage: test
image: ekreative/php-cs-fixer:3
script:
- php-cs-fixer fix --dry-run --config=.Build/gitlab-ci/php-cs-fixer/Extension.php --diff --format=junit > php-report.xml
- php-cs-fixer fix --dry-run --config=.Build/gitlab-ci/extension/php-cs-fixer.php --diff --format=junit > php-report.xml
tags:
- docker
artifacts:
......@@ -21,7 +21,7 @@ stages:
before_script:
- composer global req ssch/typo3-rector
script:
- /tmp/vendor/bin/rector process . --config .Build/gitlab-ci/typo3-rector/Extension.php --dry-run
- /tmp/vendor/bin/rector process . --config .Build/gitlab-ci/extension/typo3-rector.php --dry-run
"TypoScript Linter":
stage: test
image: composer:2
......@@ -30,4 +30,4 @@ stages:
before_script:
- composer global req helmich/typo3-typoscript-lint
script:
- /tmp/vendor/bin/typoscript-lint -c .Build/gitlab-ci/typoscript-lint/Extension.yml --fail-on-warnings
- /tmp/vendor/bin/typoscript-lint -c .Build/gitlab-ci/extension/typoscript-lint.yml --fail-on-warnings
File moved
File moved
File moved
stages:
- test
"PHP CS Fixer":
stage: test
image: ekreative/php-cs-fixer:3
script:
- php-cs-fixer fix --dry-run --config=.Build/gitlab-ci/extension/php-cs-fixer.php --diff --format=junit > php-report.xml
tags:
- docker
artifacts:
expire_in: 2 hours
reports:
junit:
- php-report.xml
\ No newline at end of file
<?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
*
* $ ./bin/php-cs-fixer fix --config ./Build/gitlab-ci/php-cs-fixer/Extension.php
*
* 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 all files and directories from .gitignore
$finder = (new PhpCsFixer\Finder())
->ignoreVCSIgnored(true)
->in(realpath(__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 (new \PhpCsFixer\Config())
->setRiskyAllowed(true)
->setRules([
'@DoctrineAnnotation' => true,
'@PSR2' => true,
'array_syntax' => ['syntax' => 'short'],
'blank_line_after_opening_tag' => false,
'braces' => ['allow_single_line_closure' => true],
'cast_spaces' => ['space' => 'none'],
'compact_nullable_typehint' => true,
'concat_space' => ['spacing' => 'one'],
'declare_equal_normalize' => ['space' => 'none'],
'dir_constant' => true,
'function_typehint_space' => true,
'lowercase_cast' => true,
'method_argument_space' => ['on_multiline' => 'ensure_fully_multiline'],
'modernize_types_casting' => true,
'native_function_casing' => true,
'new_with_braces' => true,
'no_alias_functions' => true,
'no_blank_lines_after_phpdoc' => true,
'no_empty_phpdoc' => true,
'no_empty_statement' => true,
'no_extra_blank_lines' => true,
'no_leading_import_slash' => true,
'no_leading_namespace_whitespace' => true,
'no_null_property_initialization' => true,
'no_short_bool_cast' => true,
'no_singleline_whitespace_before_semicolons' => true,
'no_superfluous_elseif' => true,
'no_trailing_comma_in_singleline_array' => true,
'no_unneeded_control_parentheses' => true,
'no_unused_imports' => true,
'no_useless_else' => true,
'no_whitespace_in_blank_line' => true,
'ordered_imports' => true,
'php_unit_construct' => ['assertions' => ['assertEquals', 'assertSame', 'assertNotEquals', 'assertNotSame']],
'php_unit_mock_short_will_return' => true,
'php_unit_test_case_static_method_calls' => ['call_type' => 'self'],
'phpdoc_no_access' => true,
'phpdoc_no_empty_return' => true,
'phpdoc_no_package' => true,
'phpdoc_scalar' => true,
'phpdoc_trim' => true,
'phpdoc_types' => true,
'phpdoc_types_order' => ['null_adjustment' => 'always_last', 'sort_algorithm' => 'none'],
'return_type_declaration' => ['space_before' => 'none'],
'single_quote' => true,
'single_line_comment_style' => ['comment_types' => ['hash']],
'single_trait_insert_per_statement' => true,
'trailing_comma_in_multiline' => ['elements' => ['arrays']],
'whitespace_after_comma_in_array' => true,
])
->setFinder($finder);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment