Initial check-in
[dygraphs.git] / mochikit_v14 / scripts / pack.py
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)