Derek Richardson wrote:
One problem confronts me, though, before I do the boring work of sorting out the dependencies. My package is designed to run in both z2 and z3. So, I could add a bunch of z3-specific dependencies to a z3-configure.zcml that is loaded only if Five is not installed. Not too hard. But, the hard part is: I don't want to add all the z3 eggs to my,

Yes you do.

because that's ugly if I'm actually running in z2.

No, Zope 2 is ugly because it doesn't support eggs yet :). Well, actually I *did* change that. I've eggified Zope 2.11 (the trunk) a while ago and it seems to work so far.

My idea is to have a z3-only package that depends on my z3/z2 hybrid package and that simply has a that includes all the z3 dependencies and a configure.zcml and an ftesting.zcml that does all the z3-specific zcml work. And then I can have a z3-specific buildout that uses the z3-specific package and another buildout for z2 that uses the base package and a third buildout for z2+plone, which includes some additional plone-specific packages. A big pain, but I want my code usuable in all three environments, to the extent that is possible.


If you're going to be basing this on Zope 2.11/3.4, I'd say you're better off with a simpler solution: betting on eggs all the way. I certainly hope that Zope 2.11 will go this way (I will do everything I can to support that) and I see similar wishes in the Plone community as well. Fortunately, eggification is just a means of packaging and pretty orthogonal to the actual code.

-- -- Professional Zope documentation and training
Zope3-users mailing list

Reply via email to