1+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2+ <project name =" phpdrafter" default =" setup" >
3+ <target name =" setup" depends =" clean" />
4+
5+ <target name =" clean" unless =" clean.done" description =" Cleanup build artifacts" >
6+ <delete dir =" ${ basedir } /bin" />
7+ <delete dir =" ${ basedir } /build/documentation" />
8+ <delete dir =" ${ basedir } /build/logfiles" />
9+ <delete dir =" ${ basedir } /build/phar" />
10+ <delete >
11+ <fileset dir =" ${ basedir } /build" >
12+ <include name =" **/phpdraft*.phar" />
13+ <include name =" **/phpdraft*.phar.asc" />
14+ </fileset >
15+ </delete >
16+
17+ <property name =" clean.done" value =" true" />
18+ </target >
19+
20+ <target name =" signed-phar" depends =" phar"
21+ description =" Create signed PHAR archive of PHPDraft and all its dependencies" >
22+ <exec executable =" gpg" failonerror =" true" >
23+ <arg value =" --armor" />
24+ <arg value =" --detach-sign" />
25+ <arg path =" ${ basedir } /build/phpdraft-library-${ version } .phar" />
26+ </exec >
27+
28+ <exec executable =" gpg" failonerror =" true" >
29+ <arg value =" --armor" />
30+ <arg value =" --detach-sign" />
31+ <arg path =" ${ basedir } /build/phpdraft-${ version } .phar" />
32+ </exec >
33+ </target >
34+
35+ <target name =" phar" depends =" -phar-determine-version,-phar-prepare"
36+ description =" Create PHAR archive of PHPDraft and all its dependencies" >
37+ <antcall target =" -phar-build" >
38+ <param name =" type" value =" release" />
39+ </antcall >
40+ </target >
41+
42+ <target name =" phar-nightly" depends =" -phar-prepare"
43+ description =" Create PHAR archive of PHPDraft and all its dependencies (nightly)" >
44+ <antcall target =" -phar-build" >
45+ <param name =" type" value =" nightly" />
46+ </antcall >
47+ </target >
48+
49+ <target name =" -phar-prepare" depends =" clean" >
50+ <mkdir dir =" ${ basedir } /build/phar" />
51+ <copy file =" ${ basedir } /LICENSE" tofile =" ${ basedir } /build/phar/LICENSE" />
52+ <exec executable =" ${ basedir } /build/phar-manifest.php" output =" ${ basedir } /build/phar/manifest.txt" />
53+ </target >
54+
55+ <target name =" -phar-build" depends =" -phar-determine-version" >
56+ <copy todir =" ${ basedir } /build/phar/phpdraft/src" >
57+ <fileset dir =" ${ basedir } /src/" >
58+ <exclude name =" **/*Test.php*" />
59+ <include name =" **/*.php" />
60+ <include name =" **/*.js*" />
61+ <include name =" **/*.css*" />
62+ </fileset >
63+ </copy >
64+ <copy todir =" ${ basedir } /build/phar/phpdraft" >
65+ <fileset dir =" ${ basedir } " >
66+ <include name =" **/*.json*" />
67+ <include name =" **/index.php" />
68+ </fileset >
69+ </copy >
70+
71+ <exec executable =" ${ basedir } /build/phar-version.php" outputproperty =" _version" >
72+ <arg value =" ${ version } " />
73+ <arg value =" ${ type } " />
74+ </exec >
75+
76+ <exec executable =" phpab" taskname =" phpab" >
77+ <arg value =" --all" />
78+ <arg value =" --static" />
79+ <arg value =" --once" />
80+ <arg value =" --phar" />
81+ <arg value =" --hash" />
82+ <arg value =" SHA-1" />
83+ <arg value =" --output" />
84+ <arg path =" ${ basedir } /build/phpdraft-library-${ _version } .phar" />
85+ <arg value =" --template" />
86+ <arg path =" ${ basedir } /build/library-phar-autoload.php.in" />
87+ <arg path =" ${ basedir } /build/phar" />
88+ </exec >
89+
90+ <exec executable =" phpab" taskname =" phpab" >
91+ <arg value =" --all" />
92+ <arg value =" --nolower" />
93+ <arg value =" --static" />
94+ <arg value =" --phar" />
95+ <arg value =" --hash" />
96+ <arg value =" SHA-1" />
97+ <arg value =" --output" />
98+ <arg path =" ${ basedir } /build/phpdraft-${ _version } .phar" />
99+ <arg value =" --template" />
100+ <arg path =" ${ basedir } /build/binary-phar-autoload.php.in" />
101+ <arg path =" ${ basedir } /build/phar" />
102+ </exec >
103+
104+ <chmod file =" ${ basedir } /build/phpdraft-${ _version } .phar" perm =" ugo+rx" />
105+ </target >
106+
107+ <target name =" -phar-determine-version" >
108+ <exec executable =" bash" outputproperty =" version" >
109+ <arg value =" -c" />
110+ <arg value =" php ${ basedir } /index.php -v | grep -ohE '([0-9]{1,}\.)+[0-9]{1,}'" />
111+ </exec >
112+ </target >
113+ </project >
0 commit comments