-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathbuild.xml
More file actions
114 lines (95 loc) · 4.26 KB
/
Copy pathbuild.xml
File metadata and controls
114 lines (95 loc) · 4.26 KB
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
<?xml version="1.0" encoding="UTF-8"?>
<project name="DDD-CMS" default="build">
<property name="sourcedir" value="${basedir}/src"/>
<property name="symfony-console" value="${basedir}/bin/console"/>
<property name="composer" value="${basedir}/composer.phar"/>
<property name="phpunit" value="${basedir}/bin/phpunit"/>
<property name="phpunit-config" value="${basedir}/phpunit.xml.dist"/>
<property name="phpmd" value="${basedir}/bin/phpmd"/>
<property name="phpmd-config" value="${basedir}/ruleset.xml"/>
<property name="phpcs" value="${basedir}/bin/phpcs"/>
<property name="behat" value="${basedir}/bin/behat"/>
<target name="composer-check">
<available file="${composer}" property="composer.exist"/>
</target>
<target name="composer-download" depends="composer-check" unless="composer.exist">
<property name="composer.noselfupdate" value="true"/>
<get src="https://getcomposer.org/composer.phar" dest="${composer}" />
</target>
<target name="composer-self-update" depends="composer-download">
<exec executable="php" failonerror="false">
<arg line="${composer} self-update --quiet" />
</exec>
</target>
<target name="composer-install" depends="composer-self-update">
<exec executable="php" failonerror="false">
<arg line="${composer} install --prefer-dist --no-interaction" />
</exec>
</target>
<target name="mysql-check">
<waitfor>
<socket server="mysql" port="3306"/>
</waitfor>
</target>
<target name="doctrine-database-drop">
<echo message="Dropping database" />
<exec executable="php" failonerror="true">
<arg line="${symfony-console} doctrine:database:drop --force --if-exists" />
</exec>
</target>
<target name="doctrine-database-create" depends="doctrine-database-drop">
<echo message="Create database" />
<exec executable="php" failonerror="true">
<arg line="${symfony-console} doctrine:database:create" />
</exec>
</target>
<target name="doctrine-schema-update" depends="doctrine-database-create">
<echo message="Schema update" />
<exec executable="php" failonerror="true">
<arg line="${symfony-console} doctrine:schema:update --force" />
</exec>
</target>
<target name="doctrine-fixtures-load" depends="doctrine-schema-update">
<echo message="Schema update" />
<exec executable="php" failonerror="true">
<arg line="${symfony-console} doctrine:fixtures:load" />
</exec>
</target>
<target name="cache-warmup-test">
<exec executable="php" failonerror="true">
<arg line="${symfony-console} cache:warmup --env=test" />
</exec>
</target>
<target name="cache-warmup-dev">
<exec executable="php" failonerror="true">
<arg line="${symfony-console} cache:warmup --env=test" />
</exec>
</target>
<target name="phpunit">
<exec executable="${phpunit}" failonerror="true">
<arg value="-c"/>
<arg path="${phpunit-config}"/>
</exec>
</target>
<target name="phpmd">
<exec executable="${phpmd}" failonerror="true">
<arg value="src"/>
<arg value="text"/>
<arg path="${phpmd-config}"/>
</exec>
</target>
<target name="psr2">
<exec executable="${phpcs}" failonerror="true">
<arg value="--standard=PSR2"/>
<arg value="src"/>
</exec>
</target>
<target name="behat">
<exec executable="${behat}" failonerror="true"/>
</target>
<target name="build" depends="composer, database, cache" description="Prepare project dependencies"/>
<target name="composer" depends="composer-check, composer-download, composer-self-update, composer-install" description="Composer"/>
<target name="cache" depends="cache-warmup-test, cache-warmup-dev" description="Clear cache warmup"/>
<target name="database" depends="mysql-check, doctrine-database-drop, doctrine-database-create, doctrine-schema-update, doctrine-fixtures-load" description="Database"/>
<target name="testing" depends="composer, phpunit, phpmd, psr2, behat" description="Testing"/>
</project>