<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN" "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">

<suppressions>
	<!-- These suppressions define which files to be suppressed for which checks. -->
	<suppress files=".+[\\/]internal[\\/].+\.java" checks="JavadocType|JavadocVariable|JavadocMethod|MissingJavadocFilterCheck"/>
	<suppress files=".+DTO\.java" checks="JavadocType|JavadocVariable|JavadocMethod|MissingJavadocFilterCheck|NullAnnotationsCheck" />
	<suppress files=".+[\\/]YamlElement\.java" checks="NullAnnotationsCheck" />
	<suppress files=".+Impl\.java" checks="JavadocType|JavadocVariable|JavadocMethod|MissingJavadocFilterCheck"/>
	<suppress files=".+[\\/]pom\.xml" checks="OnlyTabIndentationCheck"/>
	<suppress files=".+[\\/]OH-INF[\\/].+\.xml" checks="OhInfXmlLabelCheck"/>

	<!-- All generated files will skip the author tag check -->
	<suppress files=".+[\\/]gen[\\/].+\.java" checks="AuthorTagCheck"/>
	<!-- Some checks will be suppressed for test bundles -->
	<suppress files=".+.test[\\/].+" checks="RequireBundleCheck|OutsideOfLibExternalLibrariesCheck|ManifestExternalLibrariesCheck|BuildPropertiesExternalLibrariesCheck"/>

	<!-- openHAB Core specific suppressions-->

	<!-- These bundles are generated trough XText -->
	<suppress files=".+org.openhab.core.model.+" checks="RequireBundleCheck|ExportInternalPackageCheck|ManifestPackageVersionCheck|ImportExportedPackagesCheck|PackageExportsNameCheck|PomXmlCheck"/>

	<suppress files=".+org.openhab.core.config.core.ConfigurableService" checks="ConstantNameCheck"/>
	<suppress files=".+org.openhab.core.config.discovery.mdns.internal.MDNSDiscoveryService.java|.+org.openhab.core.config.discovery.upnp.internal.UpnpDiscoveryService.java|.+org.openhab.core.io.console.eclipse.internal.ConsoleSupportEclipse.java|.+org.openhab.core.io.console.rfc147.internal.CommandWrapper.java|.+org.openhab.core.library.unit.BinaryPrefix.java|.+org.openhab.core.library.unit.MetricPrefix.java" checks="MethodNameCheck"/>

	<!--suppress local variable naming check to stay consistent with the usual convention when calculating xyY/RGB/HSB conversion -->
	<suppress files=".+org.openhab.core.util.ColorUtil.java" checks="LocalVariableNameCheck" />

	<!-- Add suppression as discussed in https://github.com/openhab/static-code-analysis/issues/265 -->
	<suppress files=".+org.openhab.core.common.registry.AbstractRegistry.java" checks="DeclarativeServicesDependencyInjectionCheck"/>
	<suppress files=".+org.openhab.core.thing.binding.BaseThingHandler.java" checks="DeclarativeServicesDependencyInjectionCheck"/>
	<suppress files=".+org.openhab.core.thing.binding.BaseThingHandlerFactory.java" checks="DeclarativeServicesDependencyInjectionCheck"/>
	<suppress files=".+org.openhab.core.transform.AbstractFileTransformationService.java" checks="DeclarativeServicesDependencyInjectionCheck"/>
	<suppress files=".+org.openhab.core.automation.internal.commands.AbstractCommandProvider.java" checks="DeclarativeServicesDependencyInjectionCheck"/>
	<suppress files=".+org.openhab.core.automation.sample.rest.api.internal.Activator.java" checks="DeclarativeServicesDependencyInjectionCheck"/>
</suppressions>
