Jim Fulton wrote:

On Apr 23, 2007, at 2:14 PM, Martijn Faassen wrote:
As far as I can determine from this thread (I have some difficulty following parts of David's long mail as well) you two are agreeing. :)

Jim, is it correct that you'd like the zope 3 recipe to grow an option to auto-construct a site.zcml based on egg dependencies?

No. I suggested that packages that have ZCML and that depend on other packages that have ZCML should include the ZCML of the packages they depend on. If this was common practice, then I don't think that constructing a site ZCML would be that hard.

It'd be a lot easier. You'd still have to list it for all eggs that you depend on directly. It would be nice if this could be automated as well, as being in two places to add a single dependency is more work than being in one place. Could be done with a special recipe, I think.

Package-level ZCML include dependencies would also mean a kind of duplication, too. You list dependencies in setup.py and then again in the package's ZCML. This is tolerable in most cases though. It wouldn't work for a Grok based package depending on any external packages, but that's Grok's problem.

Tres's argument is that since there is no system to override ZCML auto-inclusion of configuration should not be implemented yet. But Jim seems to disagree with this (and I do too).

There isn't a good way to cancel configuration done by included packages. I've found that in practice this usually doesn't matter, but I agree with Tres that it is a significant hole.

Yeah, I agree with you that it usually doesn't matter, and I agree with Tres that it is a significant hole. Where Tres seems to disagree with you and me is that he doesn't want people to include ZCML.

I also don't understand David's problem with buildout times. The option -N helps a lot. Jim, is there anything to say for actually making -N the default behavior of buildout?

No, But I can say something against it. :) Making it the default would make buildout's default behavior less deterministic.

I don't understand.

I can see how -o is the most deterministic buildout behavior, as it will upgrade nothing. The next step in my mind would be -N, as it only installs what's not there yet. Finally there's "no option", which is least predictable it might start updating stuff, depending on what package restrictions you have. Obviously I'm not understanding what you mean by "deterministic".

I just find myself typing -N a lot, and get annoyed when I forget it.

It is easy for people to change the default for their own use by putting:

   newest = false

in their ~/.buildout/default.cfg file.

Ah, a trick I wasn't aware of. I will do that then in my buildout.cfgs, though this will indeed might cause a few surprises to people they might get used to it and be surprised when they need -N in other buildouts.



Zope3-dev mailing list
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to