[[linter]]
code = 'FLAKE8'
include_patterns = ['**/*.py']
exclude_patterns = [
    '.git/**',
    'build_test_custom_build/**',
    'build/**',
    'caffe2/**',
    'docs/caffe2/**',
    'docs/cpp/src/**',
    'docs/src/**',
    # NOTE: [Impending functorch move]
    # In preparation for the functorch -> pytorch merge,
    # we are adding the following excludes so that functorch passes
    # lint when it gets merged in. Please don't delete.
    'functorch/**',
    'scripts/**',
    'test/generated_type_hints_smoketest.py',
    'third_party/**',
    'torch/include/**',
    'torch/lib/**',
    'venv/**',
    '**/*.pyi',
    'tools/test/test_selective_build.py',
]
command = [
    'python3',
    'tools/linter/adapters/flake8_linter.py',
    '--',
    '@{{PATHSFILE}}'
]
init_command = [
    'python3',
    'tools/linter/adapters/pip_init.py',
    '--dry-run={{DRYRUN}}',
    'flake8==3.8.2',
    'flake8-bugbear==20.1.4',
    'flake8-comprehensions==3.3.0',
    'flake8-executable==2.0.4',
    'flake8-pyi==20.5.0',
    'mccabe==0.6.1',
    'pycodestyle==2.6.0',
    'pyflakes==2.2.0',
]


[[linter]]
code = 'CLANGFORMAT'
include_patterns = [
    'aten/src/ATen/*.h',
    'aten/src/ATen/native/vulkan/**/*.h',
    'aten/src/ATen/native/vulkan/**/*.cpp',
    'c10/**/*.h',
    'c10/**/*.cpp',
    'torch/csrc/**/*.h',
    'torch/csrc/**/*.cpp',
    'test/cpp/**/*.h',
    'test/cpp/**/*.cpp',
]
exclude_patterns = [
    'aten/src/ATen/native/vulkan/api/vk_mem_alloc.h',
    'c10/util/strong_type.h',
    'torch/csrc/jit/serialization/mobile_bytecode_generated.h',
]
init_command = [
    'python3',
    'tools/linter/adapters/s3_init.py',
    '--config-json=tools/linter/adapters/s3_init_config.json',
    '--linter=clang-format',
    '--dry-run={{DRYRUN}}',
    '--output-dir=.lintbin',
    '--output-name=clang-format',
]
command = [
    'python3',
    'tools/linter/adapters/clangformat_linter.py',
    '--binary=.lintbin/clang-format',
    '--',
    '@{{PATHSFILE}}'
]
is_formatter = true

[[linter]]
code = 'MYPY'
include_patterns = [
    'torch/**/*.py',
    'torch/**/*.pyi',
    'caffe2/**/*.py',
    'caffe2/**/*.pyi',
    'test/test_bundled_images.py',
    'test/test_bundled_inputs.py',
    'test/test_complex.py',
    'test/test_datapipe.py',
    'test/test_futures.py',
    # 'test/test_numpy_interop.py',
    'test/test_torch.py',
    'test/test_type_hints.py',
    'test/test_type_info.py',
    'test/test_utils.py',
]
exclude_patterns = [
    'torch/include/**',
    'torch/csrc/**',
    'torch/distributed/elastic/agent/server/api.py',
    'torch/testing/_internal/**',
    'torch/distributed/fsdp/fully_sharded_data_parallel.py',
    # TODO(suo): these exclusions were added just to get lint clean on master.
    # Follow up to do more target suppressions and remove them.
    'torch/distributed/fsdp/flatten_params_wrapper.py',
    'torch/ao/quantization/fx/convert.py',
    'torch/ao/quantization/_dbr/function_fusion.py',
    'test/test_datapipe.py',
    'caffe2/contrib/fakelowp/test/test_batchmatmul_nnpi_fp16.py',
    'test/test_numpy_interop.py',
    'torch/torch_version.py',
]
command = [
    'python3',
    'tools/linter/adapters/mypy_linter.py',
    '--config=mypy.ini',
    '--',
    '@{{PATHSFILE}}'
]
init_command = [
    'python3',
    'tools/linter/adapters/pip_init.py',
    '--dry-run={{DRYRUN}}',
    'numpy==1.21.6',
    'expecttest==0.1.3',
    'mypy==0.960',
    'types-requests==2.27.25',
    'types-six==1.16.15',
    'types-PyYAML==6.0.7',
    'types-tabulate==0.8.8',
    'types-protobuf==3.19.18',
    'types-pkg-resources==0.1.3',
    'types-Jinja2==2.11.9',
    'junitparser==2.1.1',
    'rich==10.9.0',
    'pyyaml==6.0',
]

