/
run_bootstrap_first_then_setup.py
108 lines (87 loc) · 3.07 KB
/
run_bootstrap_first_then_setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# Copyright (c) 2007-2008 The PyAMF Project.
# See LICENSE for details.
#from ez_setup import use_setuptools
#use_setuptools()
import glob
from distutils.core import setup , run_setup
#from setuptools import setup, find_packages
#from setuptools.command import test
#from setuptools.command.install import install
import sys
import os
keyw = """\
"""
datadir = os.path.join("share", "pyjamas")
bp_data_files = glob.glob(os.path.join("builder", "boilerplate", "*"))
test_files = glob.glob(os.path.join("pyjs", "tests", "*"))
stub_files = glob.glob(os.path.join("stubs", "*"))
addons_data_files = glob.glob(os.path.join("addons", "*.py"))
data_files = [
(os.path.join(datadir, "builder", "boilerplate"), bp_data_files),
(os.path.join(datadir, "pyjs", "tests"), test_files),
(os.path.join(datadir, "stubs"), stub_files),
(os.path.join(datadir, "addons"), addons_data_files)
]
# main purpose of this function is to exclude "output" which
# could have been built by a developer.
def get_files(d):
res = []
for p in glob.glob(os.path.join(d, "*")):
if not p:
continue
(pth, fname) = os.path.split(p)
if fname == "output":
continue
if fname[-4:] == ".pyc": # ehmm.. noooo.
continue
if os.path.isdir(p):
get_dir(p)
else:
res.append(p)
return res
def get_dir(dirname):
for d in glob.glob("%s/*" % dirname):
if os.path.isdir(d):
(pth, fname) = os.path.split(d)
expath = get_files(d)
pth = os.path.join(os.path.join(datadir, dirname), fname)
data_files.append((pth, expath))
else:
data_files.append((os.path.join(datadir, dirname), [d]))
# recursively grab the library and the examples subdirectories - all contents
get_dir("library")
get_dir("examples")
# likewise pyjs/src/pyjs
get_dir(os.path.join("pyjs", "src", "pyjs"))
#from pprint import pprint
#pprint(data_files)
import distutils.core
print dir(distutils.core)
if __name__ == '__main__':
print >> sys.stderr, """
Have you run bootstrap.py to create bin/pyjsbuild
and bin/pyjscompile?
e.g. on Unix systems:
python bootstrap.py /usr/share/pyjamas /usr
"""
setup(name = "Pyjamas",
version = "0.6pre2",
description = "Pyjamas Widget API for Web applications, in Python",
long_description = open('README', 'rt').read(),
url = "http://pyjs.org",
author = "The Pyjamas Project",
author_email = "lkcl@lkcl.net",
keywords = keyw,
packages=["pyjs", "pyjd"],
#scripts = ["bin/pyjsbuild", "bin/pyjscompile"],
data_files = data_files,
license = "Apache Software License",
platforms = ["any"],
classifiers = [
"Development Status :: 5 - Production/Stable",
"Natural Language :: English",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Programming Language :: Python"
])