# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements; and to You under the Apache License, Version 2.0.

extends: default

rules:
  #  Needs to be more than 80 because of the standard
  #  apache header overflowing in a couple places
  line-length:
    max: 90
