annotate core/phpcs.xml.dist @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
Chris@0 1 <?xml version="1.0" encoding="UTF-8"?>
Chris@0 2 <ruleset name="drupal_core">
Chris@0 3 <description>Default PHP CodeSniffer configuration for Drupal core.</description>
Chris@0 4 <file>.</file>
Chris@14 5 <file>scripts/drupal.sh</file>
Chris@14 6 <file>scripts/password-hash.sh</file>
Chris@14 7 <file>scripts/rebuild_token_calculator.sh</file>
Chris@14 8 <file>scripts/run-tests.sh</file>
Chris@14 9 <file>scripts/update-countries.sh</file>
Chris@17 10 <arg name="extensions" value="inc,install,module,php,profile,test,theme,yml"/>
Chris@0 11
Chris@0 12 <!--Exclude third party code.-->
Chris@0 13 <exclude-pattern>./assets/vendor/*</exclude-pattern>
Chris@17 14 <!--Exclude folders used by common frontend tools. These folders match the file_scan_ignore_directories setting in default.settings.php-->
Chris@17 15 <exclude-pattern>*/node_modules/*</exclude-pattern>
Chris@17 16 <exclude-pattern>*/bower_components/*</exclude-pattern>
Chris@0 17
Chris@0 18 <!--Exclude test files that are intentionally empty, or intentionally violate coding standards.-->
Chris@0 19 <exclude-pattern>./modules/system/tests/fixtures/HtaccessTest</exclude-pattern>
Chris@0 20
Chris@0 21 <!-- Exclude third-party code maintained within core that does not follow our standards. -->
Chris@0 22 <!-- @todo This rule may be removed when https://www.drupal.org/node/1848264 is resolved. -->
Chris@0 23 <exclude-pattern>./core/lib/Drupal/Component/Diff/</exclude-pattern>
Chris@0 24
Chris@0 25 <!-- Only include specific sniffs that pass. This ensures that, if new sniffs are added, HEAD does not fail.-->
Chris@0 26 <!-- Drupal sniffs -->
Chris@18 27 <rule ref="Drupal.Arrays.Array">
Chris@17 28 <!-- Sniff for these errors: CommaLastItem -->
Chris@18 29 <exclude name="Drupal.Arrays.Array.ArrayClosingIndentation"/>
Chris@18 30 <exclude name="Drupal.Arrays.Array.ArrayIndentation"/>
Chris@18 31 <exclude name="Drupal.Arrays.Array.LongLineDeclaration"/>
Chris@17 32 </rule>
Chris@14 33 <rule ref="Drupal.Classes.ClassCreateInstance"/>
Chris@14 34 <rule ref="Drupal.Classes.ClassDeclaration"/>
Chris@14 35 <rule ref="Drupal.Classes.FullyQualifiedNamespace"/>
Chris@14 36 <rule ref="Drupal.Classes.InterfaceName"/>
Chris@14 37 <rule ref="Drupal.Classes.UnusedUseStatement"/>
Chris@14 38 <rule ref="Drupal.Classes.UseLeadingBackslash"/>
Chris@14 39 <rule ref="Drupal.CSS.ClassDefinitionNameSpacing"/>
Chris@14 40 <rule ref="Drupal.CSS.ColourDefinition"/>
Chris@14 41 <rule ref="Drupal.Commenting.ClassComment">
Chris@0 42 <exclude name="Drupal.Commenting.ClassComment.Missing"/>
Chris@0 43 </rule>
Chris@14 44 <rule ref="Drupal.Commenting.DataTypeNamespace"/>
Chris@14 45 <rule ref="Drupal.Commenting.DocComment">
Chris@0 46 <!-- Sniff for these errors: SpacingAfterTagGroup, WrongEnd, SpacingBetween,
Chris@0 47 ContentAfterOpen, SpacingBeforeShort, TagValueIndent, ShortStartSpace,
Chris@17 48 SpacingAfter, LongNotCapital -->
Chris@0 49 <!-- ParamNotFirst still not decided for PHPUnit-based tests.
Chris@0 50 @see https://www.drupal.org/node/2253915 -->
Chris@0 51 <exclude name="Drupal.Commenting.DocComment.ParamNotFirst"/>
Chris@0 52 <exclude name="Drupal.Commenting.DocComment.SpacingBeforeTags"/>
Chris@0 53 <exclude name="Drupal.Commenting.DocComment.LongFullStop"/>
Chris@0 54 <exclude name="Drupal.Commenting.DocComment.ShortNotCapital"/>
Chris@0 55 <exclude name="Drupal.Commenting.DocComment.ShortFullStop"/>
Chris@0 56 <!-- TagsNotGrouped and ParamGroup have false-positives.
Chris@0 57 @see https://www.drupal.org/node/2060925 -->
Chris@0 58 <exclude name="Drupal.Commenting.DocComment.TagsNotGrouped"/>
Chris@0 59 <exclude name="Drupal.Commenting.DocComment.ParamGroup"/>
Chris@0 60 <exclude name="Drupal.Commenting.DocComment.ShortSingleLine"/>
Chris@0 61 <exclude name="Drupal.Commenting.DocComment.TagGroupSpacing"/>
Chris@0 62 <exclude name="Drupal.Commenting.DocComment.MissingShort"/>
Chris@0 63 </rule>
Chris@14 64 <rule ref="Drupal.Commenting.DocCommentStar"/>
Chris@14 65 <rule ref="Drupal.Commenting.FileComment"/>
Chris@14 66 <rule ref="Drupal.Commenting.FunctionComment">
Chris@0 67 <exclude name="Drupal.Commenting.FunctionComment.IncorrectTypeHint"/>
Chris@0 68 <exclude name="Drupal.Commenting.FunctionComment.InvalidNoReturn"/>
Chris@0 69 <exclude name="Drupal.Commenting.FunctionComment.InvalidTypeHint"/>
Chris@0 70 <exclude name="Drupal.Commenting.FunctionComment.Missing"/>
Chris@0 71 <exclude name="Drupal.Commenting.FunctionComment.MissingParamComment"/>
Chris@0 72 <exclude name="Drupal.Commenting.FunctionComment.MissingParamType"/>
Chris@0 73 <exclude name="Drupal.Commenting.FunctionComment.MissingReturnComment"/>
Chris@0 74 <exclude name="Drupal.Commenting.FunctionComment.MissingReturnType"/>
Chris@0 75 <exclude name="Drupal.Commenting.FunctionComment.ParamCommentFullStop"/>
Chris@0 76 <exclude name="Drupal.Commenting.FunctionComment.ParamMissingDefinition"/>
Chris@0 77 <exclude name="Drupal.Commenting.FunctionComment.TypeHintMissing"/>
Chris@0 78 </rule>
Chris@14 79 <rule ref="Drupal.Commenting.VariableComment">
Chris@14 80 <!-- Sniff for: DuplicateVar, EmptyVar, InlineVariableName -->
Chris@14 81 <exclude name="Drupal.Commenting.VariableComment.IncorrectVarType"/>
Chris@14 82 <exclude name="Drupal.Commenting.VariableComment.MissingVar"/>
Chris@14 83 <exclude name="Drupal.Commenting.VariableComment.VarOrder"/>
Chris@14 84 <exclude name="Drupal.Commenting.VariableComment.WrongStyle"/>
Chris@14 85 </rule>
Chris@14 86 <rule ref="Drupal.Commenting.InlineComment">
Chris@14 87 <!-- Sniff for: NoSpaceBefore, WrongStyle -->
Chris@0 88 <exclude name="Drupal.Commenting.InlineComment.DocBlock"/>
Chris@0 89 <exclude name="Drupal.Commenting.InlineComment.InvalidEndChar"/>
Chris@0 90 <exclude name="Drupal.Commenting.InlineComment.NotCapital"/>
Chris@0 91 <exclude name="Drupal.Commenting.InlineComment.SpacingAfter"/>
Chris@0 92 <exclude name="Drupal.Commenting.InlineComment.SpacingBefore"/>
Chris@0 93 </rule>
Chris@14 94 <rule ref="Drupal.Commenting.PostStatementComment"/>
Chris@14 95 <rule ref="Drupal.ControlStructures.ElseIf"/>
Chris@14 96 <rule ref="Drupal.ControlStructures.ControlSignature"/>
Chris@14 97 <rule ref="Drupal.ControlStructures.InlineControlStructure"/>
Chris@14 98 <rule ref="Drupal.Files.EndFileNewline"/>
Chris@14 99 <rule ref="Drupal.Files.FileEncoding"/>
Chris@14 100 <rule ref="Drupal.Files.TxtFileLineLength"/>
Chris@14 101 <rule ref="Drupal.Formatting.MultiLineAssignment"/>
Chris@17 102 <rule ref="Drupal.Formatting.MultipleStatementAlignment"/>
Chris@14 103 <rule ref="Drupal.Formatting.SpaceInlineIf"/>
Chris@14 104 <rule ref="Drupal.Formatting.SpaceUnaryOperator"/>
Chris@14 105 <rule ref="Drupal.Functions.DiscouragedFunctions"/>
Chris@14 106 <rule ref="Drupal.Functions.FunctionDeclaration"/>
Chris@14 107 <rule ref="Drupal.InfoFiles.AutoAddedKeys"/>
Chris@14 108 <rule ref="Drupal.InfoFiles.ClassFiles"/>
Chris@14 109 <rule ref="Drupal.InfoFiles.DuplicateEntry"/>
Chris@14 110 <rule ref="Drupal.InfoFiles.Required"/>
Chris@14 111 <rule ref="Drupal.Methods.MethodDeclaration">
Chris@0 112 <!-- Silence method name underscore warning which is covered already in
Chris@0 113 Drupal.NamingConventions.ValidFunctionName.ScopeNotCamelCaps. -->
Chris@0 114 <exclude name="Drupal.Methods.MethodDeclaration.Underscore"/>
Chris@0 115 </rule>
Chris@14 116 <rule ref="Drupal.NamingConventions.ValidVariableName">
Chris@0 117 <!-- Sniff for: LowerStart -->
Chris@0 118 <exclude name="Drupal.NamingConventions.ValidVariableName.LowerCamelName"/>
Chris@0 119 </rule>
Chris@14 120 <rule ref="Drupal.Scope.MethodScope"/>
Chris@14 121 <rule ref="Drupal.Semantics.EmptyInstall"/>
Chris@14 122 <rule ref="Drupal.Semantics.FunctionAlias"/>
Chris@14 123 <rule ref="Drupal.Semantics.FunctionT">
Chris@0 124 <exclude name="Drupal.Semantics.FunctionT.NotLiteralString"/>
Chris@0 125 <exclude name="Drupal.Semantics.FunctionT.ConcatString"/>
Chris@0 126 </rule>
Chris@14 127 <rule ref="Drupal.Semantics.FunctionWatchdog"/>
Chris@14 128 <rule ref="Drupal.Semantics.InstallHooks"/>
Chris@14 129 <rule ref="Drupal.Semantics.LStringTranslatable"/>
Chris@14 130 <rule ref="Drupal.Semantics.PregSecurity"/>
Chris@14 131 <rule ref="Drupal.Semantics.TInHookMenu"/>
Chris@14 132 <rule ref="Drupal.Semantics.TInHookSchema"/>
Chris@18 133 <rule ref="Drupal.Strings.UnnecessaryStringConcat"/>
Chris@14 134 <rule ref="Drupal.WhiteSpace.CloseBracketSpacing"/>
Chris@14 135 <rule ref="Drupal.WhiteSpace.Comma"/>
Chris@14 136 <rule ref="Drupal.WhiteSpace.EmptyLines"/>
Chris@14 137 <rule ref="Drupal.WhiteSpace.Namespace"/>
Chris@14 138 <rule ref="Drupal.WhiteSpace.ObjectOperatorIndent"/>
Chris@14 139 <rule ref="Drupal.WhiteSpace.ObjectOperatorSpacing"/>
Chris@14 140 <rule ref="Drupal.WhiteSpace.OpenBracketSpacing"/>
Chris@14 141 <rule ref="Drupal.WhiteSpace.OpenTagNewline"/>
Chris@14 142 <rule ref="Drupal.WhiteSpace.OperatorSpacing"/>
Chris@14 143 <rule ref="Drupal.WhiteSpace.ScopeClosingBrace"/>
Chris@14 144 <rule ref="Drupal.WhiteSpace.ScopeIndent"/>
Chris@0 145
Chris@0 146 <!-- Drupal Practice sniffs -->
Chris@14 147 <rule ref="DrupalPractice.Commenting.ExpectedException"/>
Chris@0 148
Chris@0 149 <!-- Generic sniffs -->
Chris@14 150 <rule ref="Generic.Arrays.DisallowLongArraySyntax"/>
Chris@18 151 <rule ref="Generic.CodeAnalysis.EmptyPHPStatement" />
Chris@0 152 <rule ref="Generic.Files.ByteOrderMark"/>
Chris@0 153 <rule ref="Generic.Files.LineEndings"/>
Chris@0 154 <rule ref="Generic.Formatting.SpaceAfterCast"/>
Chris@0 155 <rule ref="Generic.Functions.FunctionCallArgumentSpacing"/>
Chris@14 156 <rule ref="Generic.Functions.OpeningFunctionBraceKernighanRitchie">
Chris@14 157 <properties>
Chris@14 158 <property name="checkClosures" value="true"/>
Chris@14 159 </properties>
Chris@14 160 </rule>
Chris@0 161 <rule ref="Generic.NamingConventions.ConstructorName"/>
Chris@0 162 <rule ref="Generic.NamingConventions.UpperCaseConstantName"/>
Chris@0 163 <rule ref="Generic.PHP.DeprecatedFunctions"/>
Chris@0 164 <rule ref="Generic.PHP.DisallowShortOpenTag"/>
Chris@14 165 <rule ref="Generic.PHP.LowerCaseKeyword"/>
Chris@0 166 <rule ref="Generic.PHP.UpperCaseConstant"/>
Chris@0 167 <rule ref="Generic.WhiteSpace.DisallowTabIndent"/>
Chris@0 168
Chris@17 169 <!-- Internal sniffs -->
Chris@17 170 <rule ref="Internal.NoCodeFound">
Chris@17 171 <!-- No PHP code in *.yml -->
Chris@17 172 <exclude-pattern>*.yml</exclude-pattern>
Chris@17 173 </rule>
Chris@17 174
Chris@0 175 <!-- MySource sniffs -->
Chris@0 176 <rule ref="MySource.Debug.DebugCode"/>
Chris@0 177
Chris@0 178 <!-- PEAR sniffs -->
Chris@0 179 <rule ref="PEAR.Files.IncludingFile"/>
Chris@0 180 <!-- Disable some error messages that we do not want. -->
Chris@0 181 <rule ref="PEAR.Files.IncludingFile.UseIncludeOnce">
Chris@0 182 <severity>0</severity>
Chris@0 183 </rule>
Chris@0 184 <rule ref="PEAR.Files.IncludingFile.UseInclude">
Chris@0 185 <severity>0</severity>
Chris@0 186 </rule>
Chris@0 187 <rule ref="PEAR.Files.IncludingFile.UseRequireOnce">
Chris@0 188 <severity>0</severity>
Chris@0 189 </rule>
Chris@0 190 <rule ref="PEAR.Files.IncludingFile.UseRequire">
Chris@0 191 <severity>0</severity>
Chris@0 192 </rule>
Chris@0 193 <rule ref="PEAR.Functions.ValidDefaultValue"/>
Chris@0 194
Chris@14 195 <!-- PEAR sniffs -->
Chris@14 196 <rule ref="PEAR.Functions.FunctionCallSignature"/>
Chris@14 197 <!-- The sniffs inside PEAR.Functions.FunctionCallSignature silenced below are
Chris@14 198 also silenced in Drupal CS' ruleset.xml. The code below is a 1-on-1 copy
Chris@14 199 from that file. -->
Chris@14 200 <!-- Disable some error messages that we already cover. -->
Chris@14 201 <rule ref="PEAR.Functions.FunctionCallSignature.SpaceAfterOpenBracket">
Chris@14 202 <severity>0</severity>
Chris@14 203 </rule>
Chris@14 204 <rule ref="PEAR.Functions.FunctionCallSignature.SpaceBeforeCloseBracket">
Chris@14 205 <severity>0</severity>
Chris@14 206 </rule>
Chris@14 207 <!-- Disable some error messages that we do not want. -->
Chris@14 208 <rule ref="PEAR.Functions.FunctionCallSignature.Indent">
Chris@14 209 <severity>0</severity>
Chris@14 210 </rule>
Chris@18 211 <rule ref="PEAR.Functions.FunctionCallSignature.OpeningIndent">
Chris@18 212 <severity>0</severity>
Chris@18 213 </rule>
Chris@14 214 <rule ref="PEAR.Functions.FunctionCallSignature.ContentAfterOpenBracket">
Chris@14 215 <severity>0</severity>
Chris@14 216 </rule>
Chris@14 217 <rule ref="PEAR.Functions.FunctionCallSignature.CloseBracketLine">
Chris@14 218 <severity>0</severity>
Chris@14 219 </rule>
Chris@14 220 <rule ref="PEAR.Functions.FunctionCallSignature.EmptyLine">
Chris@14 221 <severity>0</severity>
Chris@14 222 </rule>
Chris@14 223
Chris@0 224 <!-- PSR-2 sniffs -->
Chris@0 225 <rule ref="PSR2.Classes.PropertyDeclaration">
Chris@0 226 <exclude name="PSR2.Classes.PropertyDeclaration.Underscore"/>
Chris@0 227 </rule>
Chris@14 228 <rule ref="PSR2.Namespaces.NamespaceDeclaration"/>
Chris@14 229 <rule ref="PSR2.Namespaces.UseDeclaration">
Chris@14 230 <exclude name="PSR2.Namespaces.UseDeclaration.UseAfterNamespace"/>
Chris@14 231 </rule>
Chris@0 232
Chris@0 233 <!-- Squiz sniffs -->
Chris@0 234 <rule ref="Squiz.Arrays.ArrayBracketSpacing"/>
Chris@0 235 <rule ref="Squiz.Arrays.ArrayDeclaration">
Chris@0 236 <exclude name="Squiz.Arrays.ArrayDeclaration.NoKeySpecified"/>
Chris@0 237 <exclude name="Squiz.Arrays.ArrayDeclaration.KeySpecified"/>
Chris@0 238 </rule>
Chris@0 239 <!-- Disable some error messages that we do not want. -->
Chris@0 240 <rule ref="Squiz.Arrays.ArrayDeclaration.CloseBraceNotAligned">
Chris@0 241 <severity>0</severity>
Chris@0 242 </rule>
Chris@0 243 <rule ref="Squiz.Arrays.ArrayDeclaration.DoubleArrowNotAligned">
Chris@0 244 <severity>0</severity>
Chris@0 245 </rule>
Chris@0 246 <rule ref="Squiz.Arrays.ArrayDeclaration.FirstValueNoNewline">
Chris@0 247 <severity>0</severity>
Chris@0 248 </rule>
Chris@0 249 <rule ref="Squiz.Arrays.ArrayDeclaration.KeyNotAligned">
Chris@0 250 <severity>0</severity>
Chris@0 251 </rule>
Chris@0 252 <rule ref="Squiz.Arrays.ArrayDeclaration.MultiLineNotAllowed">
Chris@0 253 <severity>0</severity>
Chris@0 254 </rule>
Chris@0 255 <rule ref="Squiz.Arrays.ArrayDeclaration.NoComma">
Chris@0 256 <severity>0</severity>
Chris@0 257 </rule>
Chris@0 258 <rule ref="Squiz.Arrays.ArrayDeclaration.NoCommaAfterLast">
Chris@0 259 <severity>0</severity>
Chris@0 260 </rule>
Chris@0 261 <rule ref="Squiz.Arrays.ArrayDeclaration.NotLowerCase">
Chris@0 262 <severity>0</severity>
Chris@0 263 </rule>
Chris@0 264 <rule ref="Squiz.Arrays.ArrayDeclaration.SingleLineNotAllowed">
Chris@0 265 <severity>0</severity>
Chris@0 266 </rule>
Chris@0 267 <rule ref="Squiz.Arrays.ArrayDeclaration.ValueNotAligned">
Chris@0 268 <severity>0</severity>
Chris@0 269 </rule>
Chris@0 270 <rule ref="Squiz.Arrays.ArrayDeclaration.ValueNoNewline">
Chris@0 271 <severity>0</severity>
Chris@0 272 </rule>
Chris@14 273 <rule ref="Squiz.ControlStructures.ForEachLoopDeclaration"/>
Chris@0 274 <!-- Disable some error messages that we already cover. -->
Chris@0 275 <rule ref="Squiz.ControlStructures.ForEachLoopDeclaration.AsNotLower">
Chris@0 276 <severity>0</severity>
Chris@0 277 </rule>
Chris@0 278 <rule ref="Squiz.ControlStructures.ForEachLoopDeclaration.SpaceAfterOpen">
Chris@0 279 <severity>0</severity>
Chris@0 280 </rule>
Chris@0 281 <rule ref="Squiz.ControlStructures.ForEachLoopDeclaration.SpaceBeforeClose">
Chris@0 282 <severity>0</severity>
Chris@0 283 </rule>
Chris@0 284 <rule ref="Squiz.ControlStructures.ForLoopDeclaration"/>
Chris@0 285 <!-- Disable some error messages that we already cover. -->
Chris@0 286 <rule ref="Squiz.ControlStructures.ForLoopDeclaration.SpacingAfterOpen">
Chris@0 287 <severity>0</severity>
Chris@0 288 </rule>
Chris@0 289 <rule ref="Squiz.ControlStructures.ForLoopDeclaration.SpacingBeforeClose">
Chris@0 290 <severity>0</severity>
Chris@0 291 </rule>
Chris@14 292 <rule ref="Squiz.Functions.MultiLineFunctionDeclaration"/>
Chris@14 293 <rule ref="Squiz.Functions.MultiLineFunctionDeclaration.BraceOnSameLine">
Chris@14 294 <severity>0</severity>
Chris@14 295 </rule>
Chris@14 296 <rule ref="Squiz.Functions.MultiLineFunctionDeclaration.ContentAfterBrace">
Chris@14 297 <severity>0</severity>
Chris@14 298 </rule>
Chris@14 299 <!-- Standard yet to be finalized on this (https://www.drupal.org/node/1539712). -->
Chris@14 300 <rule ref="Squiz.Functions.MultiLineFunctionDeclaration.FirstParamSpacing">
Chris@14 301 <severity>0</severity>
Chris@14 302 </rule>
Chris@14 303 <rule ref="Squiz.Functions.MultiLineFunctionDeclaration.Indent">
Chris@14 304 <severity>0</severity>
Chris@14 305 </rule>
Chris@14 306 <rule ref="Squiz.Functions.MultiLineFunctionDeclaration.CloseBracketLine">
Chris@14 307 <severity>0</severity>
Chris@14 308 </rule>
Chris@14 309 <rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing">
Chris@14 310 <properties>
Chris@14 311 <property name="equalsSpacing" value="1"/>
Chris@14 312 </properties>
Chris@14 313 </rule>
Chris@14 314 <rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing.NoSpaceBeforeArg">
Chris@14 315 <severity>0</severity>
Chris@14 316 </rule>
Chris@0 317 <rule ref="Squiz.PHP.LowercasePHPFunctions"/>
Chris@0 318 <rule ref="Squiz.Strings.ConcatenationSpacing">
Chris@0 319 <properties>
Chris@0 320 <property name="spacing" value="1"/>
Chris@0 321 <property name="ignoreNewlines" value="true"/>
Chris@0 322 </properties>
Chris@0 323 </rule>
Chris@17 324 <rule ref="Squiz.WhiteSpace.FunctionSpacing">
Chris@17 325 <properties>
Chris@17 326 <property name="spacing" value="1"/>
Chris@17 327 </properties>
Chris@17 328 </rule>
Chris@14 329 <rule ref="Squiz.WhiteSpace.LanguageConstructSpacing" />
Chris@14 330 <rule ref="Squiz.WhiteSpace.SemicolonSpacing"/>
Chris@14 331 <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace"/>
Chris@0 332
Chris@0 333 <!-- Zend sniffs -->
Chris@0 334 <rule ref="Zend.Files.ClosingTag"/>
Chris@0 335
Chris@0 336 </ruleset>