skip to navigation
skip to content

collective.recipe.zcml 0.1

ZCML slug generation to be used separately e.g for repoze based setups

Downloads ↓

collective.recipe.zcml

zc.buildout recipe to create zcml slugs. Useful for example in a repoze based buildout.

0.1 (2008-07-04)

  • Created recipe with ZopeSkel [Stefan Eletzhofer].

Supported options

The recipe supports the following options:

zcml

A list of zcml entires.

format:

zcml := package ":" filename
package := dottedname | dottedname "-" ( "configure" | "meta" | "overrides" )
zope2-location
The location of the zope 2 installation.

The guts of creating ZCML slugs was ripped from plone.recipe.zope2install.

Example usage

We'll start by creating a buildout that uses the recipe:

>>> 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
... """)

Running the buildout gives us:

>>> 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>

We need to have a valid zope installation. Let's fake one:

>>> mkdir("zope")
>>> mkdir("zope", "etc")
>>> print 'start', system(buildout) # doctest:+ELLIPSIS
start Installing test1.

We now have a package include directory:

>>> ls("zope", "etc")
d  package-includes

It does contain ZCML slugs:

>>> ls("zope", "etc", "package-includes")
-  001-my.package-configure.zcml
-  002-somefile-configure.zcml
-  003-my.thirdpackage-meta.zcml

These files contain the usual stuff:

>>> 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" />

That's all.

Contributors

Stefan Eletzhofer, Author

 
File Type Py Version Uploaded on Size # downloads
collective.recipe.zcml-0.1-py2.4.egg (md5) Python Egg 2.4 2008-06-04 9KB 916
collective.recipe.zcml-0.1.tar.gz (md5) Source 2008-06-04 5KB 642