This repository has been archived by the owner on Jul 25, 2023. It is now read-only.
forked from juliensnz/symfony2-bootstrap
/
build.xml
91 lines (84 loc) · 4.32 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
<?xml version="1.0" encoding="UTF-8"?>
<project name="YOURAPPNAME" default="ci" basedir="">
<property name="source" value="src" />
<target name="main"
description="Tâche principale d'intégration continue"
depends="clean,qa"
/>
<target name="clean" description="Vide les répertoires d'artefacts">
<delete dir="${project.basedir}/tools/jenkins/builds/api" />
<delete dir="${project.basedir}/tools/jenkins/builds/code-browser" />
<delete dir="${project.basedir}/tools/jenkins/builds/coverage" />
<delete dir="${project.basedir}/tools/jenkins/builds/logs" />
<delete dir="${project.basedir}/tools/jenkins/builds/pdepend" />
<mkdir dir="${project.basedir}/tools/jenkins/builds/api" />
<mkdir dir="${project.basedir}/tools/jenkins/builds/code-browser" />
<mkdir dir="${project.basedir}/tools/jenkins/builds/coverage" />
<mkdir dir="${project.basedir}/tools/jenkins/builds/logs" />
<mkdir dir="${project.basedir}/tools/jenkins/builds/pdepend" />
</target>
<target name="qa" description="Lance les outils d'analyse">
<phingcall target="pdepend" />
<phingcall target="phpmd" />
<phingcall target="phpcpd" />
<phingcall target="phploc" />
<phingcall target="phpcs" />
<phingcall target="phpdoc" />
<phingcall target="phpcb" />
<phingcall target="phpunit" />
</target>
<target name="pdepend">
<phpdepend file="${project.basedir}/${source}">
<logger type="jdepend-xml" outfile="${project.basedir}/tools/jenkins/builds/logs/jdepend.xml" />
<logger type="jdepend-chart" outfile="${project.basedir}/tools/jenkins/builds/pdepend/dependencies.svg" />
<logger type="overview-pyramid" outfile="${project.basedir}/tools/jenkins/builds/pdepend/overview-pyramid.svg" />
</phpdepend>
</target>
<target name="phpmd">
<phpmd file="${project.basedir}/${source}">
<formatter type="xml" outfile="${project.basedir}/tools/jenkins/builds/phpmd.xml" />
</phpmd>
</target>
<target name="phpcpd">
<phpcpd file="${project.basedir}/${source}">
<formatter type="pmd" outfile="${project.basedir}/tools/jenkins/builds/logs/pmd-cpd.xml"/>
</phpcpd>
</target>
<target name="phploc">
<exec logoutput="true" dir="${project.basedir}" command="phploc --log-csv '${project.basedir}/tools/jenkins/builds/logs/phploc.csv' '${project.basedir}/${source}'" escape="false" />
</target>
<target name="phpcs">
<phpcodesniffer standard="Symfony2">
<fileset dir="${project.basedir}/${source}">
<include name="**/*.php"/>
</fileset>
<formatter type="checkstyle" outfile="${project.basedir}/tools/jenkins/builds/logs/checkstyle.xml"/>
</phpcodesniffer>
</target>
<target name="phpdoc">
<phpdoc title="API Documentation"
destdir="${project.basedir}/tools/jenkins/builds/api"
sourcecode="false"
output="HTML:Smarty:PHP">
<fileset dir="${project.basedir}/src">
<include name="**/*.php"/>
</fileset>
<projdocfileset dir=".">
<include name="README"/>
<include name="INSTALL"/>
<include name="CHANGELOG"/>
</projdocfileset>
</phpdoc>
</target>
<target name="phpcb">
<exec logoutput="true" command="phpcb --log '${project.basedir}/tools/jenkins/builds/logs' --source '${project.basedir}/${source}' --output '${project.basedir}/tools/jenkins/builds/code-browser'" escape="false" />
</target>
<target name="phpunit">
<exec logoutput="true" dir="${project.basedir}" command="curl -s https://getcomposer.org/installer | php" escape="false" />
<exec logoutput="true" dir="${project.basedir}" command="php composer.phar update" escape="false" />
<exec logoutput="true" dir="${project.basedir}" command="./tools/jenkins/beforetest.sh " escape="false" />
<exec logoutput="true" dir="${project.basedir}" command="./testreset.sh" escape="false" />
<exec logoutput="true" dir="${project.basedir}/tools" command="phpunit" escape="false" />
</target>
</project>
<!-- Symfony2.Commenting.FunctionComment.SpacingAfterParams -->