<?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.
-->
<ruleset name="sentry-pmd" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
  <description>
  A PMD ruleset for Apache Sentry
  </description>

  <rule ref="rulesets/java/basic.xml">
    <exclude name="CheckResultSet"/>
    <exclude name="AvoidUsingOctalValues"/>
    <exclude name="AvoidUsingHardCodedIP"/>
  </rule>
  <rule ref="rulesets/java/unusedcode.xml"/>
  <rule ref="rulesets/java/imports.xml">
    <exclude name="TooManyStaticImports"/>
  </rule>
  <rule ref="rulesets/java/braces.xml"/>
  <rule ref="rulesets/java/empty.xml">
    <exclude name="EmptyCatchBlock" />
  </rule>
  <rule ref="rulesets/java/migrating.xml">
    <exclude name="JUnitUseExpected" />
    <exclude name="JUnit4TestShouldUseAfterAnnotation" />
    <exclude name="JUnit4TestShouldUseBeforeAnnotation" />
  </rule>
  <rule ref="rulesets/java/unnecessary.xml">
    <exclude name="UselessParentheses" />
  </rule>

</ruleset>