[[linter]]
code = 'MYPYSTRICT'
include_patterns = [
    '.github/**/*.py',
    'benchmarks/instruction_counts/**/*.py',
    'tools/**/*.py',
    'torch/utils/_pytree.py',
    'torch/utils/benchmark/utils/common.py',
    'torch/utils/benchmark/utils/timer.py',
    'torch/utils/benchmark/utils/valgrind_wrapper/**/*.py',
]
exclude_patterns = [
    # (linbinyu) copied from internal repo
    'tools/code_analyzer/gen_operators_yaml.py',
    'tools/gen_vulkan_spv.py',
    'tools/test/gen_operators_yaml_test.py',
    'tools/test/gen_oplist_test.py',
    'tools/test/test_selective_build.py',
]
command = [
    'python3',
    'tools/linter/adapters/mypy_linter.py',
    '--config=mypy-strict.ini',
    '--',
    '@{{PATHSFILE}}'
]

[[linter]]
code = 'CLANGTIDY'
include_patterns = [
    'torch/csrc/deploy/**/*.cpp',
    'torch/csrc/fx/**/*.cpp',
    'torch/csrc/generic/**/*.cpp',
    'torch/csrc/onnx/**/*.cpp',
    'torch/csrc/tensor/**/*.cpp',
    'torch/csrc/utils/**/*.cpp',
]
exclude_patterns = [
    # The negative filters below are to exclude files that include onnx_pb.h or
    # caffe2_pb.h, otherwise we'd have to build protos as part of this CI job.
    # FunctionsManual.cpp is excluded to keep this diff clean. It will be fixed
    # in a follow up PR.
    # /torch/csrc/generic/*.cpp is excluded because those files aren't actually built.
    # deploy/interpreter files are excluded due to using macros and other techniquies
    # that are not easily converted to accepted c++
    'torch/csrc/jit/passes/onnx/helper.cpp',
    'torch/csrc/jit/passes/onnx/shape_type_inference.cpp',
    'torch/csrc/jit/serialization/onnx.cpp',
    'torch/csrc/jit/serialization/export.cpp',
    'torch/csrc/jit/serialization/import.cpp',
    'torch/csrc/jit/serialization/import_legacy.cpp',
    'torch/csrc/onnx/init.cpp',
    'torch/csrc/cuda/nccl.*',
    'torch/csrc/cuda/python_nccl.cpp',
    'torch/csrc/autograd/FunctionsManual.cpp',
    'torch/csrc/generic/*.cpp',
    'torch/csrc/jit/codegen/cuda/runtime/*',
    'torch/csrc/deploy/interactive_embedded_interpreter.cpp',
    'torch/csrc/deploy/interpreter/**',
    'torch/csrc/deploy/test_deploy_python_ext.cpp',
    'torch/csrc/deploy/test_deploy_missing_interpreter.cpp',
    'torch/csrc/deploy/test_deploy_gpu.cpp',
    'torch/csrc/utils/disable_torch_function.cpp',
]
init_command = [
    'python3',
    'tools/linter/adapters/s3_init.py',
    '--config-json=tools/linter/adapters/s3_init_config.json',
    '--linter=clang-tidy',
    '--dry-run={{DRYRUN}}',
    '--output-dir=.lintbin',
    '--output-name=clang-tidy',
]
command = [
    'python3',
    'tools/linter/adapters/clangtidy_linter.py',
    '--binary=.lintbin/clang-tidy',
    '--build_dir=./build',
    '--',
    '@{{PATHSFILE}}'
]

[[linter]]
code = 'TYPEIGNORE'
include_patterns = ['**/*.py', '**/*.pyi']
exclude_patterns = [
    'test/test_jit.py',
    # See NOTE: [Impending functorch move]
    'functorch/**',
]
command = [
    'python3',
    'tools/linter/adapters/grep_linter.py',
    '--pattern=# type:\s*ignore([^\[]|$)',
    '--linter-name=TYPEIGNORE',
    '--error-name=unqualified type: ignore',
    """--error-description=\
        This line has an unqualified `type: ignore`; \
        please convert it to `type: ignore[xxxx]`\
    """,
    '--',
    '@{{PATHSFILE}}'
]

