#!/usr/bin/env python
"""IPython release build script.
"""
from toollib import *

# Get main ipython dir, this will raise if it doesn't pass some checks
ipdir = get_ipdir()
cd(ipdir)

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

# Check that everything compiles
compile_tree()

# Cleanup
for d in ['build','dist',pjoin('docs','build'),pjoin('docs','dist'),
          pjoin('docs','source','api','generated')]:
    if os.path.isdir(d):
        remove_tree(d)

# Build source and binary distros
sh('./setup.py sdist --formats=gztar,zip')

# Build eggs
sh('python2.6 ./setupegg.py bdist_egg')

# Call the windows build separately, so that the extra Windows scripts don't
# get pulled into Unix builds (setup.py has code which checks for
# bdist_wininst)
sh("python setup.py bdist_wininst --install-script=ipython_win_post_install.py")

# Change name so retarded Vista runs the installer correctly
sh("rename 's/linux-i686/win32-setup/' dist/*.exe")
sh("rename 's/linux-x86_64/win32-setup/' dist/*.exe")
