Add a makefile for helping with style checking and reformatting (#1665)

* Add a makefile

* Add make.bat

* Slightly modify Palm's makefile

* Use make in tox

* Minimise diff and refactor PATHEXT

* Fix a typo in make.bat
This commit is contained in:
palmtree5 2018-05-22 16:44:11 -08:00 committed by Will
parent 4378e5295d
commit c42e9d4c5c
3 changed files with 42 additions and 2 deletions

4
Makefile Normal file
View File

@ -0,0 +1,4 @@
reformat:
black -l 99 `git ls-files "*.py"`
stylecheck:
black --check -l 99 `git ls-files "*.py"`

30
make.bat Normal file
View File

@ -0,0 +1,30 @@
@echo off
if "%1"=="" goto help
REM This allows us to expand variables at execution
setlocal ENABLEDELAYEDEXPANSION
REM This will set PYFILES as a list of tracked .py files
set PYFILES=
for /F "tokens=* USEBACKQ" %%A in (`git ls-files "*.py"`) do (
set PYFILES=!PYFILES! %%A
)
goto %1
:reformat
black -l 99 !PYFILES!
exit /B %ERRORLEVEL%
:stylecheck
black -l 99 --check !PYFILES!
exit /B %ERRORLEVEL%
:help
echo Usage:
echo make ^<command^>
echo.
echo Commands:
echo reformat Reformat all .py files being tracked by git.
echo stylecheck Check which tracked .py files need reformatting.

10
tox.ini
View File

@ -8,7 +8,7 @@ envlist =
py35 py35
py36 py36
docs docs
dev style
[testenv] [testenv]
description = Run unit tests with pytest description = Run unit tests with pytest
@ -31,7 +31,13 @@ commands =
[testenv:style] [testenv:style]
description = Stylecheck the code with black to see if anything needs changes. description = Stylecheck the code with black to see if anything needs changes.
whitelist_externals =
make
setenv =
# This is just for Windows
# Prioritise make.bat over any make.exe which might be on PATH
PATHEXT=.BAT;.EXE
basepython = python3.6 basepython = python3.6
extras = style extras = style
commands = commands =
black -l 99 --check generate_strings.py setup.py tests redbot make stylecheck