@@ -21,13 +21,20 @@ PYLINT_PIP_PKGS =
2121PYLINT_ARGS =
2222PYLINT_DIR = .
2323
24+ # Black
25+ BLACK_VERSION = latest
26+ BLACK_LINT_ARGS = --check --diff
27+ BLACK_FIX_ARGS =
28+ BLACK_DIR = .
29+
2430
2531# -------------------------------------------------------------------------------------------------
2632# Lint Targets
2733# -------------------------------------------------------------------------------------------------
2834.PHONY: lint
2935lint:: lint-mypy
3036lint:: lint-pylint
37+ lint:: lint-black
3138
3239
3340.PHONY: lint-mypy
@@ -50,6 +57,32 @@ lint-pylint:
5057 docker run --rm $$(tty -s && echo "-it" || echo) -e PIP_ROOT_USER_ACTION=ignore -v $$(pwd):/data -w /data --entrypoint=sh cytopia/pylint:$(PYLINT_VERSION) \
5158 -c 'for pkg in $(PYLINT_PIP_PKGS); do python3 -m pip install $${pkg}; done && pylint $(PYLINT_ARGS) $(PYLINT_DIR)'
5259
60+ .PHONY: lint-black
61+ lint-black: _lint-black-pull
62+ lint-black:
63+ @echo "################################################################################"
64+ @echo "# Lint Python Black"
65+ @echo "################################################################################"
66+ docker run --rm $$(tty -s && echo "-it" || echo) -e PIP_ROOT_USER_ACTION=ignore -v $$(pwd):/data -w /data cytopia/black:$(BLACK_VERSION) \
67+ $(BLACK_LINT_ARGS) \
68+ $(BLACK_DIR)
69+
70+ # -------------------------------------------------------------------------------------------------
71+ # Fix Targets
72+ # -------------------------------------------------------------------------------------------------
73+ .PHONY: fix
74+ fix:: fix-black
75+
76+ fix-black: _lint-black-pull
77+ fix-black:
78+ @echo "################################################################################"
79+ @echo "# Fix Python Black"
80+ @echo "################################################################################"
81+ docker run --rm $$(tty -s && echo "-it" || echo) -e PIP_ROOT_USER_ACTION=ignore -v $$(pwd):/data -w /data cytopia/black:$(BLACK_VERSION) \
82+ $(BLACK_FIX_ARGS) \
83+ $(BLACK_DIR)
84+
85+
5386
5487# -------------------------------------------------------------------------------------------------
5588# Helper Targets
@@ -79,3 +112,16 @@ _lint-pylint-pull:
79112 sleep 1; \
80113 done; \
81114 if [ "$${SUCC}" = "0" ]; then echo "FAILED"; exit 1; fi;
115+
116+ .PHONY: _lint-black-pull
117+ _lint-black-pull:
118+ @echo "Pulling cytopia/black:$(BLACK_VERSION)"; \
119+ SUCC=0; \
120+ for i in $$(seq 10); do \
121+ if docker pull -q cytopia/black:$(BLACK_VERSION); then \
122+ SUCC=1; \
123+ break; \
124+ fi; \
125+ sleep 1; \
126+ done; \
127+ if [ "$${SUCC}" = "0" ]; then echo "FAILED"; exit 1; fi;
0 commit comments