<?xml version="1.0"?>

<!--
  ~ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License").
  ~ You may not use this file except in compliance with the License.
  ~ A copy of the License is located at
  ~
  ~  http://aws.amazon.com/apache2.0
  ~
  ~ or in the "license" file accompanying this file. This file 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.2//EN"
        "http://www.puppycrawl.com/dtds/suppressions_1_2.dtd">
<suppressions>
    <!-- ignore all checks for test classes except for the NoIgnoreAnnotationsCheck -->
    <suppress checks="^((?!NoIgnoreAnnotationsCheck).)*$"
              files=".*[\\/](test|it)[\\/]java[\\/].+\.java$"/>

    <!-- ignore missing annotation checks under test/codegen directory -->
    <suppress checks="MissingSdkAnnotationCheck"
              files=".(codegen|test|release)[\\/].+\.java$"/>

    <!-- TODO want to contribute this back to Netty -->
    <suppress checks=".*"
              files=".*BetterFixedChannelPool\.java$"/>

    <!-- TODO want to contribute this back to Netty -->
    <suppress checks=".*"
              files=".*[\\/]io[\\/]netty[\\/]handler[\\/]codec[\\/]http2[\\/].*\.java$"/>

    <!-- Assumes getter/setter match JSON property -->
    <suppress checks="AbbreviationAsWordInName"
              files=".*[\\/]software[\\/]amazon[\\/]awssdk[\\/]services[\\/]s3[\\/]event[\\/]S3EventNotification.java$"/>

    <!-- Ignore usage of Thread.currentThread().getContextClassLoader for ClassLoaderHelper.!-->
    <suppress checks="Regexp"
              files=".*ClassLoaderHelper\.java$"/>

    <!-- Ignore usage of sslContext.newHandler for NettyUtils.!-->
    <suppress checks="Regexp"
              files=".*NettyUtils\.java$"/>

    <!-- Allow non-java.base usage in tests -->
    <suppress checks="software.amazon.awssdk.buildtools.checkstyle.NonJavaBaseModuleCheck" files=".*testutils.*"/>

    <!-- Allow private field declaration before public, to have correct initialization order -->
    <suppress checks="DeclarationOrder"
              files=".*SdkAdvancedClientOption\.java$"/>
</suppressions>
