merge
[dygraphs.git] / mochikit_v14 / scripts / pack.py
CommitLineData
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#
6import os
7import re
8import sys
9import shutil
10import subprocess
11mk = file('MochiKit/MochiKit.js').read()
12if len(sys.argv) > 1:
13 outf = sys.stdout
14else:
15 outf = file('packed/MochiKit/MochiKit.js', 'w')
16VERSION = re.search(
17 r"""(?mxs)MochiKit.MochiKit.VERSION\s*=\s*['"]([^'"]+)""",
18 mk
19).group(1)
20if len(sys.argv) > 1:
21 SUBMODULES = sys.argv[1:]
22else:
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')
28alltext = '\n'.join(
29 [file('MochiKit/%s.js' % m).read() for m in SUBMODULES])
30
31tf = file('packed/_scratch.js', 'w')
32tf.write(alltext)
33tf.flush()
34p = subprocess.Popen(
35 ['java', '-jar', 'scripts/custom_rhino.jar', '-c', tf.name],
36 stdout=subprocess.PIPE,
37)
38print >>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()
51shutil.copyfileobj(p.stdout, outf)
52outf.write('\n')
53outf.flush()
54outf.close()
55tf.close()
56os.remove(tf.name)