[[linter]]
code = 'NOQA'
include_patterns = ['**/*.py', '**/*.pyi']
exclude_patterns = ['caffe2/**']
command = [
    'python3',
    'tools/linter/adapters/grep_linter.py',
    '--pattern=# noqa([^:]|$)',
    '--linter-name=NOQA',
    '--error-name=unqualified noqa',
    """--error-description=\
        This line has an unqualified `noqa`; \
        please convert it to `noqa: XXXX`\
    """,
    '--',
    '@{{PATHSFILE}}'
]

[[linter]]
code = 'CIRCLECI'
include_patterns=['.circleci/**']
command = [
    'python3',
    'tools/linter/adapters/circleci_linter.py',
    '--regen-script-working-dir=.circleci',
    '--config-yml=.circleci/config.yml',
    '--regen-script=generate_config_yml.py',
]

[[linter]]
code = 'NATIVEFUNCTIONS'
include_patterns=['aten/src/ATen/native/native_functions.yaml']
command = [
    'python3',
    'tools/linter/adapters/nativefunctions_linter.py',
    '--native-functions-yml=aten/src/ATen/native/native_functions.yaml',
]
init_command = [
    'python3',
    'tools/linter/adapters/pip_init.py',
    '--dry-run={{DRYRUN}}',
    'ruamel.yaml==0.17.4',
]
is_formatter = true

[[linter]]
code = 'NEWLINE'
include_patterns=['**']
exclude_patterns=[
    '**/contrib/**',
    'third_party/**',
    '**/*.expect',
    '**/*.ipynb',
    '**/*.ptl',
    'tools/clang_format_hash/**',
    'test/cpp/jit/upgrader_models/*.ptl',
    'test/cpp/jit/upgrader_models/*.ptl.ff',
    # See NOTE: [Impending functorch move]
    'functorch/**',
]
command = [
    'python3',
    'tools/linter/adapters/newlines_linter.py',
    '--',
    '@{{PATHSFILE}}',
]
is_formatter = true

[[linter]]
code = 'SPACES'
include_patterns = ['**']
exclude_patterns = [
    '**/contrib/**',
    '**/*.diff',
    'third_party/**',
    'aten/src/ATen/native/vulkan/api/vk_mem_alloc.h',
    'test/cpp/jit/upgrader_models/*.ptl',
    'test/cpp/jit/upgrader_models/*.ptl.ff',
    # See NOTE: [Impending functorch move]
    'functorch/**',
]
command = [
    'python3',
    'tools/linter/adapters/grep_linter.py',
    '--pattern=[[:blank:]]$',
    '--linter-name=SPACES',
    '--error-name=trailing spaces',
    '--replace-pattern=s/[[:blank:]]+$//',
    """--error-description=\
        This line has trailing spaces; please remove them.\
    """,
    '--',
    '@{{PATHSFILE}}'
]

[[linter]]
code = 'TABS'
include_patterns = ['**']
exclude_patterns = [
    '**/*.svg',
    '**/*Makefile',
    '**/contrib/**',
    'third_party/**',
    '**/.gitattributes',
    '**/.gitmodules',
    'aten/src/ATen/native/vulkan/api/vk_mem_alloc.h',
    'test/cpp/jit/upgrader_models/*.ptl',
    'test/cpp/jit/upgrader_models/*.ptl.ff',
    '.lintrunner.toml',
    # See NOTE: [Impending functorch move]
    'functorch/**',
]
command = [
    'python3',
    'tools/linter/adapters/grep_linter.py',
    # @lint-ignore TXT2
    '--pattern=	',
    '--linter-name=TABS',
    '--error-name=saw some tabs',
    '--replace-pattern=s/\t/    /',
    """--error-description=\
        This line has tabs; please replace them with spaces.\
    """,
    '--',
    '@{{PATHSFILE}}'
]

[[linter]]
code = 'INCLUDE'
include_patterns = [
    'c10/**',
    'aten/**',
    'torch/csrc/**',
]
exclude_patterns = [
    'aten/src/ATen/native/quantized/cpu/qnnpack/**',
    'aten/src/ATen/native/vulkan/api/vk_mem_alloc.h',
    'torch/csrc/jit/serialization/mobile_bytecode_generated.h',
]
command = [
    'python3',
    'tools/linter/adapters/grep_linter.py',
    '--pattern=#include "',
    '--linter-name=INCLUDE',
    '--error-name=quoted include',
    '--replace-pattern=s/#include "(.*)"$/#include <\1>/',
    """--error-description=\
        This #include uses quotes; please convert it to #include <xxxx>\
    """,
    '--',
    '@{{PATHSFILE}}'
]

