单独使用的ZCML段塞生成,例如用于基于休止的设置
collective.recipe.zcml的Python项目详细描述
collective.recipe.zcml
创建zcml段塞的方法。有用的 例如,在基于repoze的构建中。
变更历史
0.1(2008-07-04)
- Created recipe with ZopeSkel [Stefan Eletzhofer].
详细文档
支持的选项
配方支持以下选项:
- zcml zcml实体的列表。
- zope2位置
- Zope 2安装的位置。
格式:
zcml := package ":" filename package := dottedname | dottedname "-" ( "configure" | "meta" | "overrides" )
创建zcml段塞的勇气是从plone.recipe.zope2install中挖掘出来的。
示例用法
我们将从创建使用配方的构建开始:
>>> write('buildout.cfg', ... """ ... [buildout] ... parts = test1 ... ... [test1] ... recipe = collective.recipe.zcml ... zope2-location=${buildout:directory}/zope ... zcml = ... my.package ... somefile:my.otherpackage ... my.thirdpackage-meta ... """)
运行构建会给我们带来:
>>> print 'start', system(buildout) # doctest:+ELLIPSIS start Installing test1. While: Installing test1. <BLANKLINE> An internal error occured due to a bug in either zc.buildout or in a recipe being used: <BLANKLINE> OSError: [Errno 2] No such file or directory: '/sample-buildout/zope/etc/package-includes' <BLANKLINE>
我们需要一个有效的zope安装。让我们假装一个:
>>> mkdir("zope") >>> mkdir("zope", "etc") >>> print 'start', system(buildout) # doctest:+ELLIPSIS start Installing test1.
我们现在有一个包,包括目录:
>>> ls("zope", "etc") d package-includes
它确实包含zcml段塞:
>>> ls("zope", "etc", "package-includes") - 001-my.package-configure.zcml - 002-somefile-configure.zcml - 003-my.thirdpackage-meta.zcml
这些文件包含通常的内容:
>>> cat("zope", "etc", "package-includes", "001-my.package-configure.zcml") <include package="my.package" file="configure.zcml" /> >>> cat("zope", "etc", "package-includes", "002-somefile-configure.zcml") <include package="somefile" file="my.otherpackage" /> >>> cat("zope", "etc", "package-includes", "003-my.thirdpackage-meta.zcml") <include package="my.thirdpackage" file="meta.zcml" />
就这些。
贡献者
Stefan Eletzhofer,作者