|
1 | 1 | <?xml version="1.0"?> |
2 | 2 | <!DOCTYPE import-control PUBLIC "-//Checkstyle//DTD ImportControl Configuration 1.4//EN" "https://checkstyle.org/dtds/import_control_1_4.dtd"> |
3 | 3 | <import-control pkg="org.springframework.boot"> |
| 4 | + |
| 5 | + <!-- Only use Micrometer Observation --> |
4 | 6 | <allow pkg="io.micrometer.observation" /> |
5 | 7 | <disallow pkg="io.micrometer" /> |
| 8 | + |
| 9 | + <!-- Use JSpecify for nullability (not Spring) --> |
6 | 10 | <allow class="org.springframework.lang.Contract" /> |
7 | 11 | <disallow pkg="org.springframework.lang" /> |
8 | | - <allow pkg=".*" regex="true" /> |
9 | 12 |
|
10 | | - <subpackage name="autoconfigure"> |
11 | | - <disallow class="org.springframework.boot.autoconfigure.jdbc.DataSourceProperties"/> |
12 | | - <subpackage name="web"> |
13 | | - <allow pkg="org.springframework.boot.web.server" /> |
14 | | - <allow pkg="org.springframework.boot.web.servlet.server" /> |
15 | | - <disallow pkg="org.springframework.boot.web" /> |
16 | | - <disallow pkg="org.springframework.web.servlet" /> |
17 | | - <disallow pkg="org.springframework.web.reactive" /> |
18 | | - <disallow pkg="jakarta.servlet" /> |
19 | | - <subpackage name="client"> |
20 | | - <allow pkg="org.springframework.boot.web.client" /> |
21 | | - </subpackage> |
22 | | - <subpackage name="server"> |
23 | | - <allow pkg="org.springframework.boot.web.server" /> |
24 | | - <subpackage name="reactive"> |
25 | | - <allow pkg="org.springframework.boot.web.reactive.server" /> |
26 | | - </subpackage> |
27 | | - <subpackage name="servlet"> |
28 | | - <allow pkg="jakarta.servlet" /> |
29 | | - <allow pkg="org.springframework.boot.web.servlet" /> |
30 | | - <allow pkg="org.springframework.boot.web.error" /> |
31 | | - <allow pkg="org.springframework.web.servlet" /> |
32 | | - </subpackage> |
33 | | - </subpackage> |
34 | | - <subpackage name="servlet"> |
35 | | - <allow pkg="jakarta.servlet" /> |
36 | | - <allow pkg="org.springframework.boot.web.servlet" /> |
37 | | - <allow pkg="org.springframework.web.servlet" /> |
38 | | - <subpackage name="error"> |
39 | | - <allow pkg="org.springframework.boot.web.error" /> |
40 | | - </subpackage> |
41 | | - </subpackage> |
42 | | - <subpackage name="reactive"> |
43 | | - <allow pkg="org.springframework.boot.web.codec" /> |
44 | | - <allow pkg="org.springframework.boot.web.reactive" /> |
45 | | - <allow pkg="org.springframework.web.reactive" /> |
46 | | - <subpackage name="error"> |
47 | | - <allow pkg="org.springframework.boot.web.error" /> |
48 | | - </subpackage> |
49 | | - </subpackage> |
50 | | - </subpackage> |
51 | | - </subpackage> |
| 13 | + <!-- Allow other imports --> |
| 14 | + <allow pkg=".*" regex="true" /> |
52 | 15 |
|
| 16 | + <!-- Open direct use of micrometer to specific subpackages --> |
53 | 17 | <subpackage name="metrics"> |
54 | 18 | <allow pkg="io.micrometer" /> |
55 | 19 | </subpackage> |
56 | | - |
57 | 20 | <subpackage name=".*\.metrics" regex="true"> |
58 | 21 | <allow pkg="io.micrometer" /> |
59 | 22 | </subpackage> |
60 | | - |
61 | 23 | <subpackage name=".*\.autoconfigure" regex="true"> |
62 | 24 | <allow pkg="io.micrometer" /> |
63 | 25 | </subpackage> |
64 | | - |
65 | | - <subpackage name="[^.]+\.actuate" regex="true"> |
66 | | - <subpackage name="endpoint"> |
67 | | - <file name=".*Endpoint(WebExtension)?" regex="true"> |
68 | | - <allow pkg="org.springframework.lang"/> |
69 | | - </file> |
70 | | - </subpackage> |
| 26 | + <subpackage name="docs"> |
| 27 | + <allow pkg="io.micrometer" /> |
71 | 28 | </subpackage> |
72 | | - |
73 | | - <subpackage name="actuate"> |
74 | | - <!-- Endpoint infrastructure --> |
75 | | - <subpackage name="endpoint"> |
76 | | - <disallow pkg="org.springframework.http" /> |
77 | | - <disallow pkg="org.springframework.web" /> |
78 | | - <subpackage name="invoke"> |
79 | | - <subpackage name="reflect"> |
80 | | - <file name="OperationMethodParameter"> |
81 | | - <allow pkg="org.springframework.lang"/> |
82 | | - </file> |
83 | | - </subpackage> |
84 | | - </subpackage> |
85 | | - <subpackage name="web"> |
86 | | - <allow pkg="org.springframework.http" /> |
87 | | - <allow pkg="org.springframework.web" /> |
88 | | - <subpackage name="servlet"> |
89 | | - <disallow pkg="org.springframework.web.reactive" /> |
90 | | - </subpackage> |
91 | | - <subpackage name="reactive"> |
92 | | - <disallow pkg="org.springframework.web.servlet" /> |
93 | | - </subpackage> |
| 29 | + <subpackage name="test"> |
| 30 | + <subpackage name="autoconfigure"> |
| 31 | + <subpackage name="actuate"> |
| 32 | + <allow pkg="io.micrometer" /> |
94 | 33 | </subpackage> |
95 | 34 | </subpackage> |
96 | 35 | </subpackage> |
97 | 36 |
|
98 | | - <subpackage name="docs"> |
99 | | - <allow pkg="io.micrometer" /> |
100 | | - </subpackage> |
101 | | - |
102 | | - <!-- Logging --> |
| 37 | + <!-- Keep logging focused on lower level packages (binding and AOT) --> |
103 | 38 | <subpackage name="logging"> |
104 | 39 | <allow pkg="org.springframework.boot.context.properties" /> |
105 | 40 | <allow pkg="org.springframework.boot.context.properties.bind" /> |
|
108 | 43 | <disallow pkg="org.springframework.boot.context" /> |
109 | 44 | </subpackage> |
110 | 45 |
|
111 | | - <subpackage name="test"> |
112 | | - <subpackage name="autoconfigure"> |
113 | | - <subpackage name="actuate"> |
114 | | - <allow pkg="io.micrometer" /> |
115 | | - </subpackage> |
116 | | - </subpackage> |
117 | | - </subpackage> |
118 | | - |
119 | 46 | <!-- Web related concerns --> |
120 | 47 | <subpackage name="web"> |
121 | 48 |
|
|
208 | 135 |
|
209 | 136 | </subpackage> |
210 | 137 |
|
| 138 | + <!-- Actuator endpoint infrastructure --> |
| 139 | + <subpackage name="actuate"> |
| 140 | + <subpackage name="endpoint"> |
| 141 | + <disallow pkg="org.springframework.http" /> |
| 142 | + <disallow pkg="org.springframework.web" /> |
| 143 | + <subpackage name="web"> |
| 144 | + <allow pkg="org.springframework.http" /> |
| 145 | + <allow pkg="org.springframework.web" /> |
| 146 | + <subpackage name="servlet"> |
| 147 | + <disallow pkg="org.springframework.web.reactive" /> |
| 148 | + </subpackage> |
| 149 | + <subpackage name="reactive"> |
| 150 | + <disallow pkg="org.springframework.web.servlet" /> |
| 151 | + </subpackage> |
| 152 | + </subpackage> |
| 153 | + </subpackage> |
| 154 | + </subpackage> |
| 155 | + |
| 156 | + <!-- Web Servers --> |
| 157 | + <subpackage name="tomcat|undertow|jetty|reactor" regex="true"> |
| 158 | + <allow pkg="org.springframework.boot.web.server" /> |
| 159 | + <disallow pkg="org.springframework.boot.web" /> |
| 160 | + <disallow pkg="org.springframework.web.servlet" /> |
| 161 | + <disallow pkg="org.springframework.web.reactive" /> |
| 162 | + <subpackage name="servlet"> |
| 163 | + <allow pkg="jakarta.servlet" /> |
| 164 | + <allow pkg="org.springframework.boot.web.server" /> |
| 165 | + <allow pkg="org.springframework.boot.web.servlet" /> |
| 166 | + <allow pkg="org.springframework.boot.web.error" /> |
| 167 | + <allow pkg="org.springframework.web.servlet" /> |
| 168 | + </subpackage> |
| 169 | + <subpackage name="reactive"> |
| 170 | + <allow pkg="org.springframework.boot.web.server" /> |
| 171 | + <allow pkg="org.springframework.boot.web.codec" /> |
| 172 | + <allow pkg="org.springframework.boot.web.reactive" /> |
| 173 | + <allow pkg="org.springframework.web.reactive" /> |
| 174 | + </subpackage> |
| 175 | + <subpackage name="autoconfigure"> |
| 176 | + <subpackage name="servlet"> |
| 177 | + <allow pkg="jakarta.servlet" /> |
| 178 | + <allow pkg="org.springframework.boot.web.servlet" /> |
| 179 | + <allow pkg="org.springframework.boot.web.error" /> |
| 180 | + <allow pkg="org.springframework.web.servlet" /> |
| 181 | + </subpackage> |
| 182 | + <subpackage name="reactive"> |
| 183 | + <allow pkg="org.springframework.boot.web.codec" /> |
| 184 | + <allow pkg="org.springframework.boot.web.reactive" /> |
| 185 | + <allow pkg="org.springframework.web.reactive" /> |
| 186 | + </subpackage> |
| 187 | + </subpackage> |
| 188 | + </subpackage> |
| 189 | + |
211 | 190 | </import-control> |
0 commit comments