diff options
author | David Cournapeau <cournape@gmail.com> | 2009-03-27 11:14:17 +0000 |
---|---|---|
committer | David Cournapeau <cournape@gmail.com> | 2009-03-27 11:14:17 +0000 |
commit | 874a4055ec84ea9886abc4252fe994c9cf5ac168 (patch) | |
tree | 11197189bc4684c06095c60848622b0385571b1d /pavement.py | |
parent | 94b57c787a4438d8b58e8b600b6295931983a5b5 (diff) | |
download | numpy-874a4055ec84ea9886abc4252fe994c9cf5ac168.tar.gz |
Start a paver file to help for release purpose.
Diffstat (limited to 'pavement.py')
-rw-r--r-- | pavement.py | 70 |
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() |