Commit | Line | Data |
---|---|---|
6a1aa64f DV |
1 | #!/usr/bin/env python |
2 | # | |
3 | # custom_rhino.jar from: | |
4 | # http://dojotoolkit.org/svn/dojo/buildscripts/lib/custom_rhino.jar | |
5 | # | |
6 | import os | |
7 | import re | |
8 | import sys | |
9 | import shutil | |
10 | import subprocess | |
11 | mk = file('MochiKit/MochiKit.js').read() | |
12 | if len(sys.argv) > 1: | |
13 | outf = sys.stdout | |
14 | else: | |
15 | outf = file('packed/MochiKit/MochiKit.js', 'w') | |
16 | VERSION = re.search( | |
17 | r"""(?mxs)MochiKit.MochiKit.VERSION\s*=\s*['"]([^'"]+)""", | |
18 | mk | |
19 | ).group(1) | |
20 | if len(sys.argv) > 1: | |
21 | SUBMODULES = sys.argv[1:] | |
22 | else: | |
23 | SUBMODULES = map(str.strip, re.search( | |
24 | r"""(?mxs)MochiKit.MochiKit.SUBMODULES\s*=\s*\[([^\]]+)""", | |
25 | mk | |
26 | ).group(1).replace(' ', '').replace('"', '').split(',')) | |
27 | SUBMODULES.append('MochiKit') | |
28 | alltext = '\n'.join( | |
29 | [file('MochiKit/%s.js' % m).read() for m in SUBMODULES]) | |
30 | ||
31 | tf = file('packed/_scratch.js', 'w') | |
32 | tf.write(alltext) | |
33 | tf.flush() | |
34 | p = subprocess.Popen( | |
35 | ['java', '-jar', 'scripts/custom_rhino.jar', '-c', tf.name], | |
36 | stdout=subprocess.PIPE, | |
37 | ) | |
38 | print >>outf, """/*** | |
39 | ||
40 | MochiKit.MochiKit %(VERSION)s : PACKED VERSION | |
41 | ||
42 | THIS FILE IS AUTOMATICALLY GENERATED. If creating patches, please | |
43 | diff against the source tree, not this file. | |
44 | ||
45 | See <http://mochikit.com/> for documentation, downloads, license, etc. | |
46 | ||
47 | (c) 2005 Bob Ippolito. All rights Reserved. | |
48 | ||
49 | ***/ | |
50 | """ % locals() | |
51 | shutil.copyfileobj(p.stdout, outf) | |
52 | outf.write('\n') | |
53 | outf.flush() | |
54 | outf.close() | |
55 | tf.close() | |
56 | os.remove(tf.name) |