-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.xml
113 lines (104 loc) · 4.5 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
<?xml version="1.0" encoding="UTF-8"?>
<project name="jmd_rate" basedir="." default="default">
<!-- ============================================= -->
<!-- Properties -->
<!-- ============================================= -->
<!-- override defaults -->
<property file="build.properties"/>
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<!--linked fname -->
<property name="build.file" value="${build.dir}/${ant.project.name}.php"/>
<property name="dist.dir" value="dist"/>
<property name="readme.file" value="${basedir}/README.textile"/>
<!-- dir to copy build to -->
<property name="deploy.dir" value="deploy"/>
<!-- path to txpc -->
<property name="txpc" value="txpc"/>
<!-- file to be linked & compiled -->
<property name="main.file" value="${src.dir}/jmd_rate.php"/>
<!-- path to phpcs -->
<property name="phpcs" value="phpcs"/>
<property name="reports.dir" value="reports"/>
<!-- ============================================= -->
<!-- Target: default -->
<!-- ============================================= -->
<target name="default" depends="usage"/>
<!-- ============================================= -->
<!-- Target: usage -->
<!-- ============================================= -->
<target name="usage"
description="Displays usage information.">
<echo message="Run ``ant -p'' for a list of targets."/>
</target>
<target name="help" depends="usage"/>
<!-- ============================================= -->
<!-- Target: build -->
<!-- ============================================= -->
<target name="build"
description="Links the source files into one file.">
<mkdir dir="${build.dir}"/>
<exec executable="${txpc}" failonerror="true">
<arg value="${main.file}"/>
<arg value="--link=${build.dir}"/>
</exec>
</target>
<!-- ============================================= -->
<!-- Target: dist -->
<!-- ============================================= -->
<target name="dist"
depends="build"
description="Compiles a distributable plugin.">
<mkdir dir="${dist.dir}"/>
<exec executable="${txpc}" failonerror="true">
<arg value="${build.file}"/>
<arg value="--compile=${dist.dir}"/>
<arg value="--readme=${readme.file}"/>
</exec>
</target>
<!-- ============================================= -->
<!-- Target: deploy -->
<!-- ============================================= -->
<target name="deploy"
depends="dist"
description="Copies the dist files to the plugin cache dir.">
<copy file="${build.file}"
preservelastmodified="true"
todir="${deploy.dir}"
verbose="true"/>
</target>
<!-- ============================================= -->
<!-- Target: style -->
<!-- ============================================= -->
<target name="style"
description="Checks the source code for PEAR-style conformance">
<exec executable="phpcs"
output="${reports.dir}/style"
failonerror="true">
<arg value="${src.dir}"/>
</exec>
</target>
<!-- ============================================= -->
<!-- Target: report -->
<!-- ============================================= -->
<target name="report"
description="Reports on dead code, LOC, etc.">
<mkdir dir="${reports.dir}"/>
<!-- TODO: phpdcd, etc -->
<!-- LOC & complexity -->
<exec executable="phploc"
output="${reports.dir}/phploc"
failonerror="true">
<arg value="${src.dir}"/>
</exec>
</target>
<!-- ============================================= -->
<!-- Target: clean -->
<!-- ============================================= -->
<target name="clean"
description="Removes build and dist files">
<delete dir="${build.dir}" includeemptydirs="true" verbose="true"/>
<delete dir="${dist.dir}" includeemptydirs="true" verbose="true"/>
<delete dir="${reports.dir}" includeemptydirs="true" verbose="true"/>
</target>
</project>