This repository was archived by the owner on Dec 15, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.xml
More file actions
154 lines (139 loc) · 5.11 KB
/
build.xml
File metadata and controls
154 lines (139 loc) · 5.11 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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<?xml version="1.0" encoding="UTF-8"?>
<project name="mreg" basedir="." default="buildAll">
<property name="APP_NAME" value="httpio"/>
<property name="APP_ROOT" value="${project.basedir}"/>
<property name="SRC_DIR" value="${APP_ROOT}/src"/>
<property name="TEST_DIR" value="${APP_ROOT}/tests"/>
<property name="BUILD_DIR" value="${APP_ROOT}/build"/>
<property name="CODE_STANDARD" value="PSR2"/>
<fileset dir="${SRC_DIR}" id="filesetSource">
<include name="**/*.php"/>
</fileset>
<fileset dir="${TEST_DIR}" id="filesetTests">
<include name="**/*.php"/>
</fileset>
<target name="help">
<echo msg="${APP_NAME} automated build file"/>
<echo msg="======================================="/>
<echo msg="test run unittests"/>
<echo msg="sniff run php code sniffer"/>
<echo msg="phpcpd run php copy detector"/>
<echo msg="phpmd run php mess detector"/>
<echo msg="pdepend run php depend"/>
<echo msg="document generate api documentation"/>
</target>
<target name="buildAll" depends="test,sniff,phpcpd,phpmd,pdepend,document">
</target>
<target name="test" depends="install,createBuildDir">
<exec
command="phpunit --coverage-html ${BUILD_DIR}/test-coverage --coverage-text=${BUILD_DIR}/test-coverage.txt"
dir="${TEST_DIR}"
checkreturn="true"
passthru="true"
/>
</target>
<target name="sniff" depends="createBuildDir">
<phpcodesniffer
standard="${CODE_STANDARD}"
showWarnings="true"
encoding="utf8"
haltonerror="false"
haltonwarning="false"
docGenerator="HTML"
docFile="${BUILD_DIR}/phpcs/rules.html"
>
<fileset refid="filesetSource"/>
<fileset refid="filesetTests"/>
<formatter type="full" outfile="${BUILD_DIR}/phpcs/sniff.txt"/>
<formatter type="summary" usefile="false"/>
</phpcodesniffer>
</target>
<target name="phpcpd" depends="createBuildDir">
<phpcpd>
<fileset refid="filesetSource"/>
<fileset refid="filesetTests"/>
<formatter type="default" outfile="${BUILD_DIR}/phpcpd.txt"/>
</phpcpd>
</target>
<target name="phpmd" depends="createBuildDir">
<phpmd>
<fileset refid="filesetSource"/>
<fileset refid="filesetTests"/>
<formatter type="html" outfile="${BUILD_DIR}/phpmd.html"/>
</phpmd>
</target>
<target name="pdepend" depends="createBuildDir">
<phpdepend>
<fileset refid="filesetSource"/>
<logger type="jdepend-chart" outfile="${BUILD_DIR}/pdepend/jdepend.svg"/>
<logger type="overview-pyramid" outfile="${BUILD_DIR}/pdepend/pyramid.svg"/>
<logger type="summary-xml" outfile="${BUILD_DIR}/pdepend/summary.xml"/>
</phpdepend>
</target>
<target name="document" depends="createBuildDir">
<exec
command="phpdoc --title ${APP_NAME} -d ${SRC_DIR} -t ${BUILD_DIR}/apidocs"
dir="${APP_ROOT}"
passthru="true"
/>
<exec
command="chmod -R 777 apidocs"
dir="${BUILD_DIR}"
/>
</target>
<target name="createBuildDir">
<mkdir dir="${BUILD_DIR}"/>
<mkdir dir="${BUILD_DIR}/phpcs"/>
<mkdir dir="${BUILD_DIR}/pdepend"/>
</target>
<target name="update" depends="install">
<echo msg="Updating composer.phar..."/>
<exec
command="php composer.phar self-update"
dir="${APP_ROOT}"
checkreturn="true"
passthru="true"
/>
<echo msg="Updating dependencies using composer..."/>
<exec
command="php composer.phar update"
dir="${APP_ROOT}"
checkreturn="true"
passthru="true"
/>
</target>
<target name="install" depends="getcomposer">
<if>
<available file="${APP_ROOT}/vendor"/>
<then>
<echo msg="Dependencies installed in vendor directory"/>
</then>
<else>
<echo msg="Downloading dependencies using composer..."/>
<exec
command="php composer.phar install --dev"
dir="${APP_ROOT}"
checkreturn="true"
passthru="true"
/>
</else>
</if>
</target>
<target name="getcomposer">
<if>
<available file="${APP_ROOT}/composer.phar"/>
<then>
<echo msg="Composer.phar installed"/>
</then>
<else>
<echo msg="Downloading composer.phar..."/>
<exec
command="curl -s http://getcomposer.org/installer | php"
dir="${APP_ROOT}"
checkreturn="true"
passthru="true"
/>
</else>
</if>
</target>
</project>