summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2010-11-25 17:44:32 +0100
committerSebastian Thiel <byronimo@gmail.com>2010-11-25 17:45:29 +0100
commitf24736ad5b55a89b1057d68d6b3f3cd01018a2e8 (patch)
treeaf601505ed7202575e1266de2c033b7a7b0fe39a /setup.py
parent3b2e9a8312412b9c8d4e986510dcc30ee16c5f4c (diff)
downloadgitpython-f24736ad5b55a89b1057d68d6b3f3cd01018a2e8.tar.gz
Fixed setup tools
Diffstat (limited to 'setup.py')
-rwxr-xr-xsetup.py86
1 files changed, 86 insertions, 0 deletions
diff --git a/setup.py b/setup.py
new file mode 100755
index 00000000..54d78c50
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,86 @@
+#!/usr/bin/env python
+try:
+ from setuptools import setup, find_packages
+except ImportError:
+ from ez_setup import use_setuptools
+ use_setuptools()
+ from setuptools import setup, find_packages
+
+from distutils.command.build_py import build_py as _build_py
+from setuptools.command.sdist import sdist as _sdist
+import os
+from os import path
+
+v = open(path.join(path.dirname(__file__), 'VERSION'))
+VERSION = v.readline().strip()
+v.close()
+
+
+class build_py(_build_py):
+ def run(self):
+ init = path.join(self.build_lib, 'git', '__init__.py')
+ if path.exists(init):
+ os.unlink(init)
+ _build_py.run(self)
+ _stamp_version(init)
+ self.byte_compile([init])
+
+
+class sdist(_sdist):
+ def make_release_tree (self, base_dir, files):
+ _sdist.make_release_tree(self, base_dir, files)
+ orig = '__init__.py'
+ assert path.exists(orig)
+ dest = path.join(base_dir, orig)
+ if hasattr(os, 'link') and path.exists(dest):
+ os.unlink(dest)
+ self.copy_file(orig, dest)
+ _stamp_version(dest)
+
+
+def _stamp_version(filename):
+ found, out = False, []
+ f = open(filename, 'r')
+ for line in f:
+ if '__version__ =' in line:
+ line = line.replace("'git'", "'%s'" % VERSION)
+ found = True
+ out.append(line)
+ f.close()
+
+ if found:
+ f = open(filename, 'w')
+ f.writelines(out)
+ f.close()
+ else:
+ print >> sys.stderr, "WARNING: Couldn't find version line in file %s" % filename
+
+
+setup(name = "GitPython",
+ cmdclass={'build_py': build_py, 'sdist': sdist},
+ version = VERSION,
+ description = "Python Git Library",
+ author = "Sebastian Thiel, Michael Trier",
+ author_email = "byronimo@gmail.com, mtrier@gmail.com",
+ url = "http://gitorious.org/projects/git-python/",
+ packages = ['git.'+p for p in find_packages('.')],
+ py_modules = ['git.'+f[:-3] for f in os.listdir('.') if f.endswith('.py')],
+ package_data = {'git.test' : ['fixtures/*']},
+ package_dir = {'git':''},
+ license = "BSD License",
+ requires=('gitdb (>=0.5.1)',),
+ install_requires='gitdb >= 0.5.1',
+ zip_safe=False,
+ long_description = """\
+GitPython is a python library used to interact with Git repositories""",
+ classifiers = [
+ "Development Status :: 4 - Beta",
+ "Intended Audience :: Developers",
+ "License :: OSI Approved :: BSD License",
+ "Operating System :: OS Independent",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 2.5",
+ "Programming Language :: Python :: 2.6",
+ "Topic :: Software Development :: Libraries :: Python Modules",
+ ]
+ )