aboutsummaryrefslogtreecommitdiffhomepage
path: root/build.xml
blob: 110011e8138f240ffdb77c7abba3fa28d4fb09fd (plain) (blame)
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
<?xml version="1.0" encoding="UTF-8"?>
<project name="wallabag" default="build">
    <target name="build" depends="clean,composer,prepare,phpunit"/>
    <target name="prepare-mysql" depends="clean,composer,db_mysql,prepare"/>
    <target name="prepare-sqlite" depends="clean,composer,db_sqlite,prepare"/>
    <target name="prepare-pgsql" depends="clean,composer,db_pgsql,prepare"/>

    <target name="clean" description="Cleanup build artifacts">
        <delete dir="${basedir}/app/cache"/>
    </target>

    <target name="composer" description="Install deps using Composer">
        <exec executable="composer">
            <arg value="install"/>
            <arg value="--no-interaction"/>
            <arg value="--no-progress"/>
        </exec>
    </target>

    <target name="prepare" description="Prepare for build">
        <exec executable="php">
            <arg value="${basedir}/app/console"/>
            <arg value="doctrine:database:drop"/>
            <arg value="--force"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/app/console"/>
            <arg value="doctrine:database:create"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/app/console"/>
            <arg value="doctrine:schema:create"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/app/console"/>
            <arg value="cache:clear"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/app/console"/>
            <arg value="doctrine:fixtures:load"/>
            <arg value="--no-interaction"/>
            <arg value="--env=test"/>
        </exec>
    </target>

    <target name="db_mysql" description="Run test for MySQL">
        <delete dir="${basedir}/app/config/parameters.yml"/>
        <exec executable="cp">
            <arg value="${basedir}/app/config/tests/parameters.yml.dist.mysql"/>
            <arg value="${basedir}/app/config/parameters.yml"/>
        </exec>

        <exec executable="php">
            <arg value="${basedir}/app/console"/>
            <arg value="cache:clear"/>
            <arg value="--env=test"/>
        </exec>
    </target>

    <target name="db_sqlite" description="Run test for SQLite">
        <delete dir="${basedir}/app/config/parameters.yml"/>
        <exec executable="cp">
            <arg value="${basedir}/app/config/tests/parameters.yml.dist.sqlite"/>
            <arg value="${basedir}/app/config/parameters.yml"/>
        </exec>

        <exec executable="php">
            <arg value="${basedir}/app/console"/>
            <arg value="cache:clear"/>
            <arg value="--env=test"/>
        </exec>
    </target>

    <target name="db_pgsql" description="Run test for PostgreSQL">
        <delete dir="${basedir}/app/config/parameters.yml"/>
        <exec executable="cp">
            <arg value="${basedir}/app/config/tests/parameters.yml.dist.pgsql"/>
            <arg value="${basedir}/app/config/parameters.yml"/>
        </exec>

        <exec executable="php">
            <arg value="${basedir}/app/console"/>
            <arg value="cache:clear"/>
            <arg value="--env=test"/>
        </exec>
    </target>

    <target name="phpunit" description="Run unit tests with PHPUnit + HTML Coverage">
        <exec executable="phpunit" failonerror="true">
            <arg value="--coverage-html"/>
            <arg value="build/coverage"/>
        </exec>
    </target>
</project>