#!/usr/bin/env python
"""IPython release build script.
"""
import os
from shutil import rmtree

from toollib import sh, pjoin, get_ipdir, cd, compile_tree, execfile, sdists, buildwheels

def build_release():

    # 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'), globals())

    # 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):
            rmtree(d)

    # Build source and binary distros
    sh(sdists)
    buildwheels()

if __name__ == '__main__':
    build_release()