This repository was archived by the owner on Jun 16, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsconstruct
More file actions
90 lines (64 loc) · 3.76 KB
/
sconstruct
File metadata and controls
90 lines (64 loc) · 3.76 KB
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
"""
Construction script, see http://www.scons.org
"""
import yaml
def execute():
""" Create all rules """
env = Environment()
output_dir = './output'
translations_dir = './translations'
# program = env.Program('test', 'TestMain.cpp')
# Command("test.passed",'test',runUnitTest)
# test = Builder(action='py.test && date > $TARGET')
# env['BUILDERS']['test'] = test
create_svg = Builder(action='dot -Tsvg $SOURCE > $TARGET',
suffix='.svg',
src_suffix='.dot')
env['BUILDERS']['create_svg'] = create_svg
update_yml = Builder(action='./fill_yaml_file.py $SOURCE $TARGET -v')
env['BUILDERS']['update_yml'] = update_yml
create_dot = Builder(action='./xml_to_graphviz.py $SOURCES $TARGET -v -l')
env['BUILDERS']['create_dot'] = create_dot
create_official_dot = Builder(action='./xml_to_graphviz.py $SOURCES $TARGET -v -oo -l')
env['BUILDERS']['create_official_dot'] = create_official_dot
create_lists_by_name = Builder(action='./xml_to_html_list.py $SOURCES $TARGET -v -sn -l')
env['BUILDERS']['create_lists_by_name'] = create_lists_by_name
create_lists_by_date = Builder(action='./xml_to_html_list.py $SOURCES $TARGET -v -sd -l')
env['BUILDERS']['create_lists_by_date'] = create_lists_by_date
create_official_lists_by_name = Builder(action='./xml_to_html_list.py $SOURCES $TARGET -v -oo -sn -l')
env['BUILDERS']['create_official_lists_by_name'] = create_official_lists_by_name
create_official_lists_by_date = Builder(action='./xml_to_html_list.py $SOURCES $TARGET -v -oo -sd -l')
env['BUILDERS']['create_official_lists_by_date'] = create_official_lists_by_date
with open('languages.yml', 'rb') as lang_file:
languages = yaml.safe_load(lang_file)
lang_files = []
dot_files = {}
dot_official_files = {}
lang_targets = {}
yml_translations_targets = {}
for lang in languages:
lang_file = translations_dir + '/' + lang + '.yml'
lang_files += lang_file
lang_targets[lang] = []
yml_translations_targets[lang] = env.update_yml(lang_file, 'ci.xml')
lang_targets[lang] += yml_translations_targets[lang]
dot_files[lang] = env.create_dot(output_dir + '/ci-' + lang + '.dot',
['ci.xml', 'ci-utility.xml', lang_file])
dot_official_files[lang] = env.create_official_dot(output_dir + '/ci-official-' + lang + '.dot',
['ci.xml', 'ci-utility.xml', lang_file])
lang_targets[lang] += env.create_lists_by_name(output_dir + '/ci-' + lang + '-by-name.html',
['ci.xml', lang_file])
lang_targets[lang] += env.create_lists_by_date(output_dir + '/ci-' + lang + '-by-date.html',
['ci.xml', lang_file])
lang_targets[lang] += env.create_official_lists_by_name(output_dir + '/ci-official-' + lang + '-by-name.html',
['ci.xml', lang_file])
lang_targets[lang] += env.create_official_lists_by_date(output_dir + '/ci-official-' + lang + '-by-date.html',
['ci.xml', lang_file])
lang_targets[lang] += env.create_svg(dot_files[lang])
lang_targets[lang] += env.create_svg(dot_official_files[lang])
env.Alias(lang, lang_targets[lang])
# env.test('tests_successful', )
env.Alias('update_yml', lang_files)
env.Precious(list(yml_translations_targets.values()))
env.NoClean(list(yml_translations_targets.values()))
execute()