|
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