1 |
# Extensions to Scons |
2 |
|
3 |
import py_compile |
4 |
import sys |
5 |
import os |
6 |
|
7 |
# Code to build .pyc from .py |
8 |
def build_py(target, source, env): |
9 |
py_compile.compile(str(source[0]), str(target[0])) |
10 |
return None |
11 |
|
12 |
# Code to run unit_test executables |
13 |
def runUnitTest(target, source, env): |
14 |
app = str(source[0].abspath) |
15 |
if not os.system(app): |
16 |
open(str(target[0]),'w').write("PASSED\n") |
17 |
else: |
18 |
return 1 |
19 |
return None |
20 |
|
21 |
# code to build epydoc docs |
22 |
def build_epydoc(target, source, env): |
23 |
# get where I am currently, just as a reference |
24 |
pwd = os.getcwd() |
25 |
|
26 |
# get the full path of the runepydoc script |
27 |
runepydoc = str(source[0].abspath) |
28 |
|
29 |
# use this path to work out where the doc directory is |
30 |
dirs = runepydoc.split('/') |
31 |
dirs = dirs[:-3] # trim the last two entries: this is now the doc dir path |
32 |
docdir = '/'.join(dirs) # this is the backwards python way to do it |
33 |
# (I'm feeling in a perl mood today...) |
34 |
|
35 |
# change into the relevant dir |
36 |
os.chdir(docdir) |
37 |
|
38 |
# determine which epydoc executable to use |
39 |
|
40 |
# run the epydoc script |
41 |
if not os.system(runepydoc): |
42 |
os.chdir(pwd) |
43 |
open(str(target[0]), 'w').write("Documentation built\n") |
44 |
else: |
45 |
return 1 |
46 |
return None |
47 |
|
48 |
# build doxygen docs |
49 |
def build_doxygen(target, source, env): |
50 |
# get where I am currently, just as a reference |
51 |
pwd = os.getcwd() |
52 |
|
53 |
# get the full path of the rundoxygen script |
54 |
rundoxygen = str(source[0].abspath) |
55 |
|
56 |
# use this path to work out where the doc directory is |
57 |
dirs = rundoxygen.split('/') |
58 |
dirs = dirs[:-2] # trim the last two entries: this is now the doc dir path |
59 |
docdir = '/'.join(dirs) # this is the backwards python way to do it |
60 |
# (I'm feeling in a perl mood today...) |
61 |
|
62 |
# change into the relevant dir |
63 |
os.chdir(docdir) |
64 |
|
65 |
# determine which doxygen executable to use |
66 |
|
67 |
# run the doxygen script |
68 |
if not os.system(rundoxygen): |
69 |
os.chdir(pwd) |
70 |
open(str(target[0]), 'w').write("Documentation built\n") |
71 |
else: |
72 |
return 1 |
73 |
return None |