Remove the assert in CommitData.parse() function
[stgit] / setup.py
index 8d8f7a8..12ed1db 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -4,7 +4,7 @@ import sys, glob, os
 from distutils.core import setup
 
 from stgit import version
-from stgit.run import Run
+from stgit import commands, completion
 
 def __version_to_list(version):
     """Convert a version string to a list of numbers or strings
@@ -28,7 +28,7 @@ def __check_min_version(min_ver, ver):
 def __check_python_version():
     """Check the minimum Python version
     """
-    pyver = '.'.join(str(n) for n in sys.version_info)
+    pyver = '.'.join(map(lambda x: str(x), sys.version_info))
     if not __check_min_version(version.python_min_ver, pyver):
         print >> sys.stderr, 'Python version %s or newer required. Found %s' \
               % (version.python_min_ver, pyver)
@@ -37,6 +37,7 @@ def __check_python_version():
 def __check_git_version():
     """Check the minimum GIT version
     """
+    from stgit.run import Run
     gitver = Run('git', '--version').output_one_line().split()[2]
     if not __check_min_version(version.git_min_ver, gitver):
         print >> sys.stderr, 'GIT version %s or newer required. Found %s' \
@@ -58,24 +59,30 @@ def __run_setup():
             ('share/stgit/templates', glob.glob('templates/*.tmpl')),
             ('share/stgit/examples', glob.glob('examples/*.tmpl')),
             ('share/stgit/examples', ['examples/gitconfig']),
-            ('share/stgit/contrib', ['contrib/diffcol.sh',
-                                     'contrib/stgbashprompt.sh',
-                                     'contrib/stgit-completion.bash']),
-            ('share/doc/stgit', glob.glob('doc/*.txt'))])
+            ('share/stgit/contrib', ['contrib/stgbashprompt.sh']),
+            ('share/stgit/completion', ['stgit-completion.bash'])
+            ])
 
 # Check the minimum versions required
-if sys.argv[1] in ['install', 'build']:
-    __check_python_version()
-    __check_git_version()
+__check_python_version()
+__check_git_version()
 
 # ensure readable template files
 old_mask = os.umask(0022)
 
-try:
-    version.write_builtin_version()
-    __run_setup()
-finally:
-    version.delete_builtin_version()
+version.write_builtin_version()
+
+# generate the python command list
+f = file('stgit/commands/cmdlist.py', 'w')
+commands.py_commands(commands.get_commands(allow_cached = False), f)
+f.close()
+
+# generate the bash completion script
+f = file('stgit-completion.bash', 'w')
+completion.write_completion(f)
+f.close()
+
+__run_setup()
 
 # restore the old mask
 os.umask(old_mask)