<?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="ranger-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>
     Apache Ranger - PMD rule set
  </description>

  <rule ref="rulesets/java/basic.xml">
	<exclude name="AvoidBranchingStatementAsLastInLoop" />
	<exclude name="AvoidThreadGroup" />
	<exclude name="AvoidUsingHardCodedIP" />
	<exclude name="ClassCastExceptionWithToArray" />
	<exclude name="CollapsibleIfStatements" />
	<exclude name="DoubleCheckedLocking" />
	<exclude name="ExtendsObject" />
	<exclude name="OverrideBothEqualsAndHashcode" />
  </rule>
  <rule ref="rulesets/java/unusedcode.xml">
	<exclude name="UnusedLocalVariable" />
	<exclude name="UnusedPrivateField" />
	<exclude name="UnusedPrivateMethod" />
  </rule>
  <rule ref="rulesets/java/imports.xml" />
  <rule ref="rulesets/java/braces.xml">
	<exclude name="ForLoopsMustUseBraces" />
	<exclude name="IfElseStmtsMustUseBraces" />
	<exclude name="IfStmtsMustUseBraces" />
  </rule>
  <rule ref="rulesets/java/empty.xml">
	<exclude name="EmptyCatchBlock" />
	<exclude name="EmptyIfStmt" />
	<exclude name="EmptyStatementNotInLoop" />
	<exclude name="EmptyWhileStmt" />
  </rule>
  <rule ref="rulesets/java/migrating.xml" />
  <rule ref="rulesets/java/unnecessary.xml">
	<exclude name="UselessParentheses" />
  </rule>

</ruleset>
