Skip to content

Commit 93d78da

Browse files
committed
feat: add convenient compile-requirements make target
This target has become a standard across Open edX repositories. It allows developers to compile requirements without upgrading, which is what we usually want to do whenever we add a new requirement.
1 parent 9fb86ce commit 93d78da

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

Makefile

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,25 +42,28 @@ COMMON_CONSTRAINTS_TXT=requirements/common_constraints.txt
4242
$(COMMON_CONSTRAINTS_TXT):
4343
wget -O "$(@)" https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt || touch "$(@)"
4444

45-
upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade
46-
upgrade: $(COMMON_CONSTRAINTS_TXT) # update the requirements/*.txt files with the latest packages satisfying requirements/*.in
45+
compile-requirements: export CUSTOM_COMPILE_COMMAND=make upgrade
46+
compile-requirements: $(COMMON_CONSTRAINTS_TXT) ## Re-compile *.in requirements to *.txt, without upgrading
4747
pip install -qr requirements/pip-tools.txt
4848
# Make sure to compile files after any other files they include!
49-
pip-compile --upgrade --allow-unsafe -o requirements/pip.txt requirements/pip.in
50-
pip-compile --upgrade -o requirements/pip-tools.txt requirements/pip-tools.in
49+
pip-compile ${COMPILE_OPTS} --allow-unsafe requirements/pip.in
50+
pip-compile ${COMPILE_OPTS} requirements/pip-tools.in
5151
pip install -qr requirements/pip.txt
5252
pip install -qr requirements/pip-tools.txt
53-
pip-compile --upgrade -o requirements/base.txt requirements/base.in
54-
pip-compile --upgrade -o requirements/django.txt requirements/django.in
55-
pip-compile --upgrade -o requirements/test.txt requirements/test.in
56-
pip-compile --upgrade -o requirements/doc.txt requirements/doc.in
57-
pip-compile --upgrade -o requirements/quality.txt requirements/quality.in
58-
pip-compile --upgrade -o requirements/ci.txt requirements/ci.in
59-
pip-compile --upgrade -o requirements/dev.txt requirements/dev.in
53+
pip-compile ${COMPILE_OPTS} requirements/base.in
54+
pip-compile ${COMPILE_OPTS} requirements/django.in
55+
pip-compile ${COMPILE_OPTS} requirements/test.in
56+
pip-compile ${COMPILE_OPTS} requirements/doc.in
57+
pip-compile ${COMPILE_OPTS} requirements/quality.in
58+
pip-compile ${COMPILE_OPTS} requirements/ci.in
59+
pip-compile ${COMPILE_OPTS} requirements/dev.in
6060
# Let tox control the Django version for tests
6161
sed '/^[dD]jango==/d' requirements/test.txt > requirements/test.tmp
6262
mv requirements/test.tmp requirements/test.txt
6363

64+
upgrade: $(COMMON_CONSTRAINTS_TXT) ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in
65+
$(MAKE) compile-requirements COMPILE_OPTS="--upgrade"
66+
6467
quality: ## check coding style with pycodestyle and pylint
6568
tox -e quality
6669

0 commit comments

Comments
 (0)