forked from ovh/php-ovh
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.xml
114 lines (110 loc) · 4.33 KB
/
build.xml
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
108
109
110
111
112
113
114
<?xml version="1.0"?>
<project name="ovh/ovh" default="all">
<property name="base" value="${project.basedir}/" />
<property environment="env" />
<if>
<available file="${base}build.properties" property="" />
<then>
<property file="${base}build.properties" override="true" />
</then>
</if>
<!--##########################################################################################################-->
<target name="help">
<echo message="${phing.project.name} on [${git.branch}]" />
<echo message=" Available commands are:" />
<echo message=" test -> Run unit tests" />
<echo message=" clean -> Clean current environment" />
<echo message=" server -> Launch PHP built-in server" />
<echo message=" watch -> Run precommit task on every file changed" />
<echo message=" precommit -> Source code validation before commit" />
<echo message=" Specific tools tasks:" />
<echo message=" phpcs -> Run PHP Code Sniffer" />
<echo message=" phplint -> Run PHP Lint" />
<echo message=" phpdocs -> Run PHP Documentor" />
<echo message=" phpunit -> Run PHPUnit" />
</target>
<!--##########################################################################################################-->
<target name="test" description="Run unit tests">
<phingcall target="phpunit" />
</target>
<target name="clean" description="Clean current environment">
<delete dir="docs" includeemptydirs="true" verbose="true" failonerror="true" />
</target>
<target name="precommit" description="Source code validation before commit">
<phingcall target="phplint" />
<phingcall target="phpcs" />
<phingcall target="phpunit" />
</target>
<target name="all" description="Make a full integration check">
<phingcall target="phplint" />
<phingcall target="phpcs" />
<phingcall target="phpunit" />
<phingcall target="phpdocs" />
</target>
<!--##########################################################################################################-->
<target name="phpcs" description="Run PHP Code Sniffer">
<phpcodesniffer
standard="PSR2"
format="summary"
>
<fileset dir=".">
<include name="src/**/*.php"/>
<include name="test/**/*.php"/>
</fileset>
</phpcodesniffer>
</target>
<target name="phpcbf" description="Run PHP Code Sniffer">
<exec command="vendor/bin/phpcbf --standard=PSR2 src" logoutput="true" />
</target>
<target name="phplint" description="Run PHP Lint">
<phplint deprecatedAsError="true">
<fileset dir=".">
<include name="src/**/*.php"/>
<include name="test/**/*.php"/>
</fileset>
</phplint>
</target>
<target name="phpdocs" description="Run PHP Documentor" depends="clean">
<if>
<not><available file="docs" /></not>
<then>
<mkdir dir="docs" />
</then>
</if>
<phpdoc2 destdir="docs">
<fileset dir="src">
<include name="**/*.php" />
</fileset>
</phpdoc2>
</target>
<target name="phpunit" description="Run PHPUnit">
<if>
<and>
<isset property="only.units" />
<equals arg1="${only.units}" arg2="true" />
</and>
<then>
<fileset dir="tests" id="tests">
<include name="ApiTest.php"/>
</fileset>
</then>
<else>
<fileset dir="tests" id="tests">
<include name="**/*.php"/>
</fileset>
</else>
</if>
<phpunit
haltonfailure="true"
haltonerror="true"
bootstrap="tests/bootstrap.php"
printsummary="true"
>
<formatter type="plain" usefile="false"/>
<batchtest>
<fileset refid="tests" />
</batchtest>
</phpunit>
</target>
<!--##########################################################################################################-->
</project>