[Grok-dev] Re: timte-json branch

Martijn Faassen faassen at startifact.com
Sat Mar 24 22:09:10 EDT 2007


Hey,

Darryl Cousins wrote:
> Could I pick your brains further on the subject?  

Sure!

> 1. Is it ok then to add an svn:externals pointing to grok repository
> from my project repos so it checks out grok into my project directory
> each and every time?

Yes. This is a regular pattern with buildouts. You list 'grok' in the 
'develop' line in the [buildout] section, so buildout can recognize this 
as an egg.

> 2. Related but a little different. I have used some z3c pakages in my
> project. I created a recipe to check out these packages into
> parts/instance/lib/python. Could/should this be done differently? 

 > Possibly by:
 > For example adding svn:externals to these packages so they check out
 > into my project/src directory along with my code? And therefore are
 > built as part of my code.

Yes, it can be done differently. If these are registered on the 
cheeseshop, just list them as a dependency in your setup.py. If they are 
stored in some other location (zope.org has a few, though I can't 
remember the name), you can add this as an alternate repository to look 
for eggs too. (I forget the name too)

If they are not in the cheeseshop, just create an svn:external to them 
in the top-level project directory and list them in the 'develop' 
section of your buildout.cfg.

If you want their ZCML to be registered, you can change buildout.cfg in 
the 'zcml' section of your instances to have it included.

Then run: $ bin/buildout -N

The '-N' option avoids network access when you already have an egg, and 
typically a buildout runs much faster.

Please note that running buildout can remove and reinstall your 
instance, including any changes you made there, including etc/zope.conf. 
Hopefully we can move that file off into some other directory eventually.

Someone should take notes on all this and write this into a coherent 
tutorial for zc.buildout. I imagine it can be pretty use-case driven, or 
even FAQ style ("How do I..?"). Volunteers to start such a document are 
welcome!

For eager website volunteers that may be around you, making a nice web 
presence for zc.buildout (buildout.zope.org?) would be a fun project. 
Right now there's lots of buildout documentation on the cheeseshop 
(generated from the doctests): cheeseshop.python.org/py/zc.buildout

There's also this document that Jim wrote on buildout:

http://us.pycon.org/common/talkdata/PyCon2007/116/buildout.pdf

Collecting this stuff in one place, giving it a bit of a layout, would 
be work that has quick payoffs. That said, you do need to provide Jim 
with an easy way to update the docs to the latest versions - he has 
setup.py do that for him automatically for the cheeseshop upload, so 
you'll have to beat that. :)

Regards,

Martijn



More information about the Grok-dev mailing list