##// END OF EJS Templates
Simplify StreamCapturer for subprocess testing...
Simplify StreamCapturer for subprocess testing Rather than using a transient pipe for each subprocess started, the StreamCapturer now makes a single pipe, and subprocesses redirect their output to it. So long as this works on Windows (I've done brief testing, and os.pipe() seems to be functional), this will hopefully make this much more robust. The recent failures in ShiningPanda on IPython.parallel have been caused by StreamCapturer.

File last commit:

r7751:e4342173
r13405:4ad2c011
Show More
build_release
49 lines | 1.4 KiB | text/plain | TextLexer
#!/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")