<!--
  ~ Copyright 2012 Google Inc.
  ~
  ~ Licensed 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>
    <Match>
        <!-- Protos and inner classes are generated by the proto compiler -->
	    <Package name="org.bitcoinj.protos"/>
	    <Package name="org.bitcoin.protocols.payments"/>
    </Match>

    <!-- bitcoinj is not designed to run in an environment with malicious code loaded into the VM -->
    <Match>
        <Bug category="MALICIOUS_CODE"/>
    </Match>

    <!-- Ignore serialization bugs for now, it's not a high priority anymore -->
    <Match>
        <Bug code="Se"/>
    </Match>

    <!-- This is flagging a valid issue but the real bug is in the JDK. See issue 173. -->
    <Match>
        <Bug pattern="LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE"/>
    </Match>

    <!-- The code is correct but findbugs can't analyze it properly -->
    <Match>
        <Bug code="SF"/>
        <Class name="org.bitcoinj.core.BloomFilter"/>
    </Match>

    <!-- fb doesn't like the odd API this class has -->
    <Match>
        <Class name="~.*SendRequest.*"/>
    </Match>
</FindBugsFilter>