forked from phpv8/v8js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Commandfile
72 lines (63 loc) · 2.17 KB
/
Commandfile
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
#
# Vagrant Commandfile
# (use with vagrant-devcommands plugin)
#
command 'phpize',
description: 'executes "phpize" to configure source tree for installed PHP version',
script: 'cd /data/v8js && phpize'
command 'configure',
description: 'executes "configure" to prepare build',
parameters: {
cxxflags: { default: "-ggdb -Wall -Wno-write-strings" },
ldflags: { default: "-ggdb -lstdc++" },
},
script: <<-eof
bash -c 'cd /data/build; ../v8js/configure `bash -c "if test -d /opt/libv8-*; then echo -n --with-v8js=; echo /opt/libv8-*; fi"` `test -d "/usr/lib64" && echo --with-libdir=lib64` CXXFLAGS="%{cxxflags}" LDFLAGS="%{ldflags}"'
eof
command 'clean',
description: 'executes "make clean"',
script: <<-eof
cd /data/build; `which gmake || which make` clean; rm -rf /data/v8js/coverage_report /data/build/gcov.info
eof
command 'build',
description: 'executes "make"',
script: <<-eof
cd /data/build; `which gmake || which make` -j4
eof
command 'test',
description: 'executes "make test"',
parameters: {
tests: { wrap: "TESTS=tests/%s", optional: true },
},
script: <<-eof
cd /data/build; `which gmake || which make` test %{tests} NO_INTERACTION=1 REPORT_EXIT_STATUS=1
eof
command 'shell',
description: 'execute a PHP CLI interactive shell with V8Js loaded',
script: <<-eof
cd /data/build; php -a -d extension=modules/v8js.so
eof
chain 'all',
commands: [
{ command: 'phpize' },
{ command: 'configure' },
{ command: 'clean' },
{ command: 'build' },
{ command: 'test' }
]
command 'coverage_report',
description: 'capture *.gcda files and generate code coverage report',
script: <<-eof
cd /data/build
lcov --base-directory=.libs --directory=.libs --directory ../v8js/ --no-external --capture --output-file gcov.info
genhtml --legend --output-directory ../v8js/coverage_report/ --title "V8Js Code Coverage" gcov.info
eof
chain 'coverage',
commands: [
{ command: 'phpize' },
{ command: 'configure', argv: ['--cxxflags=-O0 --coverage', '--ldflags=--coverage'] },
{ command: 'clean' },
{ command: 'build' },
{ command: 'test' },
{ command: 'coverage_report' },
]