# Required metadata
sonar.projectKey=com.ibm.powervm:pypowervm
sonar.projectName=pypowervm
sonar.projectVersion=1.0

# Comma-separated paths to directories with sources (required)
sonar.sources=.

# Language
sonar.language=py

# Encoding of the source files
sonar.sourceEncoding=UTF-8

# Disable certain rules for test files
sonar.issue.ignore.multicriteria=e1,e2,e3,e4

# Access to a protected member of a client class
sonar.issue.ignore.multicriteria.e1.ruleKey=Pylint:W0212
sonar.issue.ignore.multicriteria.e1.resourceKey=pypowervm/tests/**

# Access to a protected member of a client class
# For wrapper creation, we use @classmethods that access private methods to set
# initial values. Some day we may figure out a different way to do this.
# Until then, disable this rule for all wrappers.
sonar.issue.ignore.multicriteria.e2.ruleKey=Pylint:W0212
sonar.issue.ignore.multicriteria.e2.resourceKey=pypowervm/wrappers/**

# Abstract method is not overridden
# This is to work around a sonar limitation.  _LUBase is itself abstract, so
# shouldn't need to implement an abstract method.  LU and LUEnt both inherit
# from concrete classes which implement the abstract method, but those are
# second in the MRO, so sonar isn't picking them up.
sonar.issue.ignore.multicriteria.e3.ruleKey=Pylint:W0223
sonar.issue.ignore.multicriteria.e3.resourceKey=pypowervm/wrappers/storage.py

# Function names should comply with a naming convention
# Allow retry module to use const-ish method names for delay_func
sonar.issue.ignore.multicriteria.e4.ruleKey=python:S1542
sonar.issue.ignore.multicriteria.e4.resourceKey=pypowervm/utils/retry.py