[[linter]]
code = 'PYPIDEP'
include_patterns = ['.github/**']
exclude_patterns = [
    '**/*.rst',
    '**/*.py',
    '**/*.md',
    '**/*.diff',
]
command = [
    'python3',
    'tools/linter/adapters/grep_linter.py',
    """--pattern=\
    (pip|pip3|python -m pip|python3 -m pip|python3 -mpip|python -mpip) \
    install ([a-zA-Z0-9][A-Za-z0-9\\._\\-]+)([^/=<>~!]+)[A-Za-z0-9\\._\\-\\*\\+\\!]*$\
    """,
    '--linter-name=PYPIDEP',
    '--error-name=unpinned PyPI install',
    """--error-description=\
        This line has unpinned PyPi installs; \
        please pin them to a specific version: e.g. 'thepackage==1.2'\
    """,
    '--',
    '@{{PATHSFILE}}'
]

[[linter]]
code = 'EXEC'
include_patterns = ['**']
exclude_patterns = [
    'third_party/**',
    'torch/bin/**',
    '**/*.so',
    '**/*.py',
    '**/*.sh',
    '**/*.bash',
    '**/git-pre-commit',
    '**/git-clang-format',
    '**/gradlew',
    # See NOTE: [Impending functorch move]
    'functorch/**',
]
command = [
    'python3',
    'tools/linter/adapters/exec_linter.py',
    '--',
    '@{{PATHSFILE}}',
]

[[linter]]
code = 'CUBINCLUDE'
include_patterns = ['aten/**']
exclude_patterns = [
    'aten/src/ATen/cuda/cub*.cuh',
]
command = [
    'python3',
    'tools/linter/adapters/grep_linter.py',
    '--pattern=#include <cub/',
    '--linter-name=CUBINCLUDE',
    '--error-name=direct cub include',
    """--error-description=\
        This line has a direct cub include; please include \
        ATen/cuda/cub.cuh instead and wrap your cub calls in \
        at::native namespace if necessary.
    """,
    '--',
    '@{{PATHSFILE}}'
]

[[linter]]
code = 'RAWCUDA'
include_patterns = [
    'aten/**',
    'c10/**',
]
exclude_patterns = [
    'aten/src/ATen/test/**',
    'c10/cuda/CUDAFunctions.h',
]
command = [
    'python3',
    'tools/linter/adapters/grep_linter.py',
    '--pattern=cudaStreamSynchronize',
    '--linter-name=RAWCUDA',
    '--error-name=raw CUDA API usage',
    """--error-description=\
        This line calls raw CUDA APIs directly; please use at::cuda wrappers instead.
    """,
    '--',
    '@{{PATHSFILE}}'
]

[[linter]]
code = 'CMAKE'
include_patterns = [
    "**/*.cmake",
    "**/*.cmake.in",
    "**/CMakeLists.txt",
]
exclude_patterns = [
    'cmake/Modules/**',
    'cmake/Modules_CUDA_fix/**',
    'cmake/Caffe2Config.cmake.in',
    'aten/src/ATen/ATenConfig.cmake.in',
    'cmake/Caffe2ConfigVersion.cmake.in',
    'cmake/TorchConfig.cmake.in',
    'cmake/TorchConfigVersion.cmake.in',
    'cmake/cmake_uninstall.cmake.i',
]
command = [
    'python3',
    'tools/linter/adapters/cmake_linter.py',
    '--config=.cmakelintrc',
    '--',
    '@{{PATHSFILE}}',
]
init_command = [
    'python3',
    'tools/linter/adapters/pip_init.py',
    '--dry-run={{DRYRUN}}',
    'cmakelint==1.4.1',
]

[[linter]]
code = 'SHELLCHECK'
include_patterns = [
    '.jenkins/pytorch/**/*.sh'
]
command = [
    'python3',
    'tools/linter/adapters/shellcheck_linter.py',
    '--',
    '@{{PATHSFILE}}',
]
init_command = [
    'python3',
    'tools/linter/adapters/pip_init.py',
    '--dry-run={{DRYRUN}}',
    'shellcheck-py==0.7.2.1',
]

