add in support for building PHPT_Core from git repo and add build-specific files...
[phpt.git] / build.xml
blob95798c5764026f71091daaa59ee4c1f5d56445a7
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project name="PHP_Core" basedir="." default="make">
3     <taskdef classname="phing.tasks.ext.d51PearPkg2Task" name="d51pearpkg2" />
4     
5     <property name="version" value="0.1.2devel" />
6     <property name="package_name" value="PHPT_Core" />
7     <property name="channel" value="channel.phpt.info" />
8     
9     <target name="clean">
10         <delete dir="./build/package" />
11         <delete dir="./build/export" />
12         <delete file="./${package_name}-${version}.tgz" />
13         
14         <mkdir dir="./build/package" />
15     </target>
16         
17     <target name="export" depends="clean">
18         <echo msg="Exporting SVN files" />
19         <exec command="svn export ./src ./build/export" />
20         <exec command="svn export ./scripts ./build/export/scripts" />
21         
22         <copy todir="./build/package">
23             <filterchain>
24                 <replacetokens begintoken="@@" endtoken="@@">
25                     <token key="VERSION" value="${version}" />
26                 </replacetokens>
27             </filterchain>
28             <fileset dir="./build/export">
29                 <include name="PHPT*/**" />
30                 <include name="scripts*/**" />
31             </fileset>
32         </copy>
33     </target>
34     
35     <target name="build" depends="export">
36         <phingcall target="build.package" />
37     </target>
39     <target name="export.git" depends="clean">
40         <echo msg="Creating copy of git contents" />
41          <copy todir="./build/package">
42             <filterchain>
43                 <replacetokens begintoken="@@" endtoken="@@">
44                     <token key="VERSION" value="${version}" />
45                 </replacetokens>
46             </filterchain>
47             <fileset dir="./src">
48                 <include name="PHPT*/**" />
49             </fileset>
50             <fileset dir="./">
51                 <include name="scripts/**" />
52             </fileset>
53         </copy>
54     </target>
56     <target name="build.git" depends="export.git">
57         <phingcall target="build.package" />
58     </target>
60     <target name="build.package">
61         <d51pearpkg2 dir="./build/package" baseinstalldir="/">
62             <name>${package_name}</name>
63             <summary>PHPT_Core provides the core of PHPT testing framework</summary>
64             <channel>${channel}</channel>
65             <description indentions_to_remove="16">
66                 <!--        Don't exceed this width         -->
67                 PHPT_Core provides the base parser and core set
68                 of Sections necessary to parse most .phpt test
69                 case files.  It provides:
70                 
71                 * ability to create custom sections
72                 * ability to create custom reporters
73             </description>
74             
75             <lead user="tswicegood" name="Travis Swicegood" email="developer@domain51.com" />
76             <license>LGPL/CDDL</license>
77             
78             <version release="${version}" api="1.0" />
79             <stability release="devel" api="devel" />
80             
81             <dependencies>
82                 <php minimum_version="5.2.0" />
83                 
84                 <pear minimum_version="1.6.0" />
85             </dependencies>
86             
87             <dirroles key="scripts">script</dirroles>
88             <replacement path="scripts/phpt.php" type="pear-config" from="@php_bin@" to="php_bin" />
89             <release>
90                 <install as="phpt" name="scripts/phpt.php" />
91             </release>
92             
93             <changelog version="0.1.2devel" date="2007-11-26">
94                 <!--        Don't exceed this width         -->
95                 Running changes for 0.1.2alpha as they exist in
96                 SVN:
98                 * Add test time to work Text reporter
99                 * Refactor CodeRunner_Driver_Proc
100             </changelog>
102             <changelog version="0.1.1devel" date="2007-10-29">
103                 Running changes for SVN
104             </changelog>
105             
106             <changelog version="0.1alpha" date="2007-10-19">
107                 This is the initial alpha release of this package
108             </changelog>
109         </d51pearpkg2>
110     </target>
111     
112     <target name="make" depends="build">
113         <phingcall target="make.package" />
114     </target>
116     <target name="make.git" depends="build.git">
117         <phingcall target="make.package" />
118     </target>
120     <target name="make.package">
121         <echo msg="Creating PEAR archive file for ${package_name}" />
122         <mkdir dir="./build/package/${package_name}-${version}" />
123         <copy todir="./build/package/${package_name}-${version}">
124             <fileset dir="./build/package">
125                 <include name="PHPT/**/**" />
126                 <include name="scripts*/**" />
127             </fileset>
128         </copy>
129         <delete dir="./build/package/PHPT" />
130         <tar compression="gzip" destfile="${package_name}-${version}.tgz" basedir="./build/package" />
131     </target>
132     
133     <target name="docs" depends="export">
134         <echo msg="Creating documentation" />
135         <phpdoc title="${package_name} Docs" 
136             destdir="./apidocs"
137             sourcecode="./build"
138             output="HTML:frames:DOM/earthli"
139         >
140             <fileset dir="./build/export">
141                 <include name="**" />
142             </fileset>
143         </phpdoc>
144     </target>
145 </project>