-
Notifications
You must be signed in to change notification settings - Fork 390
/
SConscript
96 lines (80 loc) · 3.42 KB
/
SConscript
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
# -*- mode: python; -*-
#
# Copyright (c) 2014 Juniper Networks, Inc. All rights reserved.
#
import os
Import('CfgmEnv')
env = CfgmEnv.Clone()
setup_sources = [
'setup.py',
'MANIFEST.in',
'run_tests.sh',
'requirements.txt',
'test-requirements.txt',
'.testr.conf',
'.coveragerc',
'test',
]
setup_sources_rules = []
for file in setup_sources:
setup_sources_rules.append(
env.Install(Dir('.'), "#controller/src/config/device-manager/" + file))
local_sources = [
'device_manager/__init__.py',
'device_manager/device_manager.py',
'device_manager/db.py',
'device_manager/physical_router_config.py',
]
local_sources_rules = []
for file in local_sources:
local_sources_rules.append(
env.Install("device_manager",
"#controller/src/config/device-manager/" + file))
dm_introspect_pkg = env.SandeshGenPy('dm_introspect.sandesh',
'device_manager/sandesh/', False)
cd_cmd = 'cd ' + Dir('.').path + ' && '
sdist_depends = []
sdist_depends.extend(setup_sources_rules)
sdist_depends.extend(local_sources_rules)
sdist_depends.extend(dm_introspect_pkg)
sdist_gen = env.Command('dist/device_manager-0.1dev.tar.gz', 'setup.py', cd_cmd + 'python setup.py sdist')
env.Depends(sdist_gen, sdist_depends)
env.Default(sdist_gen)
if 'install' in BUILD_TARGETS:
install_cmd = env.Command(None, 'setup.py',
cd_cmd + 'python setup.py install %s' %
env['PYTHON_INSTALL_OPT'])
env.Depends(install_cmd, sdist_depends)
env.Alias('install', install_cmd)
env.Alias('install', env.Install(env['INSTALL_CONF'],
'contrail-device-manager.conf'))
env.Alias('install', env.InstallAs(env['INSTALL_INITD'] +
'/contrail-device-manager', 'contrail-device-manager.initd.supervisord'))
env.Alias('install', env.Install(env['INSTALL_CONF'] +
'/supervisord_config_files', 'contrail-device-manager.ini'))
buildspace_link = os.environ.get('CONTRAIL_REPO')
if buildspace_link:
# in CI environment shebang limit exceeds for python
# in easy_install/pip, reach to it via symlink
top_path = buildspace_link + '/' + Dir('.').path
top_dir = Dir(top_path)
else:
top_dir = Dir('.')
cov_cmd = env.Command('coveragetest.log', sdist_gen,
'cd ' + Dir(top_dir).path + ' && python setup.py run_tests --coverage 2>&1 | tee coveragetest.log')
test_cmd = env.Command('test.log', sdist_gen,
'cd ' + Dir(top_dir).path + ' && python setup.py run_tests 2>&1 | tee test.log')
test_depends = ['/config/common/dist/cfgm_common-0.1dev.tar.gz',
'/api-lib/dist/vnc_api-0.1dev.tar.gz',
'/discovery/client/dist/discoveryclient-0.1dev.tar.gz',
'/tools/sandesh/library/python/dist/sandesh-0.1dev.tar.gz',
'/sandesh/common/dist/sandesh-common-0.1dev.tar.gz',
'/config/api-server/dist/vnc_cfg_api_server-0.1dev.tar.gz',
'/config/schema-transformer/dist/schema_transformer-0.1dev.tar.gz',
]
env.Depends(test_cmd, [env['TOP']+x for x in test_depends])
env.Depends(cov_cmd, [env['TOP']+x for x in test_depends])
env.Alias('flaky-test', test_cmd)
env.Alias('coverage', cov_cmd)
env.Alias('controller/src/config/device-manager:flaky-test', test_cmd)
env.Alias('controller/src/config/device-manager:coverage', cov_cmd)