Skip to content
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

Add ruleset XML files to categorize and subset sniffs #58

Closed
westonruter opened this issue Oct 1, 2013 · 7 comments · Fixed by #64
Closed

Add ruleset XML files to categorize and subset sniffs #58

westonruter opened this issue Oct 1, 2013 · 7 comments · Fixed by #64

Comments

@westonruter
Copy link
Member

A lot of the sniffs are opinionated and may not be reflective of an actual problem. We should have a ruleset XML file that just contains the core sniffs for checking code formatting, and then another ruleset XML that has the extra sniffs (e.g. those labeled with extra in GitHub), perhaps including the other ruleset XML as a base or copying it somehow.

@westonruter
Copy link
Member Author

@Rarst how's #64 for excluding extras?

@Rarst
Copy link
Contributor

Rarst commented Oct 12, 2013

I am not entirely sure how to test it in my setup. I am using CS via PhpStorm and currently can only point it to folder, not to specific XML file.

@westonruter
Copy link
Member Author

@Rarst Strange that PhpStorm doesn't allow you to specify arguments for phpcs. Here's an idea: what if you made a wrapper script which specified the --standard path to the ruleset desired and any additional arguments that PhpStorm is passing into the script? For example, if you had a phpcs-wp-core which contained:

#!/bin/bash
phpcs --standard=path/to/core/ruleset.xml $@

Maybe it would have to strip out any --standard coming from $@. Humm…

@Rarst
Copy link
Contributor

Rarst commented Oct 12, 2013

I could probably include it in wrapper (and probably will to test later), just not sure what is the right way here from CS perspective as well. Are sets of sniffs supposed to be able to contain multiple .xml files? Would we have to have default with all rules rather than have default with core rules and being able to opt in into more?

Probably need to read up on ruleset creation docs, been a while since I looked.

@westonruter
Copy link
Member Author

Yeah, I need to look into how rulesets can be composed as well. I do know that PHPCS 5 is going to allow combining rulesets via --standard, as they posted in April:

Version 1.5.0RC2 also includes the ability to exclude whole directories of sniffs inside a ruleset and the ability to pass multiple standards to PHP_CodeSniffer on the command line. For example, phpcs --standard=PEAR,Squiz,mystandard.xml /path/to/code , which will run 3 standards against your code.

@shadyvb
Copy link
Contributor

shadyvb commented Oct 13, 2013

@Rarst I think having a selected set of rules - not all - in a default ruleset is not currently possible with the format implemented for ruleset XMLs as per documentation, as you cannot exclude local sniffs from the same ruleset packae, you can only exclude sniffs from included packages. So we're stuck with default containing all rules, and having other XMLs introduce specific sets of checks.

And i think bundling other rulesets does not affect normal flow of phpcs, it should exist as a guide to people not needing the full strict set of sniffs.

And with new feature of being able to combine multiple standards/sniffs/XMLs using --standard, having multiple files that handles smaller portions of sniffs is going to be very handy.

@Rarst
Copy link
Contributor

Rarst commented Nov 12, 2014

Has been resolved by current multi–folder/standard structure.

@Rarst Rarst closed this as completed Nov 12, 2014
jrfnl added a commit to jrfnl/WordPress-Coding-Standards that referenced this issue Apr 22, 2022
Related:
* `Universal.Namespaces.OneDeclarationPerFile` - upstream Extra WordPress#6
* `Universal.Namespaces.DisallowCurlyBraceSyntax` - upstream Extra WordPress#4
* `Universal.Namespaces.DisallowDeclarationWithoutName` - upstream Extra WordPress#50

* `Universal.UseStatements.NoLeadingBackslash` - upstream Extra WordPress#46
* `Universal.UseStatements.LowercaseFunctionConst` - upstream Extra WordPress#58

* `Universal.Constants.LowercaseClassResolutionKeyword` - upstream Extra WordPress#72

* `Generic.WhiteSpace.IncrementDecrementSpacing` - issue WordPress#1511, upstream PHPCS WordPress#2172, WordPress#2174
* `Universal.Operators.DisallowStandalonePostIncrementDecrement` - upstream Extra WordPress#65

* `Universal.Constants.UppercaseMagicConstants` - upstream Extra WordPress#64
jrfnl added a commit to jrfnl/WordPress-Coding-Standards that referenced this issue Apr 22, 2022
Related:
* `Universal.Namespaces.OneDeclarationPerFile` - upstream Extra WordPress#6
* `Universal.Namespaces.DisallowCurlyBraceSyntax` - upstream Extra WordPress#4
* `Universal.Namespaces.DisallowDeclarationWithoutName` - upstream Extra WordPress#50

