forked from ipython/ipython
-
Notifications
You must be signed in to change notification settings - Fork 1
/
build_release
executable file
·49 lines (38 loc) · 1.36 KB
/
build_release
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")