aboutsummaryrefslogblamecommitdiffhomepage
path: root/build.xml
blob: 107e912d328a5741381eb2276f87caf76dade896 (plain) (tree)
1
2
3
4
5
6
7
8
9

                                         
                                                          


                                                                  

                                                               
                                            

             
                                                           
                               
                                                 




                                                 
                                                 



                                                   
                                                 



                                                 
                                                 

                                                 

                                     
             
 
                                                                  

                                                            

                                                                                
               
                               
                                                 


                                      




























                                                      

             
                                                                    

                                                            

                                                                                 
               
                               
                                                 


                                      










                                                   



                                                                                                          




                                                   




                                                 












                                                      

             
                                                                       

                                                            

                                                                                
               
                               
                                                 


                                      
















                                                   









                                                                                    






                                                 

             





                                                                                     
          
<?xml version="1.0" encoding="UTF-8"?>
<project name="wallabag" default="build">
    <target name="build" depends="clean,prepare,phpunit"/>
    <target name="prepare-mysql" depends="clean,prepare_mysql"/>
    <target name="prepare-sqlite" depends="clean,prepare_sqlite"/>
    <target name="prepare-pgsql" depends="clean,prepare_pgsql"/>

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

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

    <target name="prepare_mysql" description="Run test for MySQL">
        <delete dir="${basedir}/app/config/parameters.yml"/>
        <exec executable="cp">
            <arg value="${basedir}/app/config/tests/parameters_test.mysql.yml"/>
            <arg value="${basedir}/app/config/parameters_test.yml"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="cache:clear"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="doctrine:database:drop"/>
            <arg value="--force"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="doctrine:database:create"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="doctrine:database:import"/>
            <arg value="data/sql/mysql_base.sql"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="doctrine:migrations:migrate"/>
            <arg value="--no-interaction"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="doctrine:fixtures:load"/>
            <arg value="--no-interaction"/>
            <arg value="--env=test"/>
        </exec>
    </target>

    <target name="prepare_sqlite" description="Run test for SQLite">
        <delete dir="${basedir}/app/config/parameters.yml"/>
        <exec executable="cp">
            <arg value="${basedir}/app/config/tests/parameters_test.sqlite.yml"/>
            <arg value="${basedir}/app/config/parameters_test.yml"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="cache:clear"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="doctrine:database:drop"/>
            <arg value="--force"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="doctrine:database:create"/>
            <arg value="--env=test"/>
        </exec>
        <!--
            Looks like it doesn't work and generate an error:
            There is no table with name '/home/jeremy/github/wallabag/app/..wallabag_entry' in the schema.

        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="doctrine:database:import"/>
            <arg value="data/sql/sqlite_base.sql"/>
            <arg value="--env=test"/>
        </exec> -->
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="doctrine:schema:create"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="doctrine:migrations:migrate"/>
            <arg value="--no-interaction"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="doctrine:fixtures:load"/>
            <arg value="--no-interaction"/>
            <arg value="--env=test"/>
        </exec>
    </target>

    <target name="prepare_pgsql" description="Run test for PostgreSQL">
        <delete dir="${basedir}/app/config/parameters.yml"/>
        <exec executable="cp">
            <arg value="${basedir}/app/config/tests/parameters_test.pgsql.yml"/>
            <arg value="${basedir}/app/config/parameters_test.yml"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="cache:clear"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="doctrine:database:drop"/>
            <arg value="--force"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="doctrine:database:create"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="doctrine:database:import"/>
            <arg value="data/sql/pgsql_base.sql"/>
            <arg value="--env=test"/>
        </exec>
        <exec executable="psql">
            <!-- psql -h host -d database -U username -f data/sql/pgsql_base.sql -->
            <arg value="-h"/>
            <arg value="localhost"/>
            <arg value="-d"/>
            <arg value="wallabag_test"/>
            <arg value="-U"/>
            <arg value="travis"/>
            <arg value="-f"/>
            <arg value="data/sql/pgsql_base.sql"/>
        </exec>
        <exec executable="php">
            <arg value="${basedir}/bin/console"/>
            <arg value="doctrine:fixtures:load"/>
            <arg value="--no-interaction"/>
            <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>