all: @echo "The Makefile is used to build the distribution." @echo "In order to run web2py you do not need to make anything." @echo "just run web2py.py" clean: rm -f httpserver.log rm -f parameters*.py rm -f -r applications/*/compiled find . -name '*~' -exec rm -f {} \; find . -name '*.orig' -exec rm -f {} \; find . -name '*.rej' -exec rm -f {} \; find . -name '#*' -exec rm -f {} \; find . -name 'Thumbs.db' -exec rm -f {} \; # find . -name '.tox' -exec rm -rf {} \; # find . -name '__pycache__' -exec rm -rf {} \; find gluon/ -name '*class' -exec rm -f {} \; find applications/admin/ -name '.*' -exec rm -f {} \; find applications/examples/ -name '.*' -exec rm -f {} \; find applications/welcome/ -name '.*' -exec rm -f {} \; find . -name '*.pyc' -exec rm -f {} \; tests: python web2py.py --verbose --run_system_tests coverage: coverage erase --rcfile=gluon/tests/coverage.ini export COVERAGE_PROCESS_START=gluon/tests/coverage.ini python web2py.py --verbose --run_system_tests --with_coverage coverage combine --rcfile=gluon/tests/coverage.ini sleep 1 coverage html --rcfile=gluon/tests/coverage.ini update: wget -O gluon/contrib/feedparser.py http://feedparser.googlecode.com/svn/trunk/feedparser/feedparser.py wget -O gluon/contrib/simplejsonrpc.py http://rad2py.googlecode.com/hg/ide2py/simplejsonrpc.py echo "remember that pymysql was tweaked" rmfiles: ### clean up baisc apps rm -f routes.py rm -rf applications/*/sessions/* rm -rf applications/*/errors/* | echo 'too many files' rm -rf applications/*/cache/* rm -rf applications/admin/databases/* rm -rf applications/welcome/databases/* rm -rf applications/examples/databases/* rm -rf applications/admin/uploads/* rm -rf applications/welcome/uploads/* rm -rf applications/examples/uploads/* src: ### Use semantic versioning echo 'Version 2.19.1-stable+timestamp.'`date +%Y.%m.%d.%H.%M.%S` > VERSION ### rm -f all junk files make clean # make rmfiles ### make welcome layout and appadmin the default cp applications/welcome/views/appadmin.html applications/admin/views cp applications/welcome/views/appadmin.html applications/examples/views cp applications/welcome/controllers/appadmin.py applications/admin/controllers cp applications/welcome/controllers/appadmin.py applications/examples/controllers ### build web2py_src.zip echo '' > NEWINSTALL mv web2py_src.zip web2py_src_old.zip | echo 'no old' cd ..; zip -r --exclude=**.git** --exclude=**.tox** --exclude=**_pycache__** web2py/web2py_src.zip web2py/web2py.py web2py/anyserver.py web2py/fabfile.py web2py/gluon/* web2py/extras/* web2py/handlers/* web2py/examples/* web2py/README.markdown web2py/LICENSE web2py/CHANGELOG web2py/NEWINSTALL web2py/VERSION web2py/MANIFEST.in web2py/scripts/*.sh web2py/scripts/*.py web2py/applications/admin web2py/applications/examples/ web2py/applications/welcome web2py/applications/__init__.py web2py/site-packages/__init__.py web2py/gluon/tests/*.sh web2py/gluon/tests/*.py mdp: make src make app make win app: python2.7 -c 'import compileall; compileall.compile_dir("gluon/")' #python web2py.py -S welcome -R __exit__.py #cd ../web2py_osx/site-packages/; unzip ../site-packages.zip #find gluon -path '*.pyc' -exec cp {} ../web2py_osx/site-packages/{} \; #cd ../web2py_osx/site-packages/; zip -r ../site-packages.zip * cp ../web2py_osx/site-packages.zip ../web2py_osx/web2py/web2py.app/Contents/Resources/lib/python2.7 find gluon -path '*.py' -exec cp -r --parents {} ../web2py_osx/web2py/web2py.app/Contents/Resources/ \; cp README.markdown ../web2py_osx/web2py/web2py.app/Contents/Resources cp NEWINSTALL ../web2py_osx/web2py/web2py.app/Contents/Resources cp LICENSE ../web2py_osx/web2py/web2py.app/Contents/Resources cp VERSION ../web2py_osx/web2py/web2py.app/Contents/Resources cp CHANGELOG ../web2py_osx/web2py/web2py.app/Contents/Resources cp -r extras ../web2py_osx/web2py/web2py.app/Contents/Resources cp -r examples ../web2py_osx/web2py/web2py.app/Contents/Resources cp -r applications/admin ../web2py_osx/web2py/web2py.app/Contents/Resources/applications cp -r applications/welcome ../web2py_osx/web2py/web2py.app/Contents/Resources/applications cp -r applications/examples ../web2py_osx/web2py/web2py.app/Contents/Resources/applications cp applications/__init__.py ../web2py_osx/web2py/web2py.app/Contents/Resources/applications cd ../web2py_osx; zip -r web2py_osx.zip web2py mv ../web2py_osx/web2py_osx.zip . win: #cd ../web2py_win/library/; zip -r ../library.zip * cp ../web2py_win/library.zip ../web2py_win/web2py find gluon -path '*.py' -exec cp -r --parents {} ../web2py_win/web2py/ \; cp README.markdown ../web2py_win/web2py/ cp NEWINSTALL ../web2py_win/web2py/ cp LICENSE ../web2py_win/web2py/ cp VERSION ../web2py_win/web2py/ cp CHANGELOG ../web2py_win/web2py/ cp -r extras ../web2py_win/web2py/ cp -r examples ../web2py_win/web2py/ cp -r applications/admin ../web2py_win/web2py/applications cp -r applications/welcome ../web2py_win/web2py/applications cp -r applications/examples ../web2py_win/web2py/applications cp applications/__init__.py ../web2py_win/web2py/applications # per https://github.com/web2py/web2py/issues/1716 mv ../web2py_win/web2py/_ssl.pyd ../web2py_win/web2py/_ssl.pyd.legacy | echo 'done' cd ../web2py_win; zip -r web2py_win.zip web2py mv ../web2py_win/web2py_win.zip . run: python2.7 web2py.py -a hello commit: python web2py.py --run_system_tests make src echo '' > NEWINSTALL hg commit -m "$(S)" git commit -a -m "$(S)" push: hg push git push git push --tags tag: git tag -l '$(S)' hg tag -l '$(S)' make commit S='$(S)' make push pip: # create Web2py distribution for upload to Pypi # after upload clean Web2py sources with rm -R ./dist # http://guide.python-distribute.org/creation.html python setup.py sdist sudo python setup.py register sudo python setup.py sdist upload