<?xml version="1.0" encoding="UTF-8"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at
       http://www.apache.org/licenses/LICENSE-2.0
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<FindBugsFilter
    xmlns="https://github.com/spotbugs/filter/3.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="https://github.com/spotbugs/filter/3.0.0 https://raw.githubusercontent.com/spotbugs/spotbugs/3.1.0/spotbugs/etc/findbugsfilter.xsd">

  <!-- Omit junit tests -->
  <Match>
    <Class name="~.*\.*Test.*"/>
    <Not>
      <Bug code="IJU"/>
    </Not>
  </Match>
  <Match>
    <Class name="~.*\.*Test.*"/>
    <Not>
      <Bug pattern="SE_BAD_FIELD, EI_EXPOSE_REP, EI_EXPOSE_REP2"/>
    </Not>
  </Match>
  <Match>
    <Class name="~.*\.*SharedFunctions.*" />
    <Bug pattern="OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE,RV_RETURN_VALUE_IGNORED_BAD_PRACTICE" />
  </Match>
  <Match>
    <Class name="~.*\.*CommonsDistributionDetachmentMojo.*" />
    <Bug pattern="DM_DEFAULT_ENCODING,OBL_UNSATISFIED_OBLIGATION" />
  </Match>
  <Match>
    <Class name="~.*\.*CommonsDistributionStagingMojo.*" />
    <Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE,URF_UNREAD_FIELD" />
  </Match>
  <Match>
    <Class name="~.*\.*CommonsSiteCompressionMojo.*" />
    <Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE,OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE,UUF_UNUSED_FIELD" />
  </Match>
  <Match>
    <Class name="~.*\.*CommonsStagingCleanupMojo.*" />
    <Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE,OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE,UUF_UNUSED_FIELD" />
  </Match>
</FindBugsFilter>