Skip to content

Add PHPCompatibility sniffs to scaffolded#154

Merged
schlessera merged 3 commits intowp-cli:masterfrom
yousan:master
Jun 3, 2018
Merged

Add PHPCompatibility sniffs to scaffolded#154
schlessera merged 3 commits intowp-cli:masterfrom
yousan:master

Conversation

@yousan
Copy link
Copy Markdown
Contributor

@yousan yousan commented Jun 3, 2018

Add PHPCompatibility sniffs to scaffolded

fixes #60

@yousan yousan changed the title Add test case to fail (Not yet) Add test case to fail Jun 3, 2018
@yousan yousan closed this Jun 3, 2018
@yousan yousan reopened this Jun 3, 2018
@yousan yousan changed the title (Not yet) Add test case to fail (Not yet) Add PHPCompatibility sniffs to scaffolded Jun 3, 2018
@yousan yousan changed the title (Not yet) Add PHPCompatibility sniffs to scaffolded Add PHPCompatibility sniffs to scaffolded Jun 3, 2018
<ruleset name="WordPress Coding Standards for Plugins">
<description>Generally-applicable sniffs for WordPress plugins</description>

<rule ref="PHPCompatibility"/>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of pulling in the general PHPCodeSniffer rule, you should pull in the Framework-specific version for WordPress, which contains some exclusions to avoid false positives. This is needed because WordPress includes a lot of compatibility code and polyfills, so the checks need to take this into account. You can see the current exclusions here: https://github.com/wimg/PHPCompatibility/blob/master/framework-rulesets/wordpress.xml

Here's the adapted rule to use:

<rule ref="./vendor/wimg/php-compatibility/framework-rulesets/wordpress.xml"/>

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your reviewing.

Can vendor directory place at template directory?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, that would be pulled in via Composer. But now that you're mentioning it, I don't think we're using Composer for the scaffolded plugins...

Let's merge this PR as-is for now and create an issue for evaluating how to use the Framework-specific ruleset in the future.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can I see other plugin which uses Composer, and adapt it for scaffolded?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think adding Composer support directly is a good idea at this point. Most plugin developers will not know what this means.

This needs more thought and exploration first. I've created a corresponding issue for now: #155

@schlessera schlessera merged commit 3c1d0e2 into wp-cli:master Jun 3, 2018
@schlessera schlessera added the command:scaffold-plugin Related to 'scaffold plugin' command label Jun 3, 2018
@schlessera schlessera added this to the 1.1.4 milestone Jun 3, 2018
@schlessera
Copy link
Copy Markdown
Member

Thanks for the pull-request, @yousan !

danielbachhuber pushed a commit that referenced this pull request Nov 18, 2022
Add PHPCompatibility sniffs to scaffolded
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

command:scaffold-plugin Related to 'scaffold plugin' command

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add PHPCompatibility sniffs to scaffolded Codesniffer configuration

2 participants