* `Universal.UseStatements.NoLeadingBackslash` - upstream Extra WordPress#46
* `Universal.UseStatements.LowercaseFunctionConst` - upstream Extra WordPress#58

* `Universal.Constants.LowercaseClassResolutionKeyword` - upstream Extra WordPress#72

* `Generic.WhiteSpace.IncrementDecrementSpacing` - issue WordPress#1511, upstream PHPCS WordPress#2172, WordPress#2174
* `Universal.Operators.DisallowStandalonePostIncrementDecrement` - upstream Extra WordPress#65

* `Universal.Constants.UppercaseMagicConstants` - upstream Extra WordPress#64
jrfnl added a commit to jrfnl/WordPress-Coding-Standards that referenced this issue Apr 26, 2022
Related:
* `Universal.Namespaces.OneDeclarationPerFile` - upstream Extra WordPress#6
* `Universal.Namespaces.DisallowCurlyBraceSyntax` - upstream Extra WordPress#4
* `Universal.Namespaces.DisallowDeclarationWithoutName` - upstream Extra WordPress#50

* `Universal.UseStatements.NoLeadingBackslash` - upstream Extra WordPress#46
* `Universal.UseStatements.LowercaseFunctionConst` - upstream Extra WordPress#58

* `Universal.Constants.LowercaseClassResolutionKeyword` - upstream Extra WordPress#72

* `Generic.WhiteSpace.IncrementDecrementSpacing` - issue WordPress#1511, upstream PHPCS WordPress#2172, WordPress#2174
* `Universal.Operators.DisallowStandalonePostIncrementDecrement` - upstream Extra WordPress#65

* `Universal.Constants.UppercaseMagicConstants` - upstream Extra WordPress#64
jrfnl added a commit to jrfnl/WordPress-Coding-Standards that referenced this issue May 15, 2022
Related:
* `Universal.Namespaces.OneDeclarationPerFile` - upstream Extra WordPress#6
* `Universal.Namespaces.DisallowCurlyBraceSyntax` - upstream Extra WordPress#4
* `Universal.Namespaces.DisallowDeclarationWithoutName` - upstream Extra WordPress#50

* `Universal.UseStatements.NoLeadingBackslash` - upstream Extra WordPress#46
* `Universal.UseStatements.LowercaseFunctionConst` - upstream Extra WordPress#58

* `Universal.Constants.LowercaseClassResolutionKeyword` - upstream Extra WordPress#72

* `Generic.WhiteSpace.IncrementDecrementSpacing` - issue WordPress#1511, upstream PHPCS WordPress#2172, WordPress#2174
* `Universal.Operators.DisallowStandalonePostIncrementDecrement` - upstream Extra WordPress#65

* `Universal.Constants.UppercaseMagicConstants` - upstream Extra WordPress#64
jrfnl added a commit to jrfnl/WordPress-Coding-Standards that referenced this issue Jun 17, 2022
Related:
* `Universal.Namespaces.OneDeclarationPerFile` - upstream Extra WordPress#6
* `Universal.Namespaces.DisallowCurlyBraceSyntax` - upstream Extra WordPress#4
* `Universal.Namespaces.DisallowDeclarationWithoutName` - upstream Extra WordPress#50

* `Universal.UseStatements.NoLeadingBackslash` - upstream Extra WordPress#46
* `Universal.UseStatements.LowercaseFunctionConst` - upstream Extra WordPress#58

* `Universal.Constants.LowercaseClassResolutionKeyword` - upstream Extra WordPress#72

* `Generic.WhiteSpace.IncrementDecrementSpacing` - issue WordPress#1511, upstream PHPCS WordPress#2172, WordPress#2174
* `Universal.Operators.DisallowStandalonePostIncrementDecrement` - upstream Extra WordPress#65

* `Universal.Constants.UppercaseMagicConstants` - upstream Extra WordPress#64
jrfnl added a commit to jrfnl/WordPress-Coding-Standards that referenced this issue Jun 17, 2022
Related:
* `Universal.Namespaces.OneDeclarationPerFile` - upstream Extra WordPress#6
* `Universal.Namespaces.DisallowCurlyBraceSyntax` - upstream Extra WordPress#4
* `Universal.Namespaces.DisallowDeclarationWithoutName` - upstream Extra WordPress#50

* `Universal.UseStatements.NoLeadingBackslash` - upstream Extra WordPress#46
* `Universal.UseStatements.LowercaseFunctionConst` - upstream Extra WordPress#58

