|
Project Information
Featured
Links
|
This project is to keep my common distribution code in one place. This is currently under constant flux and I don't recommend using it except for copy/pasting or forking at the moment. Typical Workflow for Release- Edit the release notes.
- Run ./build.py --check. This may also update debian/changelog, setup.py and yourapp.py if a new release has has been mentioned in RELEASE.rst.
- Run ./build.py --missing-docs to create the README.rst and INSTALL.rst in various languages, derived from the setup.py text. Also creates the license file if needed.
- Run ./build.py --gettext to get any translatable text strings.
- Run ./build.py --check again to see how much you need to translate.
- Run ./build.py --tests to run any unit tests.
- Run hg commit if everything's ok.
- Run hg push to upload to the Mercurial repository.
- Run ./build.py --dist to create the distribution packages. This includes creating the man pages, debian distribution, zip and tar files.
- Run ./build.py --upload to upload to code.google.com. Also sets the files as featured and unsets the old featured files.
- Run ./build.py --pypi to upload to pypi.python.org.
- Run ./build.py --check-remote to verify that all remote repositories are up-to-date.
- Run ./build.py --git to upload a release to git.
- Run ./build.py --mail to make an announcement on your mailing list.
- Run ./build.py --freshmeat to make an announcement on freshmeat.
- Run ./build.py --twitter to announce on your twitter account. Currently broken because of python-twitter doesn't work with the new twitter rules.
Features- Creates a tar, and zip source packages.
- Creates a Debian distribution (from debian folder)
- Optionally adds a man page.
- Optionally adds a .desktop menu and icon.
- Creates man page by help2man (so you need --version in your program).
- Creates multiple man pages for multiple languages.
- Uploads to code.google.com.
- Adds the new files as 'featured' and removes the old 'featured' flags.
- Uploads to pypi (aka. Cheeseshop).
- Announces on Freshmeat.
- Announces on Twitter.
- Verifies that the Release notes version matches the setup.py version which matches the application's version string and matches the Debian changelog.
- Performs spell check on your release notes and updates debian/changelog, so that the release notes all match.
- Checks release notes and setup.py for reStructuredText errors.
- Creates README, INSTALL and LICENSE documents if missing or out of date in multiple languages.
- Runs pychecker on all files.
- Runs nosetest on sub-folders.
- Verifies that you committed to mercurial.
- Verifies that you pushed mercurial to code.google.com.
- Optionally performs "remote" checks, verifying that the versions are up-to-date in code.google.com and pypi.
This project is self hosting so you can look at setup.py and build_all.py .
|