<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
		"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
		"https://checkstyle.org/dtds/configuration_1_3.dtd">
<module name="com.puppycrawl.tools.checkstyle.Checker">
	<module name="io.spring.nohttp.checkstyle.check.NoHttpCheck">
		<property name="whitelistFileName" value="${main.basedir}/src/checkstyle/nohttp-whitelist.txt"/>
	</module>
	<module name="io.spring.javaformat.checkstyle.SpringChecks" />
	<module name="com.puppycrawl.tools.checkstyle.TreeWalker">
		<module
			name="com.puppycrawl.tools.checkstyle.checks.imports.IllegalImportCheck">
			<property name="regexp" value="true" />
			<property name="illegalPkgs"
				value="^sun.*, ^org\.apache\.commons\.(?!compress|dbcp2|lang|lang3|logging|pool2).*, ^com\.google\.common.*, ^org\.flywaydb\.core\.internal.*, ^org\.testcontainers\.shaded.*" />
			<property name="illegalClasses"
				value="^com\.hazelcast\.util\.Base64, ^org\.junit\.rules\.ExpectedException, ^org\.slf4j\.LoggerFactory, ^reactor\.core\.support\.Assert" />
		</module>
		<module
			name="com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheck">
			<property name="file"
				value="${main.basedir}/src/checkstyle/import-control.xml" />
			<property name="path" value="^.*[\\/]src[\\/]main[\\/].*$" />
		</module>
		<module name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpSinglelineJavaCheck">
			<property name="maximum" value="0"/>
			<property name="format" value="org\.junit\.Assert\.assert" />
			<property name="message"
				value="Please use AssertJ imports." />
			<property name="ignoreComments" value="true" />
		</module>
		<module
			name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpSinglelineJavaCheck">
			<property name="maximum" value="0" />
			<property name="format"
				value="assertThatExceptionOfType\((NullPointerException|IllegalArgumentException|IOException|IllegalStateException)\.class\)" />
			<property name="message"
				value="Please use specialized AssertJ assertThat*Exception method." />
			<property name="ignoreComments" value="true" />
		</module>
 		<module name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpSinglelineJavaCheck">
 			<property name="maximum" value="0"/>
			<property name="format" value="org\.mockito\.Mockito\.(when|doThrow|doAnswer)" />
			<property name="message"
				value="Please use BDDMockito imports." />
			<property name="ignoreComments" value="true" />
		</module>
		<module name="io.spring.javaformat.checkstyle.check.SpringJavadocCheck">
			<property name="publicOnlySinceTags" value="true" />
			<property name="requireSinceTag" value="true" />
		</module>
	</module>
</module>
