On Jan 20, 2009, at 11:37 AM, Pascoe, S (Stephen) wrote:
Is there a way for a recipe to pick another part's dependencies so
that it can do the sys.path[0:0] = [...] magic that
zc.buildout.easy_install.scripts does. I'm trying to add
functionality to a zc.recipe.egg buildout by writing a recipe but
I'm finding I want to use the working_set configured in the
zc.recipe.egg part. E.g.
"""
[buildout]
develop-eggs = recipes
parts = foo bar
[foo]
recipe = zc.recipe.egg
eggs = ...
[bar]
recipe = recipes:myrecipe
# I want to create scripts that include the eggs installed in foo
eggs_from = foo
...
"""
At the moment the only option I can see is:
1. Grab config options from the [foo] section and re-parse all
options relating to egg configuration (eggs/dependency-links/etc.)
2. Call zc.recipe.easy_install.install() to get a working set.
3. Write sys.path[0:0] = [...] into my scripts based on the new
working set.
It seems a little redundant but the zc.buildout.easy_install.scripts
API doesn't quite do what I want.
You can have your recipe extend the zc.recipe.egg:scripts recipe. See
http://pypi.python.org/pypi/zc.recipe.egg#egg-recipe-api-for-other-recipes
zc.recipe.testrunner is one of several examples of of doing this.
Then, you'd have:
[bar]
recipe = recipes:myrecipe
eggs = ${foo:eggs}
...
Jim
--
Jim Fulton
Zope Corporation
_______________________________________________
Distutils-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig