1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
#!/usr/bin/env python
"""IPython release build script.
"""
import os
from toollib import *
# The windows builds are fairly painful to set up on a posix system via wine,
# so by default we've disabled them and we just build the windows installers
# separately in a true Windows VM.
do_windows = False
# Egg building is also disabled by default. They serve no real purpose in
# python2, and getting a setupegg.py file that has valid python2/3 syntax is a
# pain in the ass. Since the python devs were too stubborn to leave execfile()
# in place in python3, then we just don't build eggs.
do_eggs = False
# 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(sdists)
# Build eggs
if do_eggs:
sh(eggs)
if do_windows:
map(sh, win_builds)
# Change name so retarded Vista runs the installer correctly
sh("rename 's/linux-i686/win32/' dist/*.exe")
sh("rename 's/linux-x86_64/win32/' dist/*.exe")
# exe files aren't really executable under *nix.
sh("chmod -x dist/*.exe")
|