diff --git a/setup.py b/setup.py index 28aa334c..21bed682 100644 --- a/setup.py +++ b/setup.py @@ -6,12 +6,27 @@ versioneer.VCS = 'git' versioneer.versionfile_source = 'src/octoprint/_version.py' versioneer.versionfile_build = 'octoprint/_version.py' versioneer.tag_prefix = '' -versioneer.parentdir_prefix = 'octoprint-' +versioneer.parentdir_prefix = '' from setuptools import setup, find_packages +import os + +def package_data_dirs(source, sub_folders): + dirs = [] + + for d in sub_folders: + for dirname, _, files in os.walk(os.path.join(source, d)): + dirname = os.path.relpath(dirname, source) + for f in files: + dirs.append(os.path.join(dirname, f)) + + return dirs def params(): name = "OctoPrint" + version = versioneer.get_version() + cmdclass = versioneer.get_cmdclass() + description = "A responsive web interface for 3D printers" long_description = open("README.md").read() classifiers = [ @@ -40,6 +55,7 @@ def params(): packages = find_packages(where="src") package_dir = {"octoprint": "src/octoprint"} + package_data = {"octoprint": package_data_dirs('src/octoprint', ['static', 'templates'])} include_package_data = True zip_safe = False @@ -55,9 +71,6 @@ def params(): # "scripts/octoprint.init": "/etc/init.d/octoprint" #} - version = versioneer.get_version() - cmdclass = versioneer.get_cmdclass() - return locals() setup(**params()) diff --git a/versioneer.py b/versioneer.py index b7e37ae2..a01ab1ce 100644 --- a/versioneer.py +++ b/versioneer.py @@ -745,26 +745,30 @@ class cmd_version(Command): class cmd_build_py(_build_py): def run(self): - versions = get_versions(verbose=True) _build_py.run(self) + + versions = get_versions(verbose=True) # now locate _version.py in the new build/ directory and replace it # with an updated value target_versionfile = os.path.join(self.build_lib, versionfile_build) print("UPDATING %s" % target_versionfile) - os.unlink(target_versionfile) + if os.path.exists(target_versionfile): + os.unlink(target_versionfile) f = open(target_versionfile, "w") f.write(SHORT_VERSION_PY % versions) f.close() class cmd_build(_build): def run(self): - versions = get_versions(verbose=True) _build.run(self) + + versions = get_versions(verbose=True) # now locate _version.py in the new build/ directory and replace it # with an updated value target_versionfile = os.path.join(self.build_lib, versionfile_build) print("UPDATING %s" % target_versionfile) - os.unlink(target_versionfile) + if os.path.exists(target_versionfile): + os.unlink(target_versionfile) f = open(target_versionfile, "w") f.write(SHORT_VERSION_PY % versions) f.close()