Commit adb685ea authored by Godefroid Chapelle's avatar Godefroid Chapelle

Warning for wrong script name

Warning when a script name passed in 'scripts' argument of easy_install.scripts
is not defined in an entry point.
parent c5dcc2c1
......@@ -6,8 +6,11 @@ Change History
New feature:
- Warn when a script name passed in 'scripts' argument of easy_install.scripts
is not defined in an entry point.
- Added buildout:socket-timout option so that socket timeout can be configured
both from command line and from config files. (gotcha)
both from command line and from config files.
1.4.3 (2009-12-10)
==================
......
......@@ -940,7 +940,10 @@ def scripts(reqs, working_set, executable, dest,
else:
entry_points.append(req)
entry_points_names = []
for name, module_name, attrs in entry_points:
entry_points_names.append(name)
if scripts is not None:
sname = scripts.get(name)
if sname is None:
......@@ -956,6 +959,18 @@ def scripts(reqs, working_set, executable, dest,
initialization, rpsetup)
)
# warn when a script name passed in 'scripts' argument
# is not defined in an entry point.
if scripts is not None:
for name, target in scripts.items():
if name not in entry_points_names:
if name == target:
logger.warning("Could not generate script '%s' as it is not "
"defined in the target egg.", name)
else:
logger.warning("Could not generate script '%s' as script "
"'%s' is not defined in the target egg.", name, target)
if interpreter:
sname = os.path.join(dest, interpreter)
spath, rpsetup = _relative_path_and_setup(sname, path, relative_paths)
......@@ -1252,4 +1267,3 @@ def redo_pyc(egg):
subprocess.call([sys.executable, args])
else:
os.spawnv(os.P_WAIT, sys.executable, args)
......@@ -344,6 +344,48 @@ You can also control the name used for scripts:
- buildout
- foo
If a wrong script name is provided, buildout tells about it:
>>> write(sample_buildout, 'buildout.cfg',
... """
... [buildout]
... parts = demo
...
... [demo]
... recipe = zc.recipe.egg
... find-links = %(server)s
... index = %(server)s/index
... scripts = undefined
... """ % dict(server=link_server))
>>> print system(buildout),
Uninstalling demo.
Installing demo.
Could not generate script 'undefined' as it is not defined in the target egg.
>>> ls(sample_buildout, 'bin')
- buildout
>>> write(sample_buildout, 'buildout.cfg',
... """
... [buildout]
... parts = demo
...
... [demo]
... recipe = zc.recipe.egg
... find-links = %(server)s
... index = %(server)s/index
... scripts = foo=undefined
... """ % dict(server=link_server))
>>> print system(buildout),
Uninstalling demo.
Installing demo.
Could not generate script 'foo' as script 'undefined' is not defined in the target egg.
>>> ls(sample_buildout, 'bin')
- buildout
Specifying extra script paths
-----------------------------
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment