mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-09-17 20:19:06 +00:00
235 lines
7.9 KiB
XML
235 lines
7.9 KiB
XML
<?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" />
|
|
|
|
<!-- Improve DevEx with fluent APIs -->
|
|
<allow class="org.springframework.lang.CheckReturnValue" />
|
|
|
|
<!-- 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|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>
|