mr.developer is a zc.buildout extension which makes it easier to work with buildouts containing lots of packages of which you only want to develop some. The basic idea for this comes from Wichert Akkerman’s plonenext effort.
You add mr.developer to the extensions option of your [buildout] section. Then you can add the following options to your [buildout] section:
- This specifies the default directory where your development packages will be placed. Defaults to src.
- This specifies a section which lists the repository information of your packages. The format is “<kind> <url> [path]”. Where <kind> is either svn or git, <url> is the location of the repository and the optional [path] is the base directory where the package will be checked out (the name of the package will be appended), if it’s missing, then sources-dir will be used.
- This specifies the names of packages which should be checked out during buildout, packages already checked out are skipped.
The following is an example of how your buildout.cfg may look like:
[buildout] ... extensions = mr.developer sources = sources auto-checkout = my.package [sources] my.package = svn http://example.com/svn/my.package/trunk some.other.package = git git://example.com/git/some.other.package.git
When you run buildout, you will get a script at bin/develop in your buildout directory. With that script you can perform various actions on the packages, like checking out the source code, without the need to know where the repository is located.
For help on what the script can do, run bin/develop help.
If you checked out the source code of a package, you need run buildout again. The package will automatically be marked as an develop egg and, if it’s listed in the section specified by the versions option in the [buildout] section, the version will be cleared, so the develop egg will actually be used.
0.11 - 2009-04-06
- Removed the nice os.path.relpath usage, because it’s only been introduced with Python 2.6. [fschulze]
0.10 - 2009-04-06
- Added verbose flag to status command. [fschulze]
- Deprecated sources-svn and sources-git in favour of just sources which allows more flexibility. [fschulze]
- Changed status command to only check known paths and not the whole sources-dir path. [fschulze]
- Add possibility to filter packages in update and status commands. [fschulze]
- Tell the user at the end of the buildout run whether there have been any errors during automatic checkout. [fschulze]
- Install the develop script as the first part instead of the last, so it can be used to fix problems. [fschulze]
0.9 - 2009-03-30
- When installed as just an egg, then the resulting develop script can be called from anywhere and will try to find the correct develop script from the current working directory and execute it. [fschulze]
- Fixed help text formatting. [fschulze]
0.8 - 2009-03-25
- Added authentication support to subversion commands. [fschulze]
- Added -a option to checkout command to limit matching to the packages declared by the auto-checkout option. If no further argument is given, then all the packages from auto-checkout are processed. [fschulze]
0.7 - 2009-03-24
- Added update command to checkout script. [fschulze]
- Added status command to checkout script. [fschulze]
- Added status flag to list command to indicate packages with wrong URL. [fschulze]
- If the working copy is clean, then checkout automatically switches svn packages. [fschulze]
- Skip on checkout errors during buildout, so the develop script is generated and you get a chance to inspect and fix the problems. [fschulze]
- Check remote url and stop checkout if it differs. [fschulze]
- Added various options to the list command. [fschulze]
- Instead of the checkout script, there is now a develop script with various commands. [fschulze]
0.6 - 2009-03-24
- Added custom logging formatter for nicer output in the checkout script. [fschulze]
- Removed the ‘-e’ option, regular expression matching is the default now. [fschulze]
- Made it possible to specify more than one regular expression without the need to use a pipe symbol and quotes. [fschulze]
- Added help text for the checkout script to pypi page. [fschulze]
- Add a warning to rerun buildout after checkout. [fschulze]
0.5 - 2009-03-23
- Make sure that the updated versions are actually used. [fschulze]
0.4 - 2009-03-22
- Fixed logging, which fixes the info message output. [fschulze]
- Skip checkout of existing packages. [fschulze]
0.3 - 2009-03-22
- Fixed source distribution by adding a MANIFEST.in. [fschulze]
- Added -e and -l options to checkout script. [fschulze]
0.2 - 2009-03-22
- Added auto-checkout option (only works with subversion at the moment). [fschulze]
- Added support for git. [fschulze]
- Throw error when trying to checkout unknown package. [fschulze]
- Fixed target directory for checkouts. [fschulze]
0.1 - 2009-03-19
- Initial release