-
Notifications
You must be signed in to change notification settings - Fork 160
Add magento/magento-coding-standard as a dependency to magento/magento2 #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
are those static tests also going to be moved into this repository? More importantly, are they used for marketplace extensions? |
@schmengler PHP CodeSniffer should became preferred tool for static checks. If its functionality is not enough (dynamic check, etc), we should consider using other approaches like Mess Detector or PHPUnit. For example, I rewrite FinalImplementation Mess Detector rule with FinalImplementation sniff because for this case PHP CodeSniffer is good enough.
Not yet, but in future we want to make all static tests (not only sniffs) consistent for Marketplace and core development |
Sounds good. That means, |
@schmengler yes, that's right. |
Well, you missed the |
https://github.com/magento/magento2/blob/2.3-develop/composer.json#L88 this needs to be fixed a little bit: dev version of Magento must rely on dev version of coding standard so that we can introduce new rules, fix code and immediately enforce it. Concrete version must be added during publication: https://github.com/magento/magento2/blob/2.3.1/composer.json#L99 Also, it would be really good to not introduce mess and use the same versioning as for other Magento components. |
@orlangur thanks for your feedback, however I don't see any reasons to
because Codings Standard is not a Magento component (module). New rules may be added to develop (master) branch and will cause static build failure. By following SemVer we will explicitly let our application know about braking changes. Here is my proposal for Coding Standard versioning strategy. If you have any concerns regarding this do not hesitate to reflect them there magento/architecture#136 |
Which is pretty wrong.
Yep, this is what I was talking about and such use cases needed to be covered PRIOR to changes applied to main repo.
Thanks, I'll share my thoughts that we don't need to reinvent the wheel and introduce ONE MORE versioning strategy. Will strive to visiting corresponding arch council meeting as well. |
…coding-standard-198 [Imported] Discourage local-FS-only methods
Fatal error: Uncaught TypeError: vsprintf(): Argument magento#2 ($values) must be of type array, int given in /srv/www/vendor/squizlabs/php_codesniffer/src/Files/File.php:1056 Stack trace: #0 /srv/www/vendor/squizlabs/php_codesniffer/src/Files/File.php(1056): vsprintf('Direct throw of...', 531) magento#1 /srv/www/vendor/squizlabs/php_codesniffer/src/Files/File.php(706): PHP_CodeSniffer\Files\File->addMessage(false, 'Direct throw of...', 67, 4, 'FoundDirectThro...', 531, 8, false) magento#2 /srv/www/vendor/magento/magento-coding-standard/Magento2/Sniffs/Exceptions/DirectThrowSniff.php(48): PHP_CodeSniffer\Files\File->addWarning('Direct throw of...', 526, 'FoundDirectThro...', 531) magento#3 /srv/www/vendor/squizlabs/php_codesniffer/src/Files/File.php(498): Magento2\Sniffs\Exceptions\DirectThrowSniff->process(Object(PHP_CodeSniffer\Files\LocalFile), 526) magento#4 /srv/www/vendor/squizlabs/php_codesniffer/src/Files/LocalFile.php(92): PHP_CodeSniffer\Files\File->process() #5 /srv/www/vendor/squizlabs/php_codesniffer/src/Runner.php(630): PHP_CodeSniffer\Files\LocalFile->process() magento#6 /srv/www/vendor/squizlabs/php_codesniffer/src/Runner.php(434): PHP_CodeSniffer\Runner->processFile(Object(PHP_CodeSniffer\Files\LocalFile)) magento#7 /srv/www/vendor/squizlabs/php_codesniffer/src/Runner.php(114): PHP_CodeSniffer\Runner->run() magento#8 /srv/www/vendor/squizlabs/php_codesniffer/bin/phpcs(18): PHP_CodeSniffer\Runner->runPHPCS() magento#9 {main} thrown in /srv/www/vendor/squizlabs/php_codesniffer/src/Files/File.php on line 1056
PHP Fatal error: Uncaught TypeError: strpos(): Argument magento#2 ($needle) must be of type string, null given in /srv/www/vendor/magento/magento-coding-standard/Magento2/Sniffs/Annotation/MethodArgumentsSniff.php:629 Stack trace: #0 /srv/www/vendor/magento/magento-coding-standard/Magento2/Sniffs/Annotation/MethodArgumentsSniff.php(629): strpos('\\VendorName\\Mod...', NULL) magento#1 /srv/www/vendor/magento/magento-coding-standard/Magento2/Sniffs/Annotation/MethodArgumentsSniff.php(515): Magento2\Sniffs\Annotation\MethodArgumentsSniff->validateFormattingConsistency(Array, Array, Object(PHP_CodeSniffer\Files\LocalFile), Array) magento#2 /srv/www/vendor/magento/magento-coding-standard/Magento2/Sniffs/Annotation/MethodArgumentsSniff.php(600): Magento2\Sniffs\Annotation\MethodArgumentsSniff->validateMethodParameterAnnotations(385, Array, Array, Object(PHP_CodeSniffer\Files\LocalFile), Array, 356, 380) magento#3 /srv/www/vendor/squizlabs/php_codesniffer/src/Files/File.php(498): Magento2\Sniffs\Annotation\MethodArgumentsSniff->process(Object(PHP_CodeSniffer\Files\LocalFile), 385) magento#4 /srv/www/vendor/squizlabs/php_codesniffer/src/Files/LocalFile.php(92): PHP_CodeSniffer\Files\File->process() #5 /srv/www/vendor/squizlabs/php_codesniffer/src/Runner.php(630): PHP_CodeSniffer\Files\LocalFile->process() magento#6 /srv/www/vendor/squizlabs/php_codesniffer/src/Runner.php(434): PHP_CodeSniffer\Runner->processFile(Object(PHP_CodeSniffer\Files\LocalFile)) magento#7 /srv/www/vendor/squizlabs/php_codesniffer/src/Runner.php(114): PHP_CodeSniffer\Runner->run() magento#8 /srv/www/vendor/squizlabs/php_codesniffer/bin/phpcs(18): PHP_CodeSniffer\Runner->runPHPCS() magento#9 {main} thrown in /srv/www/vendor/magento/magento-coding-standard/Magento2/Sniffs/Annotation/MethodArgumentsSniff.php on line 629
Description
This unified coding standard will contain all Magento related sniffs, so there is no need to keep core sniffs under Magento 2
dev/tests/static
folded.Acceptance Criteria
magento/magento-coding-standard
depencency is added to therequire-dev
section of Magento 2composer.json
file.Magento\TestFramework\Utility\XssOutputValidatorTest
covers the same asXssTemplateSniff
,FinalImplementation
Mess Detector rule andFinalImplementation
sniff).Additional information
Needs to be done after the first Magento Coding Standard release.
The text was updated successfully, but these errors were encountered: