<?xml version="1.0"?>

<!--
  ~ 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.
  -->

<!DOCTYPE suppressions PUBLIC
        "-//Puppy Crawl//DTD Suppressions 1.1//EN"
        "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">

<suppressions>

  <suppress checks="Javadoc.*" files=".*/src/test/java/.*" />

  <suppress checks="JavadocPackage" files=".*/src/(main|integration)/java/.*" />
  <suppress checks="JavadocPackage" files=".*/src/.*/internal/.*" />

  <suppress checks="JavadocStyle" files=".*/src/(main|integration)/java/.*" />
  <suppress checks="JavadocStyle" files=".*/src/.*/internal/.*" />

  <!-- do not check thrift generated files -->
  <suppress checks=".*" files=".*/tephra/distributed/thrift/.*" />
  <suppress checks=".*" files=".*/org/apache/thrift/.*" />

</suppressions>
