<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>dev-requirements.txt</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,24 +1,20 @@
 import os
 import sys
+import sets
 
 from paver.easy import *
 from paver.setuputils import setup
-from setuptools import find_packages
 
 try:
     from paver.virtual import bootstrap
-except:
-    info(&quot;bootstrap task not available&quot;)
-    
-try:
     from github.tools.task import (
         gh_pages_build,
         gh_pages_clean,
         gh_pages_create,
         gh_register)
     from git import Git
-except:
-    info(&quot;github-tools' task not available&quot;)
+except ImportError:
+    info(&quot;Some tasks could not been loaded&quot;)
 
 
 version='0.1.7'
@@ -38,17 +34,12 @@ classifiers = [
     ]
 
 install_requires = [
-    'setuptools',
-    'paver-templates&gt;=0.1.0b1',
-    'GitPython',
+    'setuptools&gt;=0.6c9',
+    'paver-templates&gt;=0.1.0b3',
+    'GitPython&gt;=0.1.6',
+    'simplejson',
     ]
 
-try:
-    # available with python 2.6
-    import json
-except ImportError:
-    install_requires.append('simplejson')
-
 entry_points=&quot;&quot;&quot;
     # -*- Entry points: -*-
     [paste.paster_create_template]
@@ -60,12 +51,12 @@ setup(name='github-tools',
     description='Helpers for Python package hosting at GitHub',
     long_description=long_description,
     classifiers=classifiers,
-    keywords='sphinx, github, paster',
+    keywords='sphinx github paster',
     author='Damien Lebrun',
     author_email='dinoboff@hotmail.com',
     url='http://dinoboff.github.com/github-tools/',
     license='BSD',
-    packages = find_packages('src'),
+    packages = ['github.tools'],
     package_dir = {'': 'src'},
     namespace_packages=['github'],
     include_package_data=True,
@@ -86,9 +77,9 @@ options(
         script_name='bootstrap.py',
         dest_dir='./virtual-env/',
         packages_to_install=[
-            'virtualenv',
-            'Nose',
-            'Mock',
+            'virtualenv&gt;=1.3.3',
+            'Nose&gt;=0.10.4',
+            'Mock&gt;=0.5.0',
             ]
         ),
     sphinx=Bunch(
@@ -99,51 +90,66 @@ options(
     )
 
 
+    
+@task
+def pip_requirements():
+    &quot;&quot;&quot;Create a pip requirement file.&quot;&quot;&quot;
+    req = sets.Set()
+    for d in (
+        options.virtualenv.get('packages_to_install', [])
+        + options.setup.get('install_requires', [])
+        ):
+        req.add(d+'\n')
+    
+    f = open('dev-requirements.txt', 'w')
+    try:
+        f.writelines(req)
+    finally:
+        f.close()
+        
+@task
+def manifest():
+    &quot;&quot;&quot;Generate a Manifest using 'git ls-files'&quot;&quot;&quot;
+    manifest_in = open('MANIFEST.in', 'w')    
+    try: 
+        includes = (
+            &quot;include %s\n&quot; % f 
+            for f in Git('.').ls_files().splitlines()
+            if (not os.path.basename(f).startswith('.') 
+                and f != 'docs/build/html')
+            )
+        manifest_in.writelines(includes)
+    finally:
+        manifest_in.close()
+
 @task
-@needs('generate_setup', 'minilib', 'setuptools.command.sdist')
+@needs('pip_requirements', 'generate_setup', 'manifest', 'minilib',
+    'setuptools.command.sdist')
 def sdist():
     &quot;&quot;&quot;Overrides sdist to make sure that our setup.py is generated.&quot;&quot;&quot;
 
 
-if 'gh_pages_build' in globals():
-    
-    @task
-    @needs('gh_pages_build', 'github.tools.task.gh_pages_update')
-    def gh_pages_update():
-        &quot;&quot;&quot;Overrides github.tools.task to rebuild the doc (with sphinx).&quot;&quot;&quot;
-    
-    
-    tag_name = 'v%s' % version
-    
-    @task
-    def tag():
-        &quot;&quot;&quot;tag a new version of this distribution&quot;&quot;&quot;
-        git = Git('.')
-        git.pull('origin', 'master')
-        git.tag(tag_name)
+@task
+@needs('gh_pages_build', 'github.tools.task.gh_pages_update')
+def gh_pages_update():
+    &quot;&quot;&quot;Overrides github.tools.task to rebuild the doc (with sphinx).&quot;&quot;&quot;
     
-    @task
-    def adjust_options():
-        options.update(
-            gh_pages_update=Bunch(commit_message='Update doc to %s' % version))
     
-    @task
-    @needs('sdist', 'tag', 'setuptools.command.upload',
-        'adjust_options', 'gh_pages_update')
-    def upload():
-        &quot;&quot;&quot;Upload the distribution to pypi, the new tag and the doc to Github&quot;&quot;&quot;
-        Git('.').push('origin', 'master', tag_name)
+tag_name = 'v%s' % version
     
-    @task
-    def manifest():
-        &quot;&quot;&quot;Generate a Manifest using 'git ls-files'&quot;&quot;&quot;
-        manifest_in = open('MANIFEST.in', 'w')    
-        try: 
-            includes = (
-                &quot;include %s\n&quot; % f 
-                for f in Git('.').ls_files().splitlines()
-                if not os.path.basename(f).startswith('.')
-                )
-            manifest_in.writelines(includes)
-        finally:
-            manifest_in.close()
\ No newline at end of file
+@task
+def tag():
+    &quot;&quot;&quot;tag a new version of this distribution&quot;&quot;&quot;
+    git = Git('.')
+    git.pull('origin', 'master')
+    git.tag(tag_name)
+
+
+@task
+@needs('sdist', 'tag', 'setuptools.command.upload',)
+def upload():
+    &quot;&quot;&quot;Upload the distribution to pypi, the new tag and the doc to Github&quot;&quot;&quot;
+    options.update(
+        gh_pages_update=Bunch(commit_message='Update doc to %s' % version))
+    gh_pages_update()
+    Git('.').push('origin', 'master', tag_name)
\ No newline at end of file</diff>
      <filename>pavement.py</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>paver-minilib.zip</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>aac1321254dcfe7f0ae143bd5290fb792b15810a</id>
    </parent>
  </parents>
  <author>
    <name>Damien Lebrun</name>
    <email>dinoboff@hotmail.com</email>
  </author>
  <url>http://github.com/dinoboff/github-tools/commit/d8469918baeabc784d128974f14e411dbfa04bec</url>
  <id>d8469918baeabc784d128974f14e411dbfa04bec</id>
  <committed-date>2009-08-09T08:33:47-07:00</committed-date>
  <authored-date>2009-08-09T08:33:47-07:00</authored-date>
  <message>Add a list of requirement for pip</message>
  <tree>ee0c6969646ca628d49417369f290224667f8cc5</tree>
  <committer>
    <name>Damien Lebrun</name>
    <email>dinoboff@hotmail.com</email>
  </committer>
</commit>
