c9c5c916f5e2b6beb044d6cd1f5b6ab166d48f10
2 execfile('scripts/make_docs.py')
3 execfile('scripts/pack.py')
9 def json_encode(o
, indent
=0):
10 if isinstance(o
, dict):
16 for key
, value
in o
.iteritems():
21 yield ' ' * (indent
+ 4)
22 assert isinstance(key
, (basestring
, float, int, long))
23 for chunk
in json_encode(key
):
26 for chunk
in json_encode(value
, indent
+ 4):
28 yield '\n' + (' ' * indent
) + '}'
29 elif isinstance(o
, list):
40 yield ' ' * (indent
+ 4)
41 for chunk
in json_encode(value
, indent
+ 4):
43 yield '\n' + (' ' * indent
) + ']'
44 elif isinstance(o
, basestring
):
45 yield '"' + o
.replace('\\', '\\\\').replace('"', '\\"') + '"'
46 elif isinstance(o
, (float, int, long)):
49 raise NotImplementedError
51 r
"""(?mxs)MochiKit.MochiKit.VERSION\s*=\s*['"]([^'"]+)""",
52 file('MochiKit/MochiKit.js').read()
56 author
=['Bob Ippolito <bob@redivi.com>'],
57 abstract
='Python-inspired JavaScript kit',
60 build_requires
={'Test.Simple': '0.11'},
61 recommends
={'JSAN': '0.10'},
63 generated_by
="MochiKit's build script",
65 FILES
= glob
.glob('lib/MochiKit/*.js')
67 modname
= os
.path
.splitext(os
.path
.basename(fn
))[0]
68 META
['provides'][modname
] = dict(file=fn
, version
=VERSION
)
69 if not os
.path
.exists('dist'):
72 pkg
= '%(name)s-%(version)s' % META
74 os
.path
.join('dist', pkg
) + '.zip',
78 MANIFEST
= ['Changes', 'META.json', 'MANIFEST\t\t\tThis list of files']
79 z
.writestr(os
.path
.join(pkg
, 'META.json'), ''.join(json_encode(META
)))
81 os
.path
.join('doc', 'rst', 'MochiKit', 'VersionHistory.rst'),
82 os
.path
.join(pkg
, 'Changes')
85 IGNOREDIRS
= ['.svn', 'dist', 'scripts']
86 src
= os
.path
.join('.', '')
87 dst
= os
.path
.join(pkg
, '')
89 for root
, dirs
, files
in os
.walk(src
):
94 if fn
.startswith('.'):
96 fn
= os
.path
.join(root
, fn
)
99 if mfn
.startswith('MochiKit/'):
101 dstfn
= os
.path
.join(dst
, mfn
)
102 if os
.path
.splitext(fn
)[1] == '.html':
104 s
= s
.replace('/MochiKit/', '/lib/MochiKit/')
106 "JSAN.addRepository('..');",
107 'JSAN.addRepository("../lib");',
113 z
.writestr(os
.path
.join(pkg
, 'MANIFEST'), '\n'.join(MANIFEST
+ ['']))