* `Universal.Constants.LowercaseClassResolutionKeyword` - upstream Extra WordPress#72

* `Generic.WhiteSpace.IncrementDecrementSpacing` - issue WordPress#1511, upstream PHPCS WordPress#2172, WordPress#2174
* `Universal.Operators.DisallowStandalonePostIncrementDecrement` - upstream Extra WordPress#65

* `Universal.Constants.UppercaseMagicConstants` - upstream Extra WordPress#64
jrfnl added a commit to jrfnl/WordPress-Coding-Standards that referenced this issue Jun 25, 2022
Related:
* `Universal.Namespaces.OneDeclarationPerFile` - upstream Extra WordPress#6
* `Universal.Namespaces.DisallowCurlyBraceSyntax` - upstream Extra WordPress#4
* `Universal.Namespaces.DisallowDeclarationWithoutName` - upstream Extra WordPress#50

* `Universal.UseStatements.NoLeadingBackslash` - upstream Extra WordPress#46
* `Universal.UseStatements.LowercaseFunctionConst` - upstream Extra WordPress#58

* `Universal.Constants.LowercaseClassResolutionKeyword` - upstream Extra WordPress#72

* `Generic.WhiteSpace.IncrementDecrementSpacing` - issue WordPress#1511, upstream PHPCS WordPress#2172, WordPress#2174
* `Universal.Operators.DisallowStandalonePostIncrementDecrement` - upstream Extra WordPress#65

* `Universal.Constants.UppercaseMagicConstants` - upstream Extra WordPress#64
jrfnl added a commit to jrfnl/WordPress-Coding-Standards that referenced this issue Jul 22, 2022
Related:
* `Universal.Namespaces.OneDeclarationPerFile` - upstream Extra WordPress#6
* `Universal.Namespaces.DisallowCurlyBraceSyntax` - upstream Extra WordPress#4
* `Universal.Namespaces.DisallowDeclarationWithoutName` - upstream Extra WordPress#50

* `Universal.UseStatements.NoLeadingBackslash` - upstream Extra WordPress#46
* `Universal.UseStatements.LowercaseFunctionConst` - upstream Extra WordPress#58

* `Universal.Constants.LowercaseClassResolutionKeyword` - upstream Extra WordPress#72

* `Generic.WhiteSpace.IncrementDecrementSpacing` - issue WordPress#1511, upstream PHPCS WordPress#2172, WordPress#2174
* `Universal.Operators.DisallowStandalonePostIncrementDecrement` - upstream Extra WordPress#65

* `Universal.Constants.UppercaseMagicConstants` - upstream Extra WordPress#64
jrfnl added a commit to jrfnl/WordPress-Coding-Standards that referenced this issue Aug 7, 2022
Related:
* `Universal.Namespaces.OneDeclarationPerFile` - upstream Extra WordPress#6
* `Universal.Namespaces.DisallowCurlyBraceSyntax` - upstream Extra WordPress#4
* `Universal.Namespaces.DisallowDeclarationWithoutName` - upstream Extra WordPress#50

* `Universal.UseStatements.NoLeadingBackslash` - upstream Extra WordPress#46
* `Universal.UseStatements.LowercaseFunctionConst` - upstream Extra WordPress#58

* `Universal.Constants.LowercaseClassResolutionKeyword` - upstream Extra WordPress#72

* `Generic.WhiteSpace.IncrementDecrementSpacing` - issue WordPress#1511, upstream PHPCS WordPress#2172, WordPress#2174
* `Universal.Operators.DisallowStandalonePostIncrementDecrement` - upstream Extra WordPress#65

* `Universal.Constants.UppercaseMagicConstants` - upstream Extra WordPress#64
jrfnl added a commit to jrfnl/WordPress-Coding-Standards that referenced this issue Aug 10, 2022
Related:
* `Universal.Namespaces.OneDeclarationPerFile` - upstream Extra WordPress#6
* `Universal.Namespaces.DisallowCurlyBraceSyntax` - upstream Extra WordPress#4
* `Universal.Namespaces.DisallowDeclarationWithoutName` - upstream Extra WordPress#50

* `Universal.UseStatements.NoLeadingBackslash` - upstream Extra WordPress#46
* `Universal.UseStatements.LowercaseFunctionConst` - upstream Extra WordPress#58

* `Universal.Constants.LowercaseClassResolutionKeyword` - upstream Extra WordPress#72

