[feat] zc.recipe.egg: Reinstall when setup-eggs versions change
Trigger uninstall + install of eggs installed with zc.recipe.egg:custom or :develop when pinned versions of setup-eggs have changed. To achieve this the versions of setup-eggs are included in the section: this makes them part of its signature so that when they change, buildout will call `uninstall` and `install` for this section instead of just `update`. Unlike other zc.recipe.egg entry points, :custom stores the path of the installed egg; thus `uninstall` will remove it fully, leaving `install` to reinstall it cleanly from scrach. In the case of :develop, `uninstall` matters little as only the path of the installed `.egg-link` is stored. Instead `install` must be fixed to actually rebuild the egg in-place in the source directory and `develop` should do nothing. The main issue lies in `zc.buildout.easy_install.develop`: depending on the build process, it may leave build artifacts in the source directory that cause future runs to do nothing.
Showing
Please register or sign in to comment