Merge pull request #5047 from minrk/check-pkg-data

only validate package_data when it might be used
Thomas Kluyver 12 years ago
commit 53cbcfc3bb

@ -58,6 +58,7 @@ from setupbase import (
setup_args,
find_packages,
find_package_data,
check_package_data_first,
find_entry_points,
build_scripts_entrypt,
find_data_files,
@ -191,6 +192,7 @@ if len(sys.argv) >= 2 and sys.argv[1] in ('sdist','bdist_rpm'):
packages = find_packages()
package_data = find_package_data()
data_files = find_data_files()
setup_args['packages'] = packages
@ -224,7 +226,7 @@ class UploadWindowsInstallers(upload):
self.upload_file('bdist_wininst', 'any', dist_file)
setup_args['cmdclass'] = {
'build_py': git_prebuild('IPython'),
'build_py': check_package_data_first(git_prebuild('IPython')),
'sdist' : git_prebuild('IPython', sdist),
'upload_wininst' : UploadWindowsInstallers,
'submodule' : UpdateSubmodules,

@ -188,7 +188,12 @@ def find_package_data():
'IPython.nbformat' : ['tests/*.ipynb']
}
# verify that package_data makes sense
return package_data
def check_package_data(package_data):
"""verify that package_data globs make sense"""
print("checking package data")
for pkg, data in package_data.items():
pkg_root = pjoin(*pkg.split('.'))
for d in data:
@ -198,7 +203,17 @@ def find_package_data():
else:
assert os.path.exists(path), "Missing package data: %s" % path
return package_data
def check_package_data_first(command):
"""decorator for checking package_data before running a given command
Probably only needs to wrap build_py
"""
class DecoratedCommand(command):
def run(self):
check_package_data(self.package_data)
command.run(self)
return DecoratedCommand
#---------------------------------------------------------------------------

Loading…
Cancel
Save