#!/usr/bin/env python
"""nibabel release script.

This should only be run at real release time.
"""

from toollib import *

# Get main nibabel dir, this will raise if it doesn't pass some checks
nibdir = get_nibdir()
tooldir = pjoin(nibdir,'tools')
distdir = pjoin(nibdir,'dist')
#### Where I keep static backups of each release
###nibbackupdir = os.path.expanduser('~/nibabel/backup')

# Start in main nibabel dir
cd(nibdir)

# Load release info
execfile(pjoin('nibabel','info.py'))

print
print "Releasing nibabel"
print "================="
print
print 'Source nibabel directory:', nibdir
print

# Perform local backup, go to tools dir to run it.
cd(tooldir)
# c('./make_tarball.py')
# c('mv nibabel-*.tgz %s' % nibbackupdir)

# Build release files
c('./build_release %s' % nibdir)

# Register with the Python Package Index (PyPI)
print "Registering with PyPI..."
cd(nibdir)
c('./setup.py register')

# Upload all files
c('./setup.py sdist --formats=gztar,zip upload')
cd(distdir)
#print "Uploading distribution files..."
#c('scp * nibabel@nibabel.scipy.org:www/dist/')

# print "Uploading backup files..."
# cd(nibbackupdir)
# c('scp `ls -1tr *tgz | tail -1` nibabel@nibabel.scipy.org:www/backup/')

print "Done!"