[[linter]]
code = 'ACTIONLINT'
include_patterns = [
    '.github/workflows/*.yml',
    '.github/workflows/*.yaml',
    # actionlint does not support composite actions yet
    # '.github/actions/**/*.yml',
    # '.github/actions/**/*.yaml',
]
command = [
    'python3',
    'tools/linter/adapters/actionlint_linter.py',
    '--binary=.lintbin/actionlint',
    '--',
    '@{{PATHSFILE}}',
]
init_command = [
    'python3',
    'tools/linter/adapters/s3_init.py',
    '--config-json=tools/linter/adapters/s3_init_config.json',
    '--linter=actionlint',
    '--dry-run={{DRYRUN}}',
    '--output-dir=.lintbin',
    '--output-name=actionlint',
]

[[linter]]
code = 'TESTOWNERS'
include_patterns = [
    'test/**/test_*.py',
    'test/**/*_test.py',
]
exclude_patterns = [
    'test/run_test.py',
]
command = [
    'python3',
    'tools/linter/adapters/testowners_linter.py',
    '--',
    '@{{PATHSFILE}}',
]

[[linter]]
code = 'BLACK'
include_patterns = [
    'torchgen/**/*.py',
    'tools/**/*.py',
    'torch/package/**/*.py',
    'torch/onnx/**/*.py',
    'torch/_refs/**/*.py',
    'torch/_prims/**/*.py',
    'torch/_meta_registrations.py',
    'torch/_decomp/**/*.py',
    'test/onnx/**/*.py',
]
exclude_patterns = [
    'tools/gen_vulkan_spv.py',
]
command = [
    'python3',
    'tools/linter/adapters/black_linter.py',
    '--',
    '@{{PATHSFILE}}'
]
init_command = [
    'python3',
    'tools/linter/adapters/pip_init.py',
    '--dry-run={{DRYRUN}}',
    '--no-binary',
    'black==22.3.0',
]
is_formatter = true

[[linter]]
code = 'CALL_ONCE'
include_patterns = [
    'c10/**',
    'aten/**',
    'torch/csrc/**',
]
exclude_patterns = [
    'c10/util/CallOnce.h',
]
command = [
    'python3',
    'tools/linter/adapters/grep_linter.py',
    '--pattern=std::call_once',
    '--linter-name=CALL_ONCE',
    '--error-name=invalid call_once',
    '--replace-pattern=s/std::call_once/c10::call_once/',
    """--error-description=\
        Use of std::call_once is forbidden and should be replaced with c10::call_once\
    """,
    '--',
    '@{{PATHSFILE}}'
]

[[linter]]
code = 'ONCE_FLAG'
include_patterns = [
    'c10/**',
    'aten/**',
    'torch/csrc/**',
]
command = [
    'python3',
    'tools/linter/adapters/grep_linter.py',
    '--pattern=std::once_flag',
    '--linter-name=ONCE_FLAG',
    '--error-name=invalid once_flag',
    '--replace-pattern=s/std::once_flag/c10::once_flag/',
    """--error-description=\
        Use of std::once_flag is forbidden and should be replaced with c10::once_flag\
    """,
    '--',
    '@{{PATHSFILE}}'
]

[[linter]]
code = 'WORKFLOWSYNC'
include_patterns = [
    '.github/workflows/pull.yml',
    '.github/workflows/trunk.yml',
    '.github/workflows/periodic.yml',
]
command = [
    'python3',
    'tools/linter/adapters/workflow_consistency_linter.py',
    '--',
    '@{{PATHSFILE}}'
]
init_command = [
    'python3',
    'tools/linter/adapters/pip_init.py',
    '--dry-run={{DRYRUN}}',
    'PyYAML==6.0',
]

# This also provides the same functionality as BLACK formatter. Just to be
# on the safe side, we will run both BLACK and UFMT for a while to make sure
# that nothing breaks before removing the former
[[linter]]
code = 'UFMT'
# This is a big bang change to reformat every python files in the repo,
# so it's arguably safer to gradually reformat them in subsequent PR.
# After that, we can use **/*.py to apply the formatter to all entries
# currently enforced by BLACK linter
include_patterns = [
    'test/onnx/**/*.py',
    'tools/**/*.py',
    'torchgen/**/*.py',
]
command = [
    'python3',
    'tools/linter/adapters/ufmt_linter.py',
    '--',
    '@{{PATHSFILE}}'
]
exclude_patterns = [
    'tools/gen_vulkan_spv.py',
]
init_command = [
    'python3',
    'tools/linter/adapters/pip_init.py',
    '--dry-run={{DRYRUN}}',
    'black==22.3.0',
    'ufmt==1.3.3',
    'usort==1.0.2',
]
is_formatter = true
