-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.xml
97 lines (80 loc) · 3.36 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
<?xml version="1.0" encoding="UTF-8"?>
<project name="csvtotextile" description="dmromanov/csvtotextile" default="build" basedir="." phingVersion="2.16.0">
<property name="basedir" value="${project.basedir}"/>
<autoloader autoloaderpath="vendor/autoload.php"/>
<exec command="git describe --tags --always" outputProperty="version" checkreturn="true"/>
<property name="version" value="v${version}" override="true"/>
<echo>Building a ${version}</echo>
<!-- meta tasks -->
<target name="build" depends="clean,verify,analyze,build-phar" description="Build project"/>
<target name="verify" description="Run all lint tasks" depends="clean,phpunit,composer-validate"/>
<target name="analyze" description="Run all statistics tasks" depends="clean"/>
<!-- tasks -->
<target name="clean" description="Clean up and create artifact directories">
<delete dir="build"></delete>
</target>
<target name="prepare" depends="clean">
<copy todir="build/build">
<fileset dir="./">
<include name="src/**" />
<include name="bin/csvtotextile.php" />
<include name="composer.json" />
<include name="composer.lock" />
<include name="LICENSE" />
</fileset>
</copy>
<exec executable="composer" checkreturn="true">
<arg value="--no-interaction"/>
<arg value="--no-dev"/>
<arg value="--prefer-dist"/>
<arg value="--optimize-autoloader"/>
<arg value="--working-dir=${basedir}/build/build"/>
<arg value="install"/>
</exec>
<reflexive>
<fileset dir="build/build">
<include pattern="csvtotextile.php" />
</fileset>
<filterchain>
<replaceregexp>
<regexp pattern="1.0.0" replace="${version}"/>
</replaceregexp>
</filterchain>
</reflexive>
</target>
<target name="phpunit" description="Run unit-testing suite" depends="prepare">
<exec executable="vendor/bin/phpunit" checkreturn="true" passthru="true" />
<echo>Ok.</echo>
</target>
<target name="composer-validate" description="Run unit-testing suite">
<exec executable="composer" checkreturn="true">
<arg value="validate"/>
</exec>
<echo>Ok.</echo>
</target>
<target name="build-phar" depends="prepare">
<property name="dstfile" value="./build/${phing.project.name}.phar"/>
<pharpackage
destfile="${dstfile}"
basedir="./build/build"
clistub="./build/build/bin/csvtotextile.php"
signature="sha512"
>
<fileset dir="./build/build/">
<include name="src/**" />
<include name="vendor/**" />
<include name="bin/csvtotextile.php" />
<include name="LICENSE" />
</fileset>
<metadata>
<element name="version" value="${version}" />
<element name="authors">
<element name="Dmitrii Romanov">
<element name="e-mail" value="none@example.com" />
</element>
</element>
</metadata>
</pharpackage>
<echo>Done.</echo>
</target>
</project>