-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathbuild.xml
133 lines (132 loc) · 5.85 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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?xml version="1.0"?>
<project name="Mage_Test" default="build" basedir=".">
<property file="build.default.properties"/>
<!-- Clean up previous builds -->
<target name="clean">
<!-- Clean up -->
<delete dir="build"/>
<!-- Create build directories -->
<mkdir dir="${basedir}/build/api"/>
<mkdir dir="${basedir}/build/code-browser"/>
<mkdir dir="${basedir}/build/coverage"/>
<mkdir dir="${basedir}/build/logs"/>
<mkdir dir="${basedir}/build/pdepend"/>
</target>
<!-- Run unit tests and generate junit.xml and clover.xml -->
<target name="phpunit">
<exec executable="phpunit" failonerror="true"/>
</target>
<!-- Run pdepend, phpmd, phpcpd, and phpcs in parallel -->
<target name="parallelTasks">
<parallel>
<antcall target="pdepend"/>
<antcall target="phpmd"/>
<antcall target="phpcpd"/>
<antcall target="phpcs"/>
<antcall target="phpdoc"/>
</parallel>
</target>
<!-- Generate jdepend.xml and software metrics charts -->
<target name="pdepend">
<exec executable="pdepend">
<arg line="--jdepend-xml=${basedir}/build/logs/jdepend.xml src"/>
</exec>
</target>
<!-- Generate pmd.xml -->
<target name="phpmd">
<exec executable="phpmd">
<arg line="src xml codesize,unusedcode
--reportfile ${basedir}/build/logs/pmd.xml"/>
</exec>
</target>
<!-- Generate pmd-cpd.xml -->
<target name="phpcpd">
<exec executable="phpcpd">
<arg line="--log-pmd ${basedir}/build/logs/pmd-cpd.xml src"/>
</exec>
</target>
<!-- Generate checkstyle.xml -->
<target name="phpcs">
<exec executable="phpcs" output="/dev/null">
<arg line="--report=checkstyle
--report-file=${basedir}/build/logs/checkstyle.xml
--standard=Zend
src"/>
</exec>
</target>
<!-- Generate API documentation -->
<target name="phpdoc">
<exec executable="phpdoc">
<arg line="-d src -t build/api"/>
</exec>
</target>
<!-- Generate PHP Code_Browser content -->
<target name="phpcb">
<exec executable="phpcb">
<arg line="--log ${basedir}/build/logs
--source ${basedir}/MageTest
--output ${basedir}/build/code-browser"/>
</exec>
</target>
<!-- Prepare files to build the project package -->
<target name="prepare">
<mkdir dir="build"/>
<replaceregexp file="src/app/code/community/Ibuildings/Test/etc/config.xml" match="(<version>)(.*)(</version>)" replace="\1${package.version}\3"/>
<tstamp>
<format property="package.date" pattern="yyyy-MM-dd"/>
</tstamp>
<tstamp>
<format property="package.time" pattern="HH:mm:ss"/>
</tstamp>
<replaceregexp file="${basedir}/package.xml" match="(<(date)>).*?(</\2>)" replace="\1${package.date}\3"/>
<replaceregexp file="${basedir}/package.xml" match="(<(time)>).*?(</\2>)" replace="\1${package.time}\3"/>
<replaceregexp file="${basedir}/package.xml" match="(<version>.*?<(release)>).*?(</\2>.*?<(api)>).*?(</\4>.*?</version>)" replace="\1${package.version}\3${package.version}\5" flags="gs"/>
</target>
<!-- Generate Magento Module Package -->
<target name="package" depends="prepare" description="Creates a Magento PEAR package">
<copy file="${basedir}/package.xml" tofile="src/package.xml"/>
<exec dir="src/" executable="pear">
<arg value="mpx"/>
</exec>
<copy file="src/package.xml" tofile="${basedir}/package.xml"/>
<exec dir="src" executable="pear">
<arg value="mage-package"/>
</exec>
<delete file="src/package.xml"/>
<move file="src/${ant.project.name}-${package.version}.tgz" todir="build/"/>
</target>
<!-- Deploy module files for local testing -->
<target name="deploy">
<copy todir="${deploy.dir}/app" overwrite="yes" verbose="yes">
<fileset dir="app">
<exclude name="**/.svn"/>
</fileset>
</copy>
<copy todir="${deploy.dir}/lib" overwrite="yes" verbose="yes">
<fileset dir="lib">
<exclude name="**/.svn"/>
</fileset>
</copy>
<copy todir="${deploy.dir}/test" overwrite="yes" verbose="yes">
<fileset dir="test">
<exclude name="**/.svn"/>
</fileset>
</copy>
</target>
<target name="symlink">
<symlink overwrite="yes" failonerror="no" link="${deploy.dir}/app/code/community/Mage" resource="${basedir}/src/app/code/community/Mage" />
<mkdir dir="${deploy.dir}/app/code/community/Ibuildings"/>
<symlink overwrite="yes" failonerror="no" link="${deploy.dir}/app/code/community/Ibuildings/Test" resource="${basedir}/src/app/code/community/Ibuildings/test" />
<symlink overwrite="yes" failonerror="no" link="${deploy.dir}/lib/Ibuildings" resource="${basedir}/src/lib/Ibuildings" />
<mkdir dir="${deploy.dir}/tests/app/code/"/>
<symlink overwrite="yes" failonerror="no" link="${deploy.dir}/tests/app/code/core" resource="${basedir}/src/tests/app/code/core" />
</target>
<target name="remove">
<delete file="${deploy.dir}/app/code/community/Mage"/>
<delete file="${deploy.dir}/app/code/community/Ibuildings/Test"/>
<delete file="${deploy.dir}/lib/Ibuildings"/>
<delete file="${deploy.dir}/tests/app/code/core"/>
</target>
<!-- Default build task -->
<target name="build" depends="clean,parallelTasks,phpunit,phpcb"/>
</project>