forked from WordPress/wordpress-develop
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathphpcompat.xml.dist
More file actions
125 lines (104 loc) · 5.03 KB
/
phpcompat.xml.dist
File metadata and controls
125 lines (104 loc) · 5.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?xml version="1.0"?>
<ruleset name="WordPress PHP Compatibility">
<description>Apply PHP compatibility checks to all WordPress Core files</description>
<!--
#############################################################################
COMMAND LINE ARGUMENTS
https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-Ruleset
#############################################################################
-->
<!-- Only scan PHP files. -->
<arg name="extensions" value="php"/>
<!-- Whenever possible, cache the scan results and re-use those for unchanged files on the next scan. -->
<arg name="cache" value=".cache/phpcompat.json"/>
<!-- Set the memory limit to 256M.
For most standard PHP configurations, this means the memory limit will temporarily be raised.
Ref: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Advanced-Usage#specifying-phpini-settings
-->
<ini name="memory_limit" value="256M"/>
<!-- Strip the filepaths down to the relevant bit. -->
<arg name="basepath" value="./"/>
<!-- Check up to 20 files simultaneously. -->
<arg name="parallel" value="20"/>
<!-- Show sniff codes in all reports. -->
<arg value="ps"/>
<!--
#############################################################################
FILE SELECTION
Set which files will be subject to the scans executed using this ruleset.
#############################################################################
-->
<!-- For now, only the files in src are scanned. -->
<file>./src/</file>
<!-- Exclude Must-Use plugins. -->
<exclude-pattern>/src/wp-content/mu-plugins/*</exclude-pattern>
<!-- Exclude plugins. -->
<exclude-pattern>/src/wp-content/plugins/*</exclude-pattern>
<!-- Exclude themes except the twenty* themes. -->
<exclude-pattern>/src/wp-content/themes/(?!twenty)*</exclude-pattern>
<!-- Exclude translation files. -->
<exclude-pattern>/src/wp-content/languages/*</exclude-pattern>
<!--
PHPCompatibilityParagonieSodiumCompat prevents false positives in `sodium_compat`.
However, because these files are included in a non-standard path, false positives are triggered in WordPress Core.
-->
<exclude-pattern>src/wp-includes/sodium_compat/lib/php72compat_const\.php$</exclude-pattern>
<!--
#############################################################################
SET UP THE RULESET
#############################################################################
-->
<rule ref="PHPCompatibilityWP"/>
<!-- WordPress Core currently supports PHP 7.4+. -->
<config name="testVersion" value="7.4-"/>
<!--
#############################################################################
SELECTIVE EXCLUSIONS
Exclude specific files for specific sniffs and/or exclude sub-groups in sniffs.
#############################################################################
-->
<rule ref="PHPCompatibility.IniDirectives.RemovedIniDirectives.safe_modeDeprecatedRemoved">
<exclude-pattern>/ID3/getid3\.php$</exclude-pattern>
</rule>
<rule ref="PHPCompatibility.IniDirectives.RemovedIniDirectives.mbstring_func_overloadDeprecated">
<exclude-pattern>/ID3/getid3\.php$</exclude-pattern>
<exclude-pattern>/PHPMailer/PHPMailer\.php$</exclude-pattern>
</rule>
<rule ref="PHPCompatibility.FunctionUse.RemovedFunctions.get_magic_quotes_runtimeDeprecated">
<exclude-pattern>/ID3/getid3\.php$</exclude-pattern>
</rule>
<rule ref="PHPCompatibility.FunctionUse.RemovedFunctions.get_magic_quotes_gpcDeprecated">
<exclude-pattern>/ID3/getid3\.php$</exclude-pattern>
</rule>
<rule ref="PHPCompatibility.Lists.AssignmentOrder.Affected">
<exclude-pattern>/ID3/module.audio-video.quicktime\.php$</exclude-pattern>
</rule>
<rule ref="PHPCompatibility.Constants.RemovedConstants.intl_idna_variant_2003Deprecated">
<exclude-pattern>/PHPMailer/PHPMailer\.php$</exclude-pattern>
</rule>
<rule ref="PHPCompatibility.ParameterValues.NewIDNVariantDefault.NotSet">
<exclude-pattern>/PHPMailer/PHPMailer\.php$</exclude-pattern>
</rule>
<rule ref="PHPCompatibility.FunctionUse.NewFunctions.sodium_crypto_sign_keypair_from_secretkey_and_publickeyFound">
<exclude-pattern>/sodium_compat/src/Compat\.php$</exclude-pattern>
</rule>
<rule ref="PHPCompatibility.FunctionUse.NewFunctions.sodium_padFound">
<exclude-pattern>/sodium_compat/src/Compat\.php$</exclude-pattern>
</rule>
<rule ref="PHPCompatibility.FunctionUse.NewFunctions.sodium_unpadFound">
<exclude-pattern>/sodium_compat/src/Compat\.php$</exclude-pattern>
</rule>
<rule ref="PHPCompatibility.FunctionNameRestrictions.NewMagicMethods.__serializeFound">
<exclude-pattern>/sodium_compat/src/PHP52/SplFixedArray\.php$</exclude-pattern>
</rule>
<rule ref="PHPCompatibility.FunctionNameRestrictions.NewMagicMethods.__unserializeFound">
<exclude-pattern>/sodium_compat/src/PHP52/SplFixedArray\.php$</exclude-pattern>
</rule>
<!--
Excluded while waiting for PHPCompatibility v10.
See <https://github.com/PHPCompatibility/PHPCompatibility/issues/1481>.
-->
<rule ref="PHPCompatibility.FunctionDeclarations.NewClosure.ThisFoundInStatic">
<exclude-pattern>/src/wp-includes/script-loader\.php$</exclude-pattern>
</rule>
</ruleset>