[Grok-dev] the notion of "next Grok"
Martin Aspeli
optilude+lists at gmail.com
Thu Apr 16 11:22:39 EDT 2009
Jan-Wijbrand Kolman wrote:
> Hi,
>
> On Wed, Apr 15, 2009 at 5:07 PM, Martijn Faassen <faassen at startifact.com> wrote:
>> Once we got it working for Grok we might want to push this down into the
>> Zope Toolkit, but I think Grok will have to pick up the ball here for
>> now, make it work for Grok. We can approach Plone developers on this
>> list too (or directly). I got nobody interested in this topic over on
>> zope-dev...
>
> Just to note: I do find this interesting. I'm not sure though I
> already understand exactly what mr.developer accomplishes. I should
> play with first.
Look at http://pypi.python.org/pypi/mr.developer
Basically, it will maintain your src/ directory for you. It acts as a
buildout extension to automatically include in 'develop' all the
packages in src/ that it manages. It also knows the svn location and
name of each package. So, you can:
- set certain packages to auto-checkout (you always want these in
'develop' mode)
- use a develop version of a certain package on the fly by doing:
./bin/develop checkout my.package
./bin/buildout
The idea is that if you find a bug or need to change my.package, you can
switch to a develop version. When you're done, you can remove it it
again with ./bin/develop deactivate (or just remove the directory) and
switch to the new release.
For tracking 'next' grok, you basically keep a versions file of the
current version, and then update to new versions as they become
available. If things don't have a release yet, you can add them to the
auto-checkout list. If you are a Grok developer and you start working on
a particular package, you can do a local develop checkout while you're
working on it, and check in the updated version for a new release or add
the auto-checkout to the shared buildout.
Look at the plone-coredev buildout for an example:
http://svn.plone.org/svn/plone/buildouts/plone-coredev/trunk - see
sources.cfg, versions.cfg and buildout.cfg. Developers will update
sources.cfg and versions.cfg as the 'next' target moves forward. The
release manager re-baselines them after a release so that there're
basically no auto-checkout dependencies.
Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
More information about the Grok-dev
mailing list