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