Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. # These targets are not files
  2. .PHONY: install sandbox geoip demo docs coverage lint travis messages compiledmessages css clean preflight make_sandbox make_demo
  3. install:
  4. pip install -e . -r requirements.txt
  5. build_sandbox:
  6. # Remove media
  7. -rm -rf sites/sandbox/public/media/images
  8. -rm -rf sites/sandbox/public/media/cache
  9. -rm -rf sites/sandbox/public/static
  10. -rm -f sites/sandbox/db.sqlite
  11. # Create database
  12. # 'syncdb' is identical to migrate in Django 1.7+; but calling it twice should have no effect
  13. sites/sandbox/manage.py syncdb --noinput
  14. sites/sandbox/manage.py migrate
  15. # Import some fixtures. Order is important as JSON fixtures include primary keys
  16. sites/sandbox/manage.py loaddata sites/sandbox/fixtures/child_products.json
  17. sites/sandbox/manage.py oscar_import_catalogue sites/sandbox/fixtures/*.csv
  18. sites/sandbox/manage.py oscar_import_catalogue_images sites/sandbox/fixtures/images.tar.gz
  19. sites/sandbox/manage.py oscar_populate_countries
  20. sites/sandbox/manage.py loaddata sites/_fixtures/pages.json sites/_fixtures/auth.json sites/_fixtures/ranges.json sites/_fixtures/offers.json
  21. sites/sandbox/manage.py loaddata sites/sandbox/fixtures/orders.json
  22. sites/sandbox/manage.py clear_index --noinput
  23. sites/sandbox/manage.py update_index catalogue
  24. sandbox: install build_sandbox
  25. geoip:
  26. wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
  27. gunzip GeoLiteCity.dat.gz
  28. mv GeoLiteCity.dat sites/demo/geoip
  29. build_demo:
  30. # Install additional requirements
  31. pip install -r requirements_demo.txt
  32. # Create database
  33. # Breaks on Travis because of https://github.com/django-extensions/django-extensions/issues/489
  34. if [ -z "$(TRAVIS)" ]; then sites/demo/manage.py reset_db --router=default --noinput; fi
  35. sites/demo/manage.py syncdb --noinput
  36. sites/demo/manage.py migrate
  37. # Import some core fixtures
  38. sites/demo/manage.py oscar_populate_countries
  39. sites/demo/manage.py loaddata sites/_fixtures/pages.json
  40. # Create catalogue (create product classes from fixture than import CSV files)
  41. sites/demo/manage.py loaddata sites/_fixtures/auth.json sites/demo/fixtures/offers.json
  42. sites/demo/manage.py loaddata sites/demo/fixtures/product-classes.json sites/demo/fixtures/product-attributes.json sites/demo/fixtures/shipping-event-types.json
  43. sites/demo/manage.py create_demo_products --class=Books sites/demo/fixtures/books.csv
  44. sites/demo/manage.py create_demo_products --class=Downloads sites/demo/fixtures/downloads.csv
  45. sites/demo/manage.py create_demo_products --class=Clothing sites/demo/fixtures/clothing.csv
  46. sites/demo/manage.py oscar_import_catalogue_images sites/demo/fixtures/images.tar.gz
  47. # Update search index
  48. sites/demo/manage.py clear_index --noinput
  49. sites/demo/manage.py update_index catalogue
  50. demo: install build_demo
  51. us_site: install
  52. # Install additional requirements
  53. pip install -r requirements_us.txt
  54. # Create database
  55. sites/us/manage.py reset_db --router=default --noinput
  56. sites/us/manage.py syncdb --noinput
  57. sites/us/manage.py migrate
  58. # Import some fixtures
  59. sites/us/manage.py oscar_populate_countries
  60. sites/us/manage.py loaddata sites/us/fixtures/*.json
  61. sites/us/manage.py loaddata sites/_fixtures/auth.json sites/_fixtures/ranges.json
  62. # Create catalogue (using a fixture from the demo site)
  63. sites/us/manage.py create_demo_products --class=Books sites/demo/fixtures/books.csv
  64. docs:
  65. cd docs && make html
  66. coverage:
  67. coverage run ./runtests.py --with-xunit
  68. coverage xml -i
  69. lint:
  70. ./lint.sh
  71. testmigrations:
  72. pip install -r requirements_migrations.txt
  73. cd sites/sandbox && ./test_migrations.sh
  74. # This target is run on Travis.ci. We lint, test and build the sandbox/demo
  75. # sites as well as testing migrations apply correctly. We don't call 'install'
  76. # first as that is run as a separate part of the Travis build process.
  77. travis: coverage lint build_sandbox build_demo testmigrations
  78. messages:
  79. # Create the .po files used for i18n
  80. cd src/oscar; django-admin.py makemessages -a
  81. compiledmessages:
  82. # Compile the gettext files
  83. cd src/oscar; django-admin.py compilemessages
  84. css:
  85. # Compile CSS files from LESS
  86. lessc --source-map --source-map-less-inline src/oscar/static/oscar/less/styles.less src/oscar/static/oscar/css/styles.css
  87. lessc --source-map --source-map-less-inline src/oscar/static/oscar/less/responsive.less src/oscar/static/oscar/css/responsive.css
  88. lessc --source-map --source-map-less-inline src/oscar/static/oscar/less/dashboard.less src/oscar/static/oscar/css/dashboard.css
  89. # Compile CSS for demo site
  90. lessc --source-map --source-map-less-inline sites/demo/static/demo/less/styles.less sites/demo/static/demo/css/styles.css
  91. lessc --source-map --source-map-less-inline sites/demo/static/demo/less/responsive.less sites/demo/static/demo/css/responsive.css
  92. clean:
  93. # Remove files not in source control
  94. find . -type f -name "*.pyc" -delete
  95. rm -rf nosetests.xml coverage.xml htmlcov *.egg-info *.pdf dist violations.txt
  96. preflight: lint
  97. # Bare minimum of tests to run before pushing to master
  98. ./runtests.py
  99. todo:
  100. # Look for areas of the code that need updating when some event has taken place (like
  101. # Oscar dropping support for a Django version)
  102. -grep -rnH TODO *.txt
  103. -grep -rnH TODO src/oscar/apps/
  104. -grep -rnH "django.VERSION" src/oscar/apps