You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
231 lines
7.8 KiB
231 lines
7.8 KiB
<?xml version="1.0"?> |
|
<!DOCTYPE import-control PUBLIC "-//Checkstyle//DTD ImportControl Configuration 1.4//EN" "https://checkstyle.org/dtds/import_control_1_4.dtd"> |
|
<import-control pkg="org.springframework.boot"> |
|
|
|
<!-- Only use Micrometer Observation --> |
|
<allow pkg="io.micrometer.observation" /> |
|
<disallow pkg="io.micrometer" /> |
|
|
|
<!-- Use JSpecify for nullability (not Spring) --> |
|
<allow class="org.springframework.lang.Contract" /> |
|
<disallow pkg="org.springframework.lang" /> |
|
|
|
<!-- Allow other imports --> |
|
<allow pkg=".*" regex="true" /> |
|
|
|
<!-- Keep foundation packages away from 'org.springframework.boot' package --> |
|
<subpackage name="ansi"> |
|
<disallow pkg="org.springframework.boot" exact-match="true"/> |
|
</subpackage> |
|
<subpackage name="availability"> |
|
<disallow pkg="org.springframework.boot" exact-match="true"/> |
|
</subpackage> |
|
<subpackage name="bootstrap"> |
|
<disallow pkg="org.springframework.boot" exact-match="true"/> |
|
</subpackage> |
|
<subpackage name="context"> |
|
<subpackage name="properties"> |
|
<subpackage name="bind"> |
|
<disallow pkg="org.springframework.boot" exact-match="true"/> |
|
</subpackage> |
|
<subpackage name="source"> |
|
<disallow pkg="org.springframework.boot" exact-match="true"/> |
|
</subpackage> |
|
</subpackage> |
|
</subpackage> |
|
<subpackage name="env"> |
|
<disallow pkg="org.springframework.boot" exact-match="true"/> |
|
</subpackage> |
|
<subpackage name="info"> |
|
<disallow pkg="org.springframework.boot" exact-match="true"/> |
|
</subpackage> |
|
<subpackage name="io"> |
|
<disallow pkg="org.springframework.boot" exact-match="true"/> |
|
</subpackage> |
|
<subpackage name="ssl"> |
|
<disallow pkg="org.springframework.boot" exact-match="true"/> |
|
</subpackage> |
|
<subpackage name="origin"> |
|
<disallow pkg="org.springframework.boot" exact-match="true"/> |
|
</subpackage> |
|
<subpackage name="util"> |
|
<disallow pkg="org.springframework.boot" exact-match="true"/> |
|
</subpackage> |
|
|
|
<!-- Open direct use of micrometer to specific subpackages --> |
|
<subpackage name="metrics"> |
|
<allow pkg="io.micrometer" /> |
|
</subpackage> |
|
<subpackage name=".*\.metrics" regex="true"> |
|
<allow pkg="io.micrometer" /> |
|
</subpackage> |
|
<subpackage name=".*\.autoconfigure" regex="true"> |
|
<allow pkg="io.micrometer" /> |
|
</subpackage> |
|
<subpackage name="docs"> |
|
<allow pkg="io.micrometer" /> |
|
</subpackage> |
|
<subpackage name="test"> |
|
<subpackage name="autoconfigure"> |
|
<subpackage name="actuate"> |
|
<allow pkg="io.micrometer" /> |
|
</subpackage> |
|
</subpackage> |
|
</subpackage> |
|
|
|
<!-- Keep logging focused on lower level packages (binding and AOT) --> |
|
<subpackage name="logging"> |
|
<allow pkg="org.springframework.boot.context.properties" /> |
|
<allow pkg="org.springframework.boot.context.properties.bind" /> |
|
<allow pkg="org.springframework.context.aot" /> |
|
<disallow pkg="org.springframework.context" /> |
|
<disallow pkg="org.springframework.boot.context" /> |
|
</subpackage> |
|
|
|
<!-- Web related concerns --> |
|
<subpackage name="web"> |
|
|
|
<!-- Lock things down --> |
|
<disallow pkg="org.springframework.boot.web" /> |
|
<disallow pkg="org.springframework.web.servlet" /> |
|
<disallow pkg="jakarta.servlet" /> |
|
|
|
<!-- Common --> |
|
<subpackage name="context"> |
|
<allow pkg="org.springframework.context" /> |
|
<subpackage name="servlet"> |
|
<allow pkg="org.springframework.boot.web.servlet" /> |
|
<allow pkg="jakarta.servlet" /> |
|
</subpackage> |
|
</subpackage> |
|
<subpackage name="server"> |
|
<allow pkg="org.springframework.boot.web.error" /> |
|
<allow pkg="org.springframework.boot.web.server" /> |
|
<disallow pkg="org.springframework.context" /> |
|
<subpackage name="autoconfigure"> |
|
<allow pkg="org.springframework.context" /> |
|
<subpackage name="servlet"> |
|
<allow pkg="jakarta.servlet" /> |
|
<allow pkg="org.springframework.boot.web.servlet" /> |
|
</subpackage> |
|
</subpackage> |
|
<subpackage name="client"> |
|
<allow pkg="jakarta.servlet" /> |
|
<allow pkg="org.springframework.context" /> |
|
</subpackage> |
|
<subpackage name="context"> |
|
<allow pkg="org.springframework.context" /> |
|
</subpackage> |
|
<subpackage name="reactive"> |
|
<subpackage name="context"> |
|
<allow pkg="org.springframework.context" /> |
|
<allow pkg="org.springframework.web.context" /> |
|
<allow pkg="org.springframework.boot.web.context.reactive" /> |
|
</subpackage> |
|
</subpackage> |
|
<subpackage name="servlet"> |
|
<allow pkg="jakarta.servlet" /> |
|
<allow pkg="org.springframework.boot.web.servlet" /> |
|
<subpackage name="context"> |
|
<allow pkg="org.springframework.context" /> |
|
<allow pkg="org.springframework.web.context" /> |
|
<allow pkg="org.springframework.boot.web.context.servlet" /> |
|
</subpackage> |
|
</subpackage> |
|
<subpackage name="test"> |
|
<allow pkg=".*" regex="true" /> |
|
</subpackage> |
|
</subpackage> |
|
|
|
<!-- Servlet --> |
|
<subpackage name="servlet"> |
|
<allow pkg="jakarta.servlet" /> |
|
<subpackage name="filter"> |
|
<allow pkg="jakarta.servlet" /> |
|
<allow pkg="org.springframework.boot.web.servlet" /> |
|
</subpackage> |
|
<subpackage name="support"> |
|
<allow pkg="jakarta.servlet" /> |
|
<allow pkg="org.springframework.boot.web.error" /> |
|
<allow pkg="org.springframework.boot.web.context.servlet" /> |
|
<allow pkg="org.springframework.boot.web.servlet" /> |
|
</subpackage> |
|
<subpackage name="view"> |
|
<allow pkg="org.springframework.web.servlet" /> |
|
</subpackage> |
|
<subpackage name="error"> |
|
<allow pkg="org.springframework.boot.web.error" /> |
|
<allow pkg="org.springframework.web.servlet" /> |
|
</subpackage> |
|
</subpackage> |
|
|
|
<!-- Reactive --> |
|
<subpackage name="reactive"> |
|
<subpackage name="context"> |
|
<allow pkg="org.springframework.boot.web.context" /> |
|
</subpackage> |
|
<subpackage name="error"> |
|
<allow pkg="org.springframework.boot.web.error" /> |
|
</subpackage> |
|
<subpackage name="result"> |
|
<subpackage name="view"> |
|
<allow pkg="org.springframework.boot.web.reactive.result.view" /> |
|
</subpackage> |
|
</subpackage> |
|
</subpackage> |
|
|
|
</subpackage> |
|
|
|
<!-- Actuator endpoint infrastructure --> |
|
<subpackage name="actuate"> |
|
<subpackage name="endpoint"> |
|
<disallow pkg="org.springframework.http" /> |
|
<disallow pkg="org.springframework.web" /> |
|
<subpackage name="web"> |
|
<allow pkg="org.springframework.http" /> |
|
<allow pkg="org.springframework.web" /> |
|
<subpackage name="servlet"> |
|
<disallow pkg="org.springframework.web.reactive" /> |
|
</subpackage> |
|
<subpackage name="reactive"> |
|
<disallow pkg="org.springframework.web.servlet" /> |
|
</subpackage> |
|
</subpackage> |
|
</subpackage> |
|
</subpackage> |
|
|
|
<!-- Web Servers --> |
|
<subpackage name="tomcat|undertow|jetty|reactor" regex="true"> |
|
<allow pkg="org.springframework.boot.web.server" /> |
|
<disallow pkg="org.springframework.boot.web" /> |
|
<disallow pkg="org.springframework.web.servlet" /> |
|
<disallow pkg="org.springframework.web.reactive" /> |
|
<subpackage name="servlet"> |
|
<allow pkg="jakarta.servlet" /> |
|
<allow pkg="org.springframework.boot.web.server" /> |
|
<allow pkg="org.springframework.boot.web.servlet" /> |
|
<allow pkg="org.springframework.boot.web.error" /> |
|
<allow pkg="org.springframework.web.servlet" /> |
|
</subpackage> |
|
<subpackage name="reactive"> |
|
<allow pkg="org.springframework.boot.web.server" /> |
|
<allow pkg="org.springframework.boot.web.codec" /> |
|
<allow pkg="org.springframework.boot.web.reactive" /> |
|
<allow pkg="org.springframework.web.reactive" /> |
|
</subpackage> |
|
<subpackage name="autoconfigure"> |
|
<subpackage name="servlet"> |
|
<allow pkg="jakarta.servlet" /> |
|
<allow pkg="org.springframework.boot.web.servlet" /> |
|
<allow pkg="org.springframework.boot.web.error" /> |
|
<allow pkg="org.springframework.web.servlet" /> |
|
</subpackage> |
|
<subpackage name="reactive"> |
|
<allow pkg="org.springframework.boot.web.codec" /> |
|
<allow pkg="org.springframework.boot.web.reactive" /> |
|
<allow pkg="org.springframework.web.reactive" /> |
|
</subpackage> |
|
</subpackage> |
|
</subpackage> |
|
|
|
</import-control>
|
|
|