mr.developer wird in der extensions-Option im [buildout]-Abschnitt hinzugefügt. Anschließend können folgende weitere Optionen festgelegt werden:
- sources-dir
Das Verzeichnis, in das die Pakete heruntergeladen werden.
Der Standardwert ist src.
- sources
Liste der Repository-Informationen der Pakete.
Das Format ist <kind> <url> [key=value].
- kind
- svn, hg oder git
- url
- Die URL des Repository
- key=value
Hier können Optionen für jedes einzelne Paket angegeben werden.
Es können weder Leerzeichen in key noch in value noch um das Gleichheitszeichen herum verwendet werden.
Im Folgenden einige der gebräuchlichsten Optionen:
- path
Optionale Angabe des Pfads, in den das Paket ausgecheckt wird, wobei der Name des Pakets dem Pfad angehängt wird.
Wird keine Angabe für path getroffen, wird stattdessen sources-dir verwendet.
- full-path
- Angabe des Pfades, in das ein Paket ausgecheckt wird ohne dass der Paketname angehängt wird.
- update
- spezifiziert, ob ein Paket beim Durchlaufen von Buildout aktualisiert werden soll oder nicht. Die Angabe überschreibt die globale always-checkout-Anweisung.
- egg
- Diese Option erlaubt, die Verwaltung von Paketen, die keine Python-Eggs sind mit egg=false. Dann wird das Paket nicht der develop-Option von Buildout hinzugefügt.
- auto-checkout
- Pakete, die beim initialen Aufruf des buildout-Skripts automatisch ausgecheckt werden. * kann angegeben werden falls alle Pakete in sources ausgecheckt werden sollen.
- always-checkout
Der Standardwert ist false.
- true
- Alle in auto-checkout angegebenen Pakete, die im develop mode sind, werden aktualisiert sobald das buildout-Skript aufgerufen wird.
- force
- Wie bei true, jedoch werden auch die als dirty markierten Pakete ohne Rückfrage aktualisiert.
Hier ein Beispiel für einen solchen Eintrag in die buildout.cfg-Datei:
[buildout] … extensions = mr.developer sources = sources auto-checkout = vs.policy some.package bootstrap always-checkout = true [sources] vs.policy = svn https://svn.veit-schiele.de/svn/vs.policy/trunk some.package = git git://example.com/git/some.package.git bootstrap = git git://github.com/twitter/bootstrap.git rev=d9b502dfb876c40b0735008bac18049c7ee7b6d2 path=${buildout:directory} egg=false
Buildout erzeugt nun ein Skript bin/develop, das verschiedene Aktionen zu den einzelnen Paketen erlaubt, wie z.B. das Auschecken des Quellcodes ohne den Ort des Repositories kennen zu müssen. Für weitere Aktionen geben Sie einfach folgendes ein:
$ ./bin/develop help
Wird der Quellcode aus einem Paket ausgecheckt, muss buildout erneut durchlaufen werden. Das Paket wird dann automatisch als develop egg markiert, und falls es in der Liste der versions-Option festgeschrieben wurde wird dieser Eintrag gelöscht und das develop egg verwendet.
Die Liste der develop eggs kann mit den activate- und deactivate-Kommandos von bin/develop gesteuert werden.