blob: 0865a941e1da76704eacaf6db926ccb2663a1095 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the
Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
version 2 with the GNU Classpath Exception, which is available at
https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-->
<!--
Configuration file for FindBugs exclusion filter.
When a file, class or rule (detector) is matched, it is not reported as a potential problem by FindBugs.
Note that this configuration file is not used by default in the maven build (mvn site), as FindBugs maven plugin
handles the paths as relative to a module root and would require to have such file in each module separately.
To use this exclusion configuration, run build with:
mvn site -Dfindbugs.exclude=[jersey_project_root]/etc/config/findbugs-exclude.xml
-->
<FindBugsFilter>
<!-- skip FindBugs analysis in examples -->
<Match>
<Package name="~org\.glassfish\.jersey\.examples.*" />
</Match>
<!-- skip FindBugs analysis in tests -->
<Match>
<Package name="~org\.glassfish\.jersey\.tests.*" />
</Match>
<Match>
<Class name="~.*\.*Test" />
</Match>
<!-- skip analysis in repackaged libraries -->
<Match>
<Package name="~jersey\.repackaged.*" />
</Match>
<!-- skip analysis in the spec package -->
<Match>
<Package name="~javax\.ws\.rs.*" />
</Match>
<!-- do not report issues found in bundles -->
<Match>
<Source name="~.*bundles.*" />
</Match>
<!--
ignore warnings coming from VO_VOLATILE_INCREMENT, there is a known bug which causes false positives:
http://sourceforge.net/p/findbugs/bugs/1032/
-->
<Match>
<Bug pattern="VO_VOLATILE_INCREMENT" />
</Match>
<!-- ignore irrelevant additional GlassFish logging detectors -->
<Match>
<Bug pattern="GF_INVALID_MSG_ID_PATTERN,GF_MISSING_LOGGER_INFO_ANNOTATION,GF_MISSING_LOGMESSAGE_INFO_ANNOTATION" />
</Match>
<!-- individual ad-hoc ignores -->
<!-- ServerScopeProvider.getFilteringScopes() - returned object would be identical -->
<Match>
<Class name="org.glassfish.jersey.message.filtering.ServerScopeProvider" />
<Method name="getFilteringScopes" />
<Bug pattern="RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED" />
</Match>
<!-- used as fallback, can be ignored here -->
<Match>
<Bug pattern="DM_DEFAULT_ENCODING" />
<Class name="~.*.Base64" />
</Match>
<!-- There are few cases in the codebase -->
<Match>
<Bug pattern="CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE" />
</Match>
<Match>
<Bug pattern="REC_CATCH_EXCEPTION" />
<Class name="~.*.VfsSchemeResourceFinderFactory" />
</Match>
<!-- TODOs - those are the FindBugs warnings not resolved yet -->
<!-- Those exclusions should either be fixed or, after evaluation moved outside of this "TODO" section -->
<Match>
<Bug pattern="DM_DEFAULT_ENCODING" />
<Or>
<Class name="~.*.AbstractTemplateProcessor" />
<Class name="~.*.HmaSha1Method" />
<Class name="~.*.RsaSha1Method" />
<Class name="~.*.ConsumerCredentials" />
<Class name="~.*.AccessToken" />
<Class name="~.*.ClientIdentifier" />
<Class name="~.*.ChunkedInput" />
<Class name="~.*.ChunkedOutput" />
</Or>
</Match>
<Match>
<Class name="org.glassfish.jersey.apache.connector.ApacheConnector" />
</Match>
<!-- CDI extension observer methods are called by CDI bean manager at runtime -->
<Match>
<Class name="org.glassfish.jersey.ext.cdi1x.internal.CdiComponentProvider" />
<Bug pattern="UPM_UNCALLED_PRIVATE_METHOD" />
<Or>
<Method name="processAnnotatedType" />
<Method name="afterTypeDiscovery" />
<Method name="beforeTypeDiscovery" />
<Method name="processInjectionTarget" />
<Method name="afterDiscoveryObserver" />
</Or>
</Match>
</FindBugsFilter>