15
15
16
16
DEPS = ['flake8' , 'mypy' , 'pyzmq' ]
17
17
MYPY_CACHE_DIR = f"{ os .getenv ('BASE_ROOT_DIR' , '' )} /test/.mypy_cache"
18
- FILES_ARGS = ['git' , 'ls-files' , 'test/functional/*.py' , 'contrib/devtools/*.py' ]
18
+
19
+ # All .py files, except those in src/ (to exclude subtrees there)
20
+ FLAKE_FILES_ARGS = ['git' , 'ls-files' , '*.py' , ':!:src/*.py' ]
21
+
22
+ # Only .py files in test/functional and contrib/devtools have type annotations
23
+ # enforced.
24
+ MYPY_FILES_ARGS = ['git' , 'ls-files' , 'test/functional/*.py' , 'contrib/devtools/*.py' ]
19
25
20
26
ENABLED = (
21
27
'E101,' # indentation contains mixed spaces and tabs
@@ -107,8 +113,7 @@ def main():
107
113
if len (sys .argv ) > 1 :
108
114
flake8_files = sys .argv [1 :]
109
115
else :
110
- files_args = ['git' , 'ls-files' , '*.py' ]
111
- flake8_files = subprocess .check_output (files_args ).decode ("utf-8" ).splitlines ()
116
+ flake8_files = subprocess .check_output (FLAKE_FILES_ARGS ).decode ("utf-8" ).splitlines ()
112
117
113
118
flake8_args = ['flake8' , '--ignore=B,C,E,F,I,N,W' , f'--select={ ENABLED } ' ] + flake8_files
114
119
flake8_env = os .environ .copy ()
@@ -119,7 +124,7 @@ def main():
119
124
except subprocess .CalledProcessError :
120
125
exit (1 )
121
126
122
- mypy_files = subprocess .check_output (FILES_ARGS ).decode ("utf-8" ).splitlines ()
127
+ mypy_files = subprocess .check_output (MYPY_FILES_ARGS ).decode ("utf-8" ).splitlines ()
123
128
mypy_args = ['mypy' , '--show-error-codes' ] + mypy_files
124
129
125
130
try :
0 commit comments