<?xml version="1.0"?>

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

<!--
  ~ Licensed to Metamarkets Group Inc. (Metamarkets) under one
  ~ or more contributor license agreements. See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership. Metamarkets 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.
  -->

<suppressions>
  <!-- See http://checkstyle.sourceforge.net/config_filters.html#SuppressionFilter for examples -->

  <!-- Code copied from TestNG to apply a bugfix -->
  <suppress checks="AvoidStaticImport" files="[\\/]org[\\/]testng[\\/]" />

  <!-- Our tests have many legacy usages of static imports; enforcement is impratical until those are removed. -->
  <suppress checks="AvoidStaticImport" files="[\\/]src[\\/]test[\\/]" />

  <suppress checks="Header" files="[\\/]target[\\/]generated-test-sources[\\/]" />
  <suppress checks="NeedBraces" files="[\\/]target[\\/]generated-test-sources[\\/]" />
  <suppress checks="UnusedImports" files="[\\/]target[\\/]generated-test-sources[\\/]" />
  <suppress checks="AvoidStarImport" files="[\\/]target[\\/]generated-test-sources[\\/]" />
  <suppress checks="FileTabCharacter" files="[\\/]target[\\/]generated-test-sources[\\/]" />

  <suppress checks="WhitespaceAfter" files="[\\/]target[\\/]generated-test-sources[\\/]" />
  <suppress checks="WhitespaceAround" files="[\\/]target[\\/]generated-test-sources[\\/]" />
  <suppress checks="ParenPad" files="[\\/]target[\\/]generated-test-sources[\\/]" />
  <suppress checks="SingleSpaceSeparator" files="[\\/]target[\\/]generated-test-sources[\\/]" />
  <suppress checks="NoWhitespaceBefore" files="[\\/]target[\\/]generated-test-sources[\\/]" />
  <suppress checks="NoWhitespaceAfter" files="[\\/]target[\\/]generated-test-sources[\\/]" />

  <suppress checks="LeftCurly" files="[\\/]target[\\/]generated-test-sources[\\/]" />
  <suppress checks="RightCurly" files="[\\/]target[\\/]generated-test-sources[\\/]" />

  <suppress checks="Indentation" files="[\\/]target[\\/]generated-test-sources[\\/]" />
  <suppress checks="Indentation" files="ProtoTestEventWrapper.java" />

  <!-- extendedset is a fork of Alessandro Colantonio's CONCISE (COmpressed 'N' Composable Integer SEt) repository and licensed to Metamarkets under a CLA is not true. -->
  <suppress checks="Header" files="[\\/]extendedset[\\/]" />
</suppressions>