* `Generic.WhiteSpace.IncrementDecrementSpacing` - issue WordPress#1511, upstream PHPCS WordPress#2172, WordPress#2174
* `Universal.Operators.DisallowStandalonePostIncrementDecrement` - upstream Extra WordPress#65

* `Universal.Constants.UppercaseMagicConstants` - upstream Extra WordPress#64
jrfnl added a commit to jrfnl/WordPress-Coding-Standards that referenced this issue Aug 12, 2022
Related:
* `Universal.Namespaces.OneDeclarationPerFile` - upstream Extra WordPress#6
* `Universal.Namespaces.DisallowCurlyBraceSyntax` - upstream Extra WordPress#4
* `Universal.Namespaces.DisallowDeclarationWithoutName` - upstream Extra WordPress#50

* `Universal.UseStatements.NoLeadingBackslash` - upstream Extra WordPress#46
* `Universal.UseStatements.LowercaseFunctionConst` - upstream Extra WordPress#58

* `Universal.Constants.LowercaseClassResolutionKeyword` - upstream Extra WordPress#72

* `Generic.WhiteSpace.IncrementDecrementSpacing` - issue WordPress#1511, upstream PHPCS WordPress#2172, WordPress#2174
* `Universal.Operators.DisallowStandalonePostIncrementDecrement` - upstream Extra WordPress#65

* `Universal.Constants.UppercaseMagicConstants` - upstream Extra WordPress#64
jrfnl added a commit to jrfnl/WordPress-Coding-Standards that referenced this issue Aug 18, 2022
Related:
* `Universal.Namespaces.OneDeclarationPerFile` - upstream Extra WordPress#6
* `Universal.Namespaces.DisallowCurlyBraceSyntax` - upstream Extra WordPress#4
* `Universal.Namespaces.DisallowDeclarationWithoutName` - upstream Extra WordPress#50

* `Universal.UseStatements.NoLeadingBackslash` - upstream Extra WordPress#46
* `Universal.UseStatements.LowercaseFunctionConst` - upstream Extra WordPress#58

* `Universal.Constants.LowercaseClassResolutionKeyword` - upstream Extra WordPress#72

* `Generic.WhiteSpace.IncrementDecrementSpacing` - issue WordPress#1511, upstream PHPCS WordPress#2172, WordPress#2174
* `Universal.Operators.DisallowStandalonePostIncrementDecrement` - upstream Extra WordPress#65

* `Universal.Constants.UppercaseMagicConstants` - upstream Extra WordPress#64
jrfnl added a commit to jrfnl/WordPress-Coding-Standards that referenced this issue Sep 11, 2022
Related:
* `Universal.Namespaces.OneDeclarationPerFile` - upstream Extra WordPress#6
* `Universal.Namespaces.DisallowCurlyBraceSyntax` - upstream Extra WordPress#4
* `Universal.Namespaces.DisallowDeclarationWithoutName` - upstream Extra WordPress#50

* `Universal.UseStatements.NoLeadingBackslash` - upstream Extra WordPress#46
* `Universal.UseStatements.LowercaseFunctionConst` - upstream Extra WordPress#58

* `Universal.Constants.LowercaseClassResolutionKeyword` - upstream Extra WordPress#72

* `Generic.WhiteSpace.IncrementDecrementSpacing` - issue WordPress#1511, upstream PHPCS WordPress#2172, WordPress#2174
* `Universal.Operators.DisallowStandalonePostIncrementDecrement` - upstream Extra WordPress#65

* `Universal.Constants.UppercaseMagicConstants` - upstream Extra WordPress#64
jrfnl added a commit to jrfnl/WordPress-Coding-Standards that referenced this issue Oct 13, 2022
Related:
* `Universal.Namespaces.OneDeclarationPerFile` - upstream Extra WordPress#6
* `Universal.Namespaces.DisallowCurlyBraceSyntax` - upstream Extra WordPress#4
* `Universal.Namespaces.DisallowDeclarationWithoutName` - upstream Extra WordPress#50

* `Universal.UseStatements.NoLeadingBackslash` - upstream Extra WordPress#46
* `Universal.UseStatements.LowercaseFunctionConst` - upstream Extra WordPress#58

* `Universal.Constants.LowercaseClassResolutionKeyword` - upstream Extra WordPress#72

* `Generic.WhiteSpace.IncrementDecrementSpacing` - issue WordPress#1511, upstream PHPCS WordPress#2172, WordPress#2174
* `Universal.Operators.DisallowStandalonePostIncrementDecrement` - upstream Extra WordPress#65

* `Universal.Constants.UppercaseMagicConstants` - upstream Extra WordPress#64
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants