forked from sebastianbergmann/phpcpd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.xml
112 lines (95 loc) · 4.48 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
<?xml version="1.0" encoding="UTF-8"?>
<project name="phpcpd" default="setup">
<target name="setup" depends="clean,install-dependencies"/>
<target name="clean" description="Cleanup build artifacts">
<delete dir="${basedir}/vendor"/>
<delete file="${basedir}/composer.lock"/>
<delete>
<fileset dir="${basedir}/build">
<include name="**/phpcpd*.phar"/>
<include name="**/phpcpd*.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="signed-phar" description="Create signed PHAR archive of PHPCPD and all its dependencies (release)" depends="phar">
<exec executable="bash" outputproperty="version">
<arg value="-c" />
<arg value="${basedir}/phpcpd --version | awk 'BEGIN { ORS = ""; } {print $2}'" />
</exec>
<exec executable="gpg" failonerror="true">
<arg value="--armor" />
<arg value="--detach-sign" />
<arg path="${basedir}/build/phpcpd-${version}.phar" />
</exec>
</target>
<target name="phar" description="Create PHAR archive of phpcpd and all its dependencies" depends="setup,phar-build">
</target>
<target name="phar-build">
<exec executable="bash" outputproperty="version">
<arg value="-c" />
<arg value="${basedir}/phpcpd --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/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/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>
<copy file="${basedir}/vendor/phpunit/php-timer/LICENSE" tofile="${basedir}/build/phar/phpunit-php-timer/LICENSE"/>
<copy todir="${basedir}/build/phar/phpunit-php-timer">
<fileset dir="${basedir}/vendor/phpunit/php-timer/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/phpcpd-${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/phpcpd-${version}.phar" perm="ugo+rx"/>
<delete dir="${basedir}/build/phar"/>
</target>
<target name="-dependencies-installed">
<available file="${basedir}/vendor" property="dependencies-installed" type="dir"/>
</target>
</project>