summaryrefslogtreecommitdiff
path: root/pavement.py
diff options
context:
space:
mode:
authorDavid Cournapeau <cournape@gmail.com>2009-03-27 11:14:17 +0000
committerDavid Cournapeau <cournape@gmail.com>2009-03-27 11:14:17 +0000
commit874a4055ec84ea9886abc4252fe994c9cf5ac168 (patch)
tree11197189bc4684c06095c60848622b0385571b1d /pavement.py
parent94b57c787a4438d8b58e8b600b6295931983a5b5 (diff)
downloadnumpy-874a4055ec84ea9886abc4252fe994c9cf5ac168.tar.gz
Start a paver file to help for release purpose.
Diffstat (limited to 'pavement.py')
-rw-r--r--pavement.py70
1 files changed, 70 insertions, 0 deletions
diff --git a/pavement.py b/pavement.py
new file mode 100644
index 000000000..a671ade1a
--- /dev/null
+++ b/pavement.py
@@ -0,0 +1,70 @@
+import os
+import subprocess
+try:
+ from hash import md5
+except ImportError:
+ import md5
+
+import sphinx
+
+import distutils
+import numpy.distutils
+
+try:
+ from paver.tasks import VERSION as _PVER
+ if not _PVER >= '1.0':
+ raise RuntimeError("paver version >= 1.0 required (was %s)" % _PVER)
+except ImportError, e:
+ raise RuntimeError("paver version >= 1.0 required")
+
+import paver
+import paver.doctools
+import paver.path
+from paver.easy import options, Bunch, task, needs, dry, sh, call_task
+from paver.setuputils import setup
+
+# NOTES/Changelog stuff
+RELEASE = 'doc/release/1.3.0-notes.rst'
+LOG_START = 'tags/1.2.0'
+LOG_END = 'master'
+
+def compute_md5():
+ released = paver.path.path('installers').listdir()
+ checksums = []
+ for f in released:
+ m = md5.md5(open(f, 'r').read())
+ checksums.append('%s %s' % (m.hexdigest(), f))
+
+ return checksums
+
+def write_release_task(filename='NOTES.txt'):
+ source = paver.path.path(RELEASE)
+ target = paver.path.path(filename)
+ if target.exists():
+ target.remove()
+ source.copy(target)
+ ftarget = open(str(target), 'a')
+ ftarget.writelines("""
+Checksums
+=========
+
+""")
+ ftarget.writelines(['%s\n' % c for c in compute_md5()])
+
+def write_log_task(filename='Changelog'):
+ st = subprocess.Popen(
+ ['git', 'svn', 'log', '%s..%s' % (LOG_START, LOG_END)],
+ stdout=subprocess.PIPE)
+
+ out = st.communicate()[0]
+ a = open(filename, 'w')
+ a.writelines(out)
+ a.close()
+
+@task
+def write_release():
+ write_release_task()
+
+@task
+def write_log():
+ write_log_task()