From df2e410f2a8ca8ceeebfc7dc665a9f731ea3884c Mon Sep 17 00:00:00 2001 From: David Glance Date: Mon, 13 Jan 2014 20:45:11 +0800 Subject: [PATCH] Replace rake functions with python paver functions Deprecated rake functions issue a warning and then call paver replacements Bring Paver commands up to date with master for servers, assets, and docs. Revert deprecation of quality, tests, and i18n for a future pull request. Deprecate workspace migration --- AUTHORS | 1 + .../management/commands/delete_course.py | 3 - .../management/commands/edit_course_tabs.py | 2 - .../contentstore/management/commands/xlint.py | 1 - cms/envs/bok_choy.py | 2 +- .../management/commands/preprocess_assets.py | 2 +- .../commands/anonymized_id_mapping.py | 1 + docs/en_us/developers/source/index.rst | 1 + docs/en_us/developers/source/pavelib.rst | 172 ++++++++++++++++++ docs/en_us/internal/development.md | 18 +- docs/en_us/internal/discussion.md | 2 +- lms/envs/bok_choy.py | 2 +- lms/static/coffee/README.md | 7 +- pavelib/__init__.py | 1 + pavelib/assets.py | 103 +++++++++++ pavelib/docs.py | 64 +++++++ pavelib/prereqs.py | 125 +++++++++++++ pavelib/servers.py | 166 +++++++++++++++++ pavelib/utils/__init__.py | 0 pavelib/utils/cmd.py | 23 +++ pavelib/utils/envs.py | 54 ++++++ pavelib/utils/process.py | 78 ++++++++ pavement.py | 4 + rakelib/assets.rake | 163 ----------------- rakelib/assets_deprecated.rake | 55 ++++++ rakelib/bok_choy.rake | 4 +- rakelib/devstack.rake | 47 ----- rakelib/devstack_deprecated.rake | 25 +++ rakelib/django.rake | 133 -------------- rakelib/django_deprecated.rake | 55 ++++++ rakelib/docs.rake | 59 ------ rakelib/docs_deprecated.rake | 35 ++++ rakelib/js_test.rake | 16 +- rakelib/prereqs.rake | 43 ----- rakelib/prereqs_deprecated.rake | 21 +++ rakelib/workspace.rake | 17 -- rakelib/workspace_deprecated.rake | 7 + requirements/edx/base.txt | 2 + scripts/create-dev-env.sh | 6 +- scripts/run.sh | 2 +- scripts/vagrant-provisioning.sh | 4 +- ws_migrations/README.rst | 29 --- ws_migrations/clean_xmodule_assets.sh | 11 -- 43 files changed, 1029 insertions(+), 537 deletions(-) create mode 100644 docs/en_us/developers/source/pavelib.rst create mode 100644 pavelib/__init__.py create mode 100644 pavelib/assets.py create mode 100644 pavelib/docs.py create mode 100644 pavelib/prereqs.py create mode 100644 pavelib/servers.py create mode 100644 pavelib/utils/__init__.py create mode 100644 pavelib/utils/cmd.py create mode 100644 pavelib/utils/envs.py create mode 100644 pavelib/utils/process.py create mode 100644 pavement.py delete mode 100644 rakelib/assets.rake create mode 100644 rakelib/assets_deprecated.rake delete mode 100644 rakelib/devstack.rake create mode 100644 rakelib/devstack_deprecated.rake delete mode 100644 rakelib/django.rake create mode 100644 rakelib/django_deprecated.rake delete mode 100644 rakelib/docs.rake create mode 100644 rakelib/docs_deprecated.rake delete mode 100644 rakelib/prereqs.rake create mode 100644 rakelib/prereqs_deprecated.rake delete mode 100644 rakelib/workspace.rake create mode 100644 rakelib/workspace_deprecated.rake delete mode 100644 ws_migrations/README.rst delete mode 100755 ws_migrations/clean_xmodule_assets.sh diff --git a/AUTHORS b/AUTHORS index b5ac7c421e..6b90ba4965 100644 --- a/AUTHORS +++ b/AUTHORS @@ -130,3 +130,4 @@ Jane Manning Toddi Norum Xavier Antoviaque Ali Reza Sharafat +David Glance diff --git a/cms/djangoapps/contentstore/management/commands/delete_course.py b/cms/djangoapps/contentstore/management/commands/delete_course.py index 2f2aba12e5..6b147082d4 100644 --- a/cms/djangoapps/contentstore/management/commands/delete_course.py +++ b/cms/djangoapps/contentstore/management/commands/delete_course.py @@ -6,9 +6,6 @@ from .prompt import query_yes_no from contentstore.utils import delete_course_and_groups -# -# To run from command line: rake cms:delete_course LOC=edX/111/Foo1 -# class Command(BaseCommand): help = '''Delete a MongoDB backed course''' diff --git a/cms/djangoapps/contentstore/management/commands/edit_course_tabs.py b/cms/djangoapps/contentstore/management/commands/edit_course_tabs.py index e8c4bd6290..cc85a6e867 100644 --- a/cms/djangoapps/contentstore/management/commands/edit_course_tabs.py +++ b/cms/djangoapps/contentstore/management/commands/edit_course_tabs.py @@ -5,8 +5,6 @@ # # Run it this way: # ./manage.py cms --settings dev edit_course_tabs --course Stanford/CS99/2013_spring -# Or via rake: -# rake django-admin[edit_course_tabs,cms,dev,"--course Stanford/CS99/2013_spring --delete 4"] # from optparse import make_option from django.core.management.base import BaseCommand, CommandError diff --git a/cms/djangoapps/contentstore/management/commands/xlint.py b/cms/djangoapps/contentstore/management/commands/xlint.py index 835b8b84df..5c3e621f82 100644 --- a/cms/djangoapps/contentstore/management/commands/xlint.py +++ b/cms/djangoapps/contentstore/management/commands/xlint.py @@ -1,6 +1,5 @@ """ Verify the structure of courseware as to it's suitability for import -To run test: rake cms:xlint DATA_DIR=../data [COURSE_DIR=content-edx-101 (optional parameter)] """ from django.core.management.base import BaseCommand, CommandError from xmodule.modulestore.xml_importer import perform_xlint diff --git a/cms/envs/bok_choy.py b/cms/envs/bok_choy.py index bc2a61a8ea..6553e8e960 100644 --- a/cms/envs/bok_choy.py +++ b/cms/envs/bok_choy.py @@ -21,7 +21,7 @@ from xmodule.x_module import prefer_xmodules ######################### Testing overrides #################################### -# Needed for the `reset_db` management command +# Needed for the reset database management command INSTALLED_APPS += ('django_extensions',) # Redirect to the test_root folder within the repo diff --git a/common/djangoapps/edxmako/management/commands/preprocess_assets.py b/common/djangoapps/edxmako/management/commands/preprocess_assets.py index dbcc3e94c2..5791437fac 100644 --- a/common/djangoapps/edxmako/management/commands/preprocess_assets.py +++ b/common/djangoapps/edxmako/management/commands/preprocess_assets.py @@ -2,7 +2,7 @@ Preprocess templatized asset files, enabling asset authors to use Python/Django inside of Sass and CoffeeScript. This preprocessing will happen before the invocation of the asset compiler (currently -handled by the asset Rakefile). +handled by the assets paver file). For this to work, assets need to be named with the appropriate template extension (e.g., .mako for Mako templates). Currently Mako diff --git a/common/djangoapps/student/management/commands/anonymized_id_mapping.py b/common/djangoapps/student/management/commands/anonymized_id_mapping.py index 3c066121c5..d27c306d8d 100644 --- a/common/djangoapps/student/management/commands/anonymized_id_mapping.py +++ b/common/djangoapps/student/management/commands/anonymized_id_mapping.py @@ -19,6 +19,7 @@ from student.models import anonymous_id_for_user class Command(BaseCommand): """Add our handler to the space where django-admin looks up commands.""" + # TODO: revisit now that rake has been deprecated # It appears that with the way Rake invokes these commands, we can't # have more than one arg passed through...annoying. args = ("course_id", ) diff --git a/docs/en_us/developers/source/index.rst b/docs/en_us/developers/source/index.rst index cdd069ed19..eac8d80283 100644 --- a/docs/en_us/developers/source/index.rst +++ b/docs/en_us/developers/source/index.rst @@ -33,6 +33,7 @@ Internationalization i18n.rst i18n_translators_guide.rst + pavelib.rst Indices and tables ================== diff --git a/docs/en_us/developers/source/pavelib.rst b/docs/en_us/developers/source/pavelib.rst new file mode 100644 index 0000000000..5d17610bbd --- /dev/null +++ b/docs/en_us/developers/source/pavelib.rst @@ -0,0 +1,172 @@ +******************************************* +Paver +******************************************* + + +Paver provides a standardised way of managing development and operational tasks in edX. + +To run individual commands, use the following syntax: + +paver --option=