<?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>
  <!-- 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>