build:
  maxIssues: 0
  weights:
    complexity: 2
    formatting: 1
    LongParameterList: 1
    comments: 1

potential-bugs:
  active: true
  DuplicateCaseInWhenExpression:
    active: true
  EqualsWithHashCodeExist:
    active: true
  ExplicitGarbageCollectionCall:
    active: true
  LateinitUsage:
    active: false
  UnsafeCallOnNullableType:
    active: false
  UnsafeCast:
    active: false

performance:
  active: true
  ForEachOnRange:
    active: true
  SpreadOperator:
    active: true

exceptions:
  active: true
  TooGenericExceptionCaught:
    allowedExceptionNameRegex: '_|(all|ignore|expected).*'

empty-blocks:
  active: true
  EmptyFunctionBlock:
    active: true
    ignoreOverridden: true

complexity:
  active: true
  TooManyFunctions:
    thresholdInFiles: 25
    thresholdInClasses: 25
    thresholdInInterfaces: 20
    thresholdInObjects: 30
  LabeledExpression:
    active: false


formatting:
  autoCorrect: true
  active: false

style:
  active: true
  NewLineAtEndOfFile:
    active: true
  ForbiddenComment:
    active: true
    values: 'FIXME:,STOPSHIP:'
  WildcardImport:
    active: true
  MaxLineLength:
    active: false
  MagicNumber:
    # 100 common in percentage, 1000 in milliseconds
    ignoreNumbers: ['-1', '0', '1', '2', '5', '10', '100', '256', '512', '1000', '1024', '4096']
    ignoreEnums: true
    ignorePropertyDeclaration: true
  UnnecessaryAbstractClass:
    active: false
  ReturnCount:
    max: 5

comments:
  active: true
  UndocumentedPublicClass:
    active: false
    searchInNestedClass: true
    searchInInnerClass: true
    searchInInnerInterface: true
  UndocumentedPublicFunction:
    active: false
