|
2 | 2 | <project name="Phing static code analysis" default="all"> |
3 | 3 | <php expression="include('./vendor/autoload.php')" /> |
4 | 4 | <!-- Properties --> |
5 | | - <property name="dir.base" value="." /> |
| 5 | + <property name="dir.base" value="${project.basedir}" /> |
6 | 6 | <property name="dir.tests" value="${project.basedir}/tests" /> |
7 | | - <property name="dir.tests.unit" value="${project.basedir}/tests" /> |
| 7 | + <property name="dir.tests.unit" value="${dir.tests}" /> |
8 | 8 | <property name="dir.build" value="${project.basedir}/phing-build" /> |
9 | 9 | <property name="dir.docs" value="${dir.build}/docs" /> |
10 | 10 | <property name="dir.docs.phpdoc" value="${dir.docs}/phpdoc" /> |
11 | | - <property name="dir.reports" value="${dir.build}/logs" /> |
12 | | - <property name="dir.reports.pdepend" value="${dir.reports}/pdepend" /> |
13 | | - <property name="dir.reports.unit" value="${dir.reports}/phpunit" /> |
14 | | - <property name="dir.reports.coverage" value="${dir.reports}/phpunit/coverage" /> |
| 11 | + <property name="dir.reports.codecheck" value="${dir.build}/codecheck" /> |
| 12 | + <property name="dir.reports.pdepend" value="${dir.build}/pdepend" /> |
| 13 | + <property name="dir.reports.unit" value="${dir.build}/phpunit" /> |
| 14 | + <property name="dir.reports.coverage" value="${dir.reports.unit}/coverage" /> |
15 | 15 | <property name="dir.reports.build" value="${dir.reports}/htmlreport" /> |
16 | 16 |
|
17 | 17 | <!-- ============================================ --> |
|
30 | 30 | </target> |
31 | 31 |
|
32 | 32 | <!-- ============================================ --> |
33 | | - <!-- Target: prepare --> |
| 33 | + <!-- Target: prepare-build-dir --> |
34 | 34 | <!-- ============================================ --> |
35 | | - <target name="prepare" description="Create build directories."> |
36 | | - <echo msg="Creating build directories ..." /> |
| 35 | + <target name="prepare-build-dir"> |
| 36 | + <echo msg="Creating build directory if it doesn't exist..." /> |
37 | 37 | <mkdir dir="${dir.build}" /> |
38 | | - <mkdir dir="${dir.docs}" /> |
39 | | - <mkdir dir="${dir.docs.phpdoc}" /> |
40 | | - <mkdir dir="${dir.reports}" /> |
| 38 | + </target> |
| 39 | + |
| 40 | + <!-- ============================================ --> |
| 41 | + <!-- Target: prepare-codecheck-dir --> |
| 42 | + <!-- ============================================ --> |
| 43 | + <target name="prepare-codecheck-dir" depends="prepare-build-dir" description="Create directories for codecheck results."> |
| 44 | + <echo msg="Creating codecheck results directory if it doesn't exist..." /> |
| 45 | + <mkdir dir="${dir.reports.codecheck}" /> |
| 46 | + </target> |
| 47 | + |
| 48 | + <!-- ============================================ --> |
| 49 | + <!-- Target: prepare-tests-dir --> |
| 50 | + <!-- ============================================ --> |
| 51 | + <target name="prepare-tests-dir" depends="prepare-build-dir" description="Create directories for tests and coverage results."> |
| 52 | + <echo msg="Creating test results directory if it doesn't exist..." /> |
41 | 53 | <mkdir dir="${dir.reports.unit}" /> |
42 | 54 | <mkdir dir="${dir.reports.coverage}" /> |
| 55 | + </target> |
| 56 | + |
| 57 | + <!-- ============================================ --> |
| 58 | + <!-- Target: prepare-doc-dir --> |
| 59 | + <!-- ============================================ --> |
| 60 | + <target name="prepare-doc-dir" depends="prepare-build-dir" description="Create directories for documentation generation results."> |
| 61 | + <echo msg="Creating documentation generation results directory if it doesn't exist..." /> |
| 62 | + <mkdir dir="${dir.docs}" /> |
| 63 | + <mkdir dir="${dir.docs.phpdoc}" /> |
| 64 | + </target> |
| 65 | + |
| 66 | + <!-- ============================================ --> |
| 67 | + <!-- Target: prepare-pdepend-dir --> |
| 68 | + <!-- ============================================ --> |
| 69 | + <target name="prepare-pdepend-dir" depends="prepare-build-dir" description="Create directories for pdepend results."> |
| 70 | + <echo msg="Creating pdepend results directory if it doesn't exist..." /> |
43 | 71 | <mkdir dir="${dir.reports.pdepend}" /> |
44 | 72 | <mkdir dir="${dir.reports.build}" /> |
45 | 73 | </target> |
46 | 74 |
|
47 | 75 | <!-- ============================================ --> |
48 | 76 | <!-- Target: all (default target) --> |
49 | 77 | <!-- ============================================ --> |
50 | | - <target name="all" depends="clean, prepare"> |
| 78 | + <target name="all" depends="clean"> |
51 | 79 | <phingcall target="codecheck" /> |
52 | 80 | <phingcall target="tests" /> |
53 | 81 | <phingcall target="documentation" /> |
|
85 | 113 | <!-- ============================================ --> |
86 | 114 | <!-- Target: codestyle (Checks code style compliance) --> |
87 | 115 | <!-- ============================================ --> |
88 | | - <target name="codestyle"> |
| 116 | + <target name="codestyle" depends="prepare-codecheck-dir"> |
89 | 117 | <echo msg="Running code sniffer to check PSR2 standard..." /> |
90 | 118 | <phpcodesniffer standard="PSR2" showSniffs="true" showWarnings="true" verbosity="0" encoding="UTF-8"> |
91 | 119 | <fileset refid="sources" /> |
92 | | - <formatter type="full" outfile="${dir.reports}/reportcs.txt" /> |
93 | | - <formatter type="checkstyle" outfile="${dir.reports}/checkstylecs.xml" /> |
| 120 | + <formatter type="full" outfile="${dir.reports.codecheck}/reportcs.txt" /> |
| 121 | + <formatter type="checkstyle" outfile="${dir.reports.codecheck}/checkstylecs.xml" /> |
94 | 122 | </phpcodesniffer> |
95 | 123 | </target> |
96 | 124 |
|
97 | 125 | <!-- ============================================ --> |
98 | 126 | <!-- Target: mess (Detects mess in code. Recommended rulesets: --> |
99 | 127 | <!-- unusedcode,codesize,controversial,design,naming) --> |
100 | 128 | <!-- ============================================ --> |
101 | | - <target name="mess"> |
| 129 | + <target name="mess" depends="prepare-codecheck-dir"> |
102 | 130 | <echo msg="Running mess detector" /> |
103 | 131 | <phpmd rulesets="unusedcode,codesize,controversial,design,naming"> |
104 | 132 | <fileset refid="sources" /> |
105 | | - <formatter type="xml" outfile="${dir.reports}/pmd.xml"/> |
| 133 | + <formatter type="xml" outfile="${dir.reports.codecheck}/pmd.xml"/> |
106 | 134 | </phpmd> |
107 | 135 | </target> |
108 | 136 |
|
109 | 137 | <!-- ============================================ --> |
110 | 138 | <!-- Target: copypaste (detects copy/paste in code) --> |
111 | 139 | <!-- ============================================ --> |
112 | | - <target name="copypaste"> |
| 140 | + <target name="copypaste" depends="prepare-codecheck-dir"> |
113 | 141 | <echo msg="Running copy/paste detector..." /> |
114 | 142 | <phpcpd> |
115 | 143 | <fileset refid="sources" /> |
116 | | - <formatter type="pmd" outfile="${dir.reports}/pmd-cpd.xml" /> |
| 144 | + <formatter type="pmd" outfile="${dir.reports.codecheck}/pmd-cpd.xml" /> |
117 | 145 | </phpcpd> |
118 | 146 | </target> |
119 | 147 |
|
120 | 148 | <!-- ============================================ --> |
121 | 149 | <!-- Target: measure (measures the code) --> |
122 | 150 | <!-- ============================================ --> |
123 | | - <target name="measure"> |
| 151 | + <target name="measure" depends="prepare-codecheck-dir, prepare-pdepend-dir"> |
124 | 152 | <echo msg="Running code measurements..." /> |
125 | | - <phploc reportType="csv" reportName="phploc" reportDirectory="${dir.reports}"> |
| 153 | + <phploc reportType="csv" reportName="phploc" reportDirectory="${dir.reports.codecheck}"> |
126 | 154 | <fileset refid="sources" /> |
127 | 155 | </phploc> |
128 | 156 | <phpdepend> |
|
135 | 163 | <!-- ============================================ --> |
136 | 164 | <!-- Target: documentation (PHP Documentor parsing) --> |
137 | 165 | <!-- ============================================ --> |
138 | | - <target name="documentation"> |
| 166 | + <target name="documentation" depends="prepare-doc-dir"> |
139 | 167 | <phpdoc2 title="Project Documentation" destdir="${dir.docs.phpdoc}" template="responsive-twig"> |
140 | 168 | <fileset refid="sources" /> |
141 | 169 | </phpdoc2> |
|
144 | 172 | <!-- ============================================ --> |
145 | 173 | <!-- Target: unittests (unit testing) --> |
146 | 174 | <!-- ============================================ --> |
147 | | - <target name="unittests"> |
| 175 | + <target name="unittests" depends="prepare-tests-dir"> |
148 | 176 | <echo msg="Running unit tests..." /> |
149 | 177 | <coverage-setup database="${dir.reports.unit}/coverage.db"> |
150 | 178 | <fileset refid="sources" /> |
|
0 commit comments