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 setup.py,

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 setup.py 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.

Opinions?

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.


--
http://worldcookery.com -- Professional Zope documentation and training
_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users

Reply via email to