diff --git a/Makefile b/Makefile index 887e609508..d07f2b5fb1 100644 --- a/Makefile +++ b/Makefile @@ -96,7 +96,7 @@ upgrade: ## update the pip requirements files to use the latest releases satisfy done # Post process all of the files generated above to work around open pip-tools issues scripts/post-pip-compile.sh $(REQ_FILES:=.txt) - # Let tox control the Django version & django-oauth-toolkit version for tests - grep -e "^django==" -e "^django-oauth-toolkit==" requirements/edx/base.txt > requirements/edx/django.txt - sed '/^[dD]jango==/d;/^django-oauth-toolkit==/d' requirements/edx/testing.txt > requirements/edx/testing.tmp + # Let tox control the Django version for tests + grep -e "^django==" requirements/edx/base.txt > requirements/edx/django.txt + sed '/^[dD]jango==/d' requirements/edx/testing.txt > requirements/edx/testing.tmp mv requirements/edx/testing.tmp requirements/edx/testing.txt diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 27417d6847..066432cd90 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -32,7 +32,7 @@ django-countries==5.5 # django-storages version 1.9 drops support for boto storage backend. django-storages<1.9 -# Support was dropped for Python 3.5, Django 2.0, Django 2.1, DRF 3.7 +# Support was dropped for Python 3.5 drf-yasg<1.17.1 # Not properly supporting latest changing of drf-jwt diff --git a/requirements/edx/base.in b/requirements/edx/base.in index 62a806dfb0..b634c3f655 100644 --- a/requirements/edx/base.in +++ b/requirements/edx/base.in @@ -46,6 +46,7 @@ django-crum # Middleware that stores the current request django-fernet-fields # via edx-enterprise (should be added to its setup.py) django-filter # Allows users to filter Django querysets dynamically django-ipware # Get the client's real IP address +django-method-override # Allow use of HTTP methods normally not supported by browsers via the X-HTTP-Method-Override header django-model-utils django-mptt django-mysql diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index 642ed7792f..183997efe4 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -65,7 +65,7 @@ django-fernet-fields==0.6 # via -r requirements/edx/base.in, edx-enterprise, ed django-filter==2.2.0 # via -r requirements/edx/base.in, edx-enterprise django-ipware==2.1.0 # via -r requirements/edx/base.in, edx-enterprise, edx-proctoring django-js-asset==1.2.2 # via django-mptt -git+https://gitlab.com/Ayub-khan/django-method-override.git@5270af321be2e576d8e8b3c4191711a19975c356#egg=django-method-override==1.0.4 # via -r requirements/edx/github.in +django-method-override==1.0.4 # via -r requirements/edx/base.in django-model-utils==4.0.0 # via -r requirements/edx/base.in, django-user-tasks, edx-bulk-grades, edx-celeryutils, edx-completion, edx-enterprise, edx-milestones, edx-organizations, edx-proctoring, edx-rbac, edx-submissions, edx-when, edxval, ora2, super-csv django-mptt==0.11.0 # via -r requirements/edx/base.in, django-wiki django-multi-email-field==0.6.1 # via edx-enterprise @@ -130,7 +130,6 @@ glob2==0.7 # via -r requirements/edx/base.in gunicorn==20.0.4 # via -r requirements/edx/base.in help-tokens==1.1.2 # via -r requirements/edx/base.in html5lib==1.0.1 # via -r requirements/edx/base.in, ora2 -httplib2==0.17.3 # via oauth2 icalendar==4.0.6 # via -r requirements/edx/base.in idna==2.9 # via -r requirements/edx/paver.txt, requests importlib-metadata==1.6.0 # via -r requirements/edx/paver.txt, path @@ -167,7 +166,6 @@ newrelic==5.12.1.141 # via -r requirements/edx/base.in, edx-django-utils nltk==3.5 # via -r requirements/edx/../edx-sandbox/shared.txt, chem nodeenv==1.3.5 # via -r requirements/edx/base.in numpy==1.18.4 # via chem, openedx-calc, scipy -git+https://github.com/joestump/python-oauth2.git@b94f69b1ad195513547924e380d9265133e995fa#egg=oauth2 # via -r requirements/edx/github.in oauthlib==3.0.1 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in, django-oauth-toolkit, lti-consumer-xblock, requests-oauthlib, social-auth-core openedx-calc==1.0.9 # via -r requirements/edx/base.in git+https://github.com/edx/edx-ora2.git@2.6.25#egg=ora2==2.6.25 # via -r requirements/edx/github.in diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt index d111be02e2..72c1076af9 100644 --- a/requirements/edx/development.txt +++ b/requirements/edx/development.txt @@ -77,7 +77,7 @@ django-fernet-fields==0.6 # via -r requirements/edx/testing.txt, edx-enterprise django-filter==2.2.0 # via -r requirements/edx/testing.txt, edx-enterprise django-ipware==2.1.0 # via -r requirements/edx/testing.txt, edx-enterprise, edx-proctoring django-js-asset==1.2.2 # via -r requirements/edx/testing.txt, django-mptt -git+https://gitlab.com/Ayub-khan/django-method-override.git@5270af321be2e576d8e8b3c4191711a19975c356#egg=django-method-override==1.0.4 # via -r requirements/edx/testing.txt +django-method-override==1.0.4 # via -r requirements/edx/testing.txt django-model-utils==4.0.0 # via -r requirements/edx/testing.txt, django-user-tasks, edx-bulk-grades, edx-celeryutils, edx-completion, edx-enterprise, edx-milestones, edx-organizations, edx-proctoring, edx-rbac, edx-submissions, edx-when, edxval, ora2, super-csv django-mptt==0.11.0 # via -r requirements/edx/testing.txt, django-wiki django-multi-email-field==0.6.1 # via -r requirements/edx/testing.txt, edx-enterprise @@ -151,7 +151,6 @@ glob2==0.7 # via -r requirements/edx/testing.txt gunicorn==20.0.4 # via -r requirements/edx/testing.txt help-tokens==1.1.2 # via -r requirements/edx/testing.txt html5lib==1.0.1 # via -r requirements/edx/testing.txt, ora2 -httplib2==0.17.3 # via -r requirements/edx/testing.txt, oauth2 httpretty==0.9.7 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt icalendar==4.0.6 # via -r requirements/edx/testing.txt idna==2.9 # via -r requirements/edx/testing.txt, requests @@ -200,7 +199,6 @@ newrelic==5.12.1.141 # via -r requirements/edx/testing.txt, edx-django-util nltk==3.5 # via -r requirements/edx/testing.txt, chem nodeenv==1.3.5 # via -r requirements/edx/testing.txt numpy==1.18.4 # via -r requirements/edx/testing.txt, chem, openedx-calc, pandas, scipy -git+https://github.com/joestump/python-oauth2.git@b94f69b1ad195513547924e380d9265133e995fa#egg=oauth2 # via -r requirements/edx/testing.txt oauthlib==3.0.1 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, django-oauth-toolkit, lti-consumer-xblock, requests-oauthlib, social-auth-core openedx-calc==1.0.9 # via -r requirements/edx/testing.txt git+https://github.com/edx/edx-ora2.git@2.6.25#egg=ora2==2.6.25 # via -r requirements/edx/testing.txt diff --git a/requirements/edx/django.txt b/requirements/edx/django.txt index 7ed065eef7..300ade29a9 100644 --- a/requirements/edx/django.txt +++ b/requirements/edx/django.txt @@ -1,2 +1 @@ -django-oauth-toolkit==1.3.2 # via -r requirements/edx/base.in django==2.2.12 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in, code-annotations, django-appconf, django-babel, django-babel-underscore, django-celery, django-classy-tags, django-config-models, django-cors-headers, django-crum, django-fernet-fields, django-filter, django-method-override, django-model-utils, django-mptt, django-multi-email-field, django-mysql, django-oauth-toolkit, django-pyfs, django-ratelimit-backend, django-sekizai, django-splash, django-statici18n, django-storages, django-user-tasks, django-wiki, drf-jwt, drf-yasg, edx-ace, edx-api-doc-tools, edx-bulk-grades, edx-celeryutils, edx-completion, edx-django-release-util, edx-django-sites-extensions, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-milestones, edx-opaque-keys, edx-organizations, edx-proctoring, edx-rbac, edx-search, edx-submissions, edx-when, edxval, event-tracking, help-tokens, jsonfield2, ora2, rest-condition, super-csv, xss-utils diff --git a/requirements/edx/django30.txt b/requirements/edx/django30.txt index 3f407929a0..d6e4bf2cda 100644 --- a/requirements/edx/django30.txt +++ b/requirements/edx/django30.txt @@ -1,3 +1 @@ Django>=3.0,<3.1 -django-oauth-toolkit==1.3.2 - diff --git a/requirements/edx/github.in b/requirements/edx/github.in index a8f1010bad..565a1022e1 100644 --- a/requirements/edx/github.in +++ b/requirements/edx/github.in @@ -59,20 +59,23 @@ git+https://github.com/edx/openedx-chem.git@ff4e3a03d3c7610e47a9af08eb648d8aabe2 git+https://github.com/edx/MongoDBProxy.git@d92bafe9888d2940f647a7b2b2383b29c752f35a#egg=MongoDBProxy==0.1.0+edx.2 -e git+https://github.com/dementrock/pystache_custom.git@776973740bdaad83a3b029f96e415a7d1e8bec2f#egg=pystache_custom-dev -e git+https://github.com/jazkarta/edx-jsme.git@690dbf75441fa91c7c4899df0b83d77f7deb5458#egg=edx-jsme + +# The latest 2.0.0 release doesn't yet support Django 2.2, this commit from master does -e git+https://github.com/jsocol/django-ratelimit.git@72edbe8949fbf6699848e5847645a1998f121d46#egg=ratelimit -# This fork adds django>1.11 and django<3 compatibility for django-babel-underscore. Enmerkar is -# being installed from github to add backward compatibility for django1.11 as named versions are not -# backward compatible. +# Underscore template extractor for django-babel/enmerkar +# This fork adds django>1.11 and django<3 compatibility. git+https://github.com/edx/django-babel-underscore.git@37705f7377a4d0a4e673f1431895ce28a8860cd7#egg=django-babel-underscore==0.6.0 + +# Internationalization utilities +# Our django-babel-underscore fork above does not yet work with the newer enmerkar PyPI releases (BOM-1637) git+https://github.com/Zegocover/enmerkar.git@dbc113798aa4beabdfa2d00e6fef48248eb0f185#egg=django-babel==0.6.3.dev0 # Forked to get Django 2.2 support from unreleased master branch from social-app-django repo. # This can be removed once an official social-auth-app-django Pypi release with Django 2.2 support is available in the future. -e git+https://github.com/python-social-auth/social-app-django.git@c00d23c2b45c3317bd35b15ad1b959338689cef8#egg=social-auth-app-django -# Why install sorl-thumbnail directly from github? To use the latest, Django 2.2 compatible version that is not available on PyPi yet. -# This dependency will be removed after package is updated at PyPi +# Why install sorl-thumbnail directly from github? To use a Django 2.2 compatible version before Python 3.5 support was dropped git+https://github.com/jazzband/sorl-thumbnail.git@13bedfb7d2970809eda597e3ef79318a6fa80ac2#egg=sorl-thumbnail # Forked to fix predicate inversion and keep support for Django 1.1 alive @@ -80,10 +83,6 @@ git+https://github.com/jazzband/sorl-thumbnail.git@13bedfb7d2970809eda597e3ef793 # remove this fork git+https://github.com/edx/bridgekeeper.git@2423e8d8788c2132ebeec509e1a7b17e1f5b9364#egg=bridgekeeper==0.0 -# Forked to get Django 1.11 new style middleware support from django-method-override. -# This can be removed once edx-platform is using django>=2.x. -git+https://gitlab.com/Ayub-khan/django-method-override.git@5270af321be2e576d8e8b3c4191711a19975c356#egg=django-method-override==1.0.4 - # Our libraries: -e git+https://github.com/edx/codejail.git@4127fc4bd5775cc72aee8d7f0a70e31405e22439#egg=codejail -e git+https://github.com/edx/acid-block.git@98aecba94ecbfa934e2d00262741c0ea9f557fc9#egg=acid-xblock @@ -97,7 +96,6 @@ git+https://github.com/edx/xblock-lti-consumer.git@v1.2.6#egg=lti_consumer-xbloc # Third Party XBlocks -git+https://github.com/joestump/python-oauth2.git@b94f69b1ad195513547924e380d9265133e995fa#egg=oauth2 git+https://github.com/open-craft/xblock-poll@da2d8fd21791a7af128595cf82bee83ee579e00f#egg=xblock-poll==1.9.6 git+https://github.com/edx-solutions/xblock-drag-and-drop-v2@v2.2.10#egg=xblock-drag-and-drop-v2==2.2.10 git+https://github.com/django-compressor/django-appconf@1526a842ee084b791aa66c931b3822091a442853#egg=django-appconf diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt index 493ef667fd..1512e8b63a 100644 --- a/requirements/edx/testing.txt +++ b/requirements/edx/testing.txt @@ -75,11 +75,12 @@ django-fernet-fields==0.6 # via -r requirements/edx/base.txt, edx-enterprise, e django-filter==2.2.0 # via -r requirements/edx/base.txt, edx-enterprise django-ipware==2.1.0 # via -r requirements/edx/base.txt, edx-enterprise, edx-proctoring django-js-asset==1.2.2 # via -r requirements/edx/base.txt, django-mptt -git+https://gitlab.com/Ayub-khan/django-method-override.git@5270af321be2e576d8e8b3c4191711a19975c356#egg=django-method-override==1.0.4 # via -r requirements/edx/base.txt +django-method-override==1.0.4 # via -r requirements/edx/base.txt django-model-utils==4.0.0 # via -r requirements/edx/base.txt, django-user-tasks, edx-bulk-grades, edx-celeryutils, edx-completion, edx-enterprise, edx-milestones, edx-organizations, edx-proctoring, edx-rbac, edx-submissions, edx-when, edxval, ora2, super-csv django-mptt==0.11.0 # via -r requirements/edx/base.txt, django-wiki django-multi-email-field==0.6.1 # via -r requirements/edx/base.txt, edx-enterprise django-mysql==3.5.0 # via -r requirements/edx/base.txt +django-oauth-toolkit==1.3.2 # via -r requirements/edx/base.txt django-object-actions==2.0.0 # via -r requirements/edx/base.txt, edx-enterprise django-pipeline==1.7.0 # via -r requirements/edx/base.txt django-pyfs==2.1 # via -r requirements/edx/base.txt @@ -146,7 +147,6 @@ glob2==0.7 # via -r requirements/edx/base.txt gunicorn==20.0.4 # via -r requirements/edx/base.txt help-tokens==1.1.2 # via -r requirements/edx/base.txt html5lib==1.0.1 # via -r requirements/edx/base.txt, ora2 -httplib2==0.17.3 # via -r requirements/edx/base.txt, oauth2 httpretty==0.9.7 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.in icalendar==4.0.6 # via -r requirements/edx/base.txt idna==2.9 # via -r requirements/edx/base.txt, requests @@ -191,7 +191,6 @@ newrelic==5.12.1.141 # via -r requirements/edx/base.txt, edx-django-utils nltk==3.5 # via -r requirements/edx/base.txt, chem nodeenv==1.3.5 # via -r requirements/edx/base.txt numpy==1.18.4 # via -r requirements/edx/base.txt, -r requirements/edx/coverage.txt, chem, openedx-calc, pandas, scipy -git+https://github.com/joestump/python-oauth2.git@b94f69b1ad195513547924e380d9265133e995fa#egg=oauth2 # via -r requirements/edx/base.txt oauthlib==3.0.1 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt, django-oauth-toolkit, lti-consumer-xblock, requests-oauthlib, social-auth-core openedx-calc==1.0.9 # via -r requirements/edx/base.txt git+https://github.com/edx/edx-ora2.git@2.6.25#egg=ora2==2.6.25 # via -r requirements/edx/base.txt diff --git a/scripts/xdist/prepare_xdist_nodes.sh b/scripts/xdist/prepare_xdist_nodes.sh index 3d029c6f03..a4c10af5ad 100644 --- a/scripts/xdist/prepare_xdist_nodes.sh +++ b/scripts/xdist/prepare_xdist_nodes.sh @@ -13,12 +13,8 @@ python scripts/xdist/pytest_worker_manager.py -a up -n ${XDIST_NUM_WORKERS} \ # Install the correct version of Django depending on which tox environment (if any) is in use if [[ -z ${TOXENV+x} ]] || [[ ${TOXENV} == 'null' ]]; then DJANGO_REQUIREMENT="requirements/edx/django.txt" -elif [[ ${TOXENV} == *'django20'* ]]; then - DJANGO_REQUIREMENT="requirements/edx/django20.txt" -elif [[ ${TOXENV} == *'django21'* ]]; then - DJANGO_REQUIREMENT="requirements/edx/django21.txt" -elif [[ ${TOXENV} == *'django22'* ]]; then - DJANGO_REQUIREMENT="requirements/edx/django.txt" +elif [[ ${TOXENV} == *'django30'* ]]; then + DJANGO_REQUIREMENT="requirements/edx/django30.txt" fi ip_list=$(