source: create_distribution.py @ 3919

Last change on this file since 3919 was 3902, checked in by ole, 18 years ago

Small fixes in release script

File size: 2.5 KB
Line 
1"""Create a distribution of ANUGA from latest revision
2
3   This script is assumed to be run in the root directory of anuga
4   from a working sandpit connected to svn
5
6   This script works only on Linux
7"""
8
9from os import sep, system, remove
10from tempfile import mktemp
11from sys import platform
12
13
14if platform == 'win32':
15    msg = 'This script is not written for Windows.'+\
16          'Please run it on a Unix platform'
17    raise Exception, msg
18
19
20# Define main version manually
21major_revision = '1.0'
22
23
24# Refresh sandit and retrieve minor revision number
25filename = mktemp() + '.txt'
26
27s = 'svn update > %s' %filename
28print s
29system(s)
30
31fid = open(filename)
32line = fid.read()
33remove(filename)
34
35if not line.startswith('At revision'):
36    msg = 'Unexpected output from svn up: %s' %line
37    raise Exception, msg   
38
39minor_revision = line[12:-2]
40
41revision = '%s_%s' %(major_revision, minor_revision)
42
43distro_filename = 'anuga-%s.tgz' %revision
44
45# Create area directory
46release_dir = '~/anuga_release_%s' %revision
47s = 'mkdir %s' %release_dir
48try:
49    system(s)
50except:
51    pass
52
53
54# Export a clean directory tree from the working copy
55distro_dir = mktemp()
56s = 'mkdir %s' %distro_dir
57print s
58system(s)
59
60s = 'svn export anuga_core/source/anuga %s/anuga' %(distro_dir) 
61print s
62system(s)
63
64# Zip it up
65s = 'cd %s;tar cvfz %s *' %(distro_dir, distro_filename)
66print s
67system(s)
68
69# Move distro to release area
70s = '/bin/mv %s/*.tgz %s' %(distro_dir, release_dir) 
71print s
72system(s)
73
74# Clean up
75s = '/bin/rm -rf %s/anuga' %(distro_dir) 
76print s
77system(s)
78
79
80#-----------------------------
81# Get validation_files as well
82
83s = 'mkdir %s/anuga_validation' %distro_dir
84system(s)
85
86s = 'svn export anuga_validation/okushiri_2005 %s/anuga_validation/okushiri'\
87    %(distro_dir) 
88print s
89system(s)
90
91# Other validations in here!!!
92
93# Zip it up
94s = 'cd %s;tar cvfz anuga_validation-%s.tgz *'\
95    %(distro_dir, revision)
96print s
97system(s)
98
99# Move distro to release area
100s = '/bin/mv %s/*.tgz %s' %(distro_dir, release_dir) 
101print s
102system(s)
103
104# Clean up
105s = '/bin/rm -rf %s/anuga_validation' %(distro_dir) 
106print s
107system(s)
108
109#-----------------------------
110# Copy anuga_viewer
111s = '/bin/cp ./anuga_core/source/anuga_viewer/distros/anuga_viewer_1.0.tgz %s'\
112    %(distro_dir)
113print s
114system(s)
115
116# Move distro to release area
117s = '/bin/mv %s/*.tgz %s' %(distro_dir, release_dir) 
118print s
119system(s)
120
121
122#-----------------------------
123print 'Done'
124print
125print
126print 'The release files are in %s:' %release_dir
127system('ls -la %s' %release_dir)
Note: See TracBrowser for help on using the repository browser.