-
-
Notifications
You must be signed in to change notification settings - Fork 166
/
build.xml
134 lines (115 loc) · 5.44 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
134
<?xml version="1.0" encoding="UTF-8"?>
<project name="phploc" default="setup">
<target name="setup" depends="clean,install-dependencies"/>
<target name="clean" description="Cleanup build artifacts">
<delete dir="${basedir}/build/phar"/>
<delete dir="${basedir}/vendor"/>
<delete file="${basedir}/composer.lock"/>
<delete>
<fileset dir="${basedir}/build">
<include name="**/phploc*.phar"/>
<include name="**/phploc*.phar.asc"/>
</fileset>
</delete>
</target>
<target name="install-dependencies" unless="dependencies-installed" depends="-dependencies-installed" description="Install dependencies with Composer">
<exec executable="${basedir}/tools/composer" taskname="composer">
<arg value="update"/>
<arg value="--no-interaction"/>
<arg value="--no-progress"/>
<arg value="--no-ansi"/>
</exec>
</target>
<target name="update-tools">
<exec executable="phive">
<arg value="--no-progress"/>
<arg value="update"/>
</exec>
</target>
<target name="test" depends="install-dependencies" description="Run tests with PHPUnit">
<exec executable="${basedir}/tools/phpunit" failonerror="true"/>
</target>
<target name="signed-phar"
description="Create signed PHAR archive of PHPUnit and all its dependencies (release)"
depends="phar">
<exec executable="bash" outputproperty="version">
<arg value="-c" />
<arg value="${basedir}/phploc --version | awk 'BEGIN { ORS = ""; } {print $2}'" />
</exec>
<exec executable="gpg" failonerror="true">
<arg value="--armor" />
<arg value="--detach-sign" />
<arg path="${basedir}/build/phploc-${version}.phar" />
</exec>
</target>
<target name="phar"
description="Create PHAR archive of PHPLOC and all its dependencies"
depends="setup,phar-build">
<mkdir dir="${basedir}/build/phar"/>
</target>
<target name="phar-build">
<exec executable="bash" outputproperty="version">
<arg value="-c" />
<arg value="${basedir}/phploc --version | awk 'BEGIN { ORS = ""; } {print $2}'" />
</exec>
<copy todir="${basedir}/build/phar/src">
<fileset dir="${basedir}/src">
<include name="**/*.php" />
</fileset>
</copy>
<copy file="${basedir}/vendor/nikic/php-parser/LICENSE" tofile="${basedir}/build/phar/nikic-php-parser/LICENSE"/>
<copy todir="${basedir}/build/phar/nikic-php-parser">
<fileset dir="${basedir}/vendor/nikic/php-parser/lib">
<include name="**/*.php" />
</fileset>
</copy>
<copy file="${basedir}/vendor/sebastian/cli-parser/LICENSE" tofile="${basedir}/build/phar/sebastian-cli-parser/LICENSE"/>
<copy todir="${basedir}/build/phar/sebastian-cli-parser">
<fileset dir="${basedir}/vendor/sebastian/cli-parser/src">
<include name="**/*.php" />
</fileset>
</copy>
<copy file="${basedir}/vendor/sebastian/complexity/LICENSE" tofile="${basedir}/build/phar/sebastian-complexity/LICENSE"/>
<copy todir="${basedir}/build/phar/sebastian-complexity">
<fileset dir="${basedir}/vendor/sebastian/complexity/src">
<include name="**/*.php" />
</fileset>
</copy>
<copy file="${basedir}/vendor/sebastian/lines-of-code/LICENSE" tofile="${basedir}/build/phar/sebastian-lines-of-code/LICENSE"/>
<copy todir="${basedir}/build/phar/sebastian-lines-of-code">
<fileset dir="${basedir}/vendor/sebastian/lines-of-code/src">
<include name="**/*.php" />
</fileset>
</copy>
<copy file="${basedir}/vendor/sebastian/version/LICENSE" tofile="${basedir}/build/phar/sebastian-version/LICENSE"/>
<copy todir="${basedir}/build/phar/sebastian-version">
<fileset dir="${basedir}/vendor/sebastian/version/src">
<include name="**/*.php" />
</fileset>
</copy>
<copy file="${basedir}/vendor/phpunit/php-file-iterator/LICENSE" tofile="${basedir}/build/phar/phpunit-php-file-iterator/LICENSE"/>
<copy todir="${basedir}/build/phar/phpunit-php-file-iterator">
<fileset dir="${basedir}/vendor/phpunit/php-file-iterator/src">
<include name="**/*.php" />
</fileset>
</copy>
<exec executable="${basedir}/build/phar-manifest.php" output="${basedir}/build/phar/manifest.txt"/>
<exec executable="${basedir}/tools/phpab">
<arg value="--all" />
<arg value="--phar" />
<arg value="--hash" />
<arg value="SHA-512" />
<arg value="--output" />
<arg path="${basedir}/build/phploc-${version}.phar" />
<arg value="--template" />
<arg path="${basedir}/build/phar-autoload.php.in" />
<arg value="--indent" />
<arg value=" " />
<arg path="${basedir}/build/phar" />
</exec>
<chmod file="${basedir}/build/phploc-${version}.phar" perm="ugo+rx"/>
</target>
<target name="-dependencies-installed">
<available file="${basedir}/vendor" property="dependencies-installed" type="dir"/>
</target>
</project>