Your IP : 127.0.0.1


Current Path : /home/dev2.destoffenstraat.com/app/code/SendCloud/-SendCloud/
Upload File :
Current File : /home/dev2.destoffenstraat.com/app/code/SendCloud/-SendCloud/build.xml

<project name="SendCloud" default="build">
    <property name="workspace" value="${basedir}" />
    <property name="sourcedir" value="${basedir}"/>
    <property name="builddir" value="${workspace}/app/build"/>
    <property name="magento2dir" value="${basedir}/magento"/>
    <property file="build.properties"/>
    <property name="moduledir" value="${magento2dir}/app/code/SendCloud/SendCloud"/>

    <target name="build"
            depends="prepare, composer-download,install-composer,composer-selfupdate,install-magento,create-database, deploy-sampledata, install-module, lint, phploc, pdepend, phpmd-ci, phpcs-ci, vendor-phpunit"/>

    <target name="clean" description="Cleanup build artifacts">
        <delete dir="${builddir}/api"/>
        <delete dir="${builddir}/code-browser"/>
        <delete dir="${builddir}/coverage"/>
        <delete dir="${builddir}/logs"/>
        <delete dir="${builddir}/pdepend"/>
        <delete dir="${builddir}/docs/*"/>
    </target>

    <target name="prepare" depends="clean" description="Prepare for build">
        <mkdir dir="${builddir}/api"/>
        <mkdir dir="${builddir}/code-browser"/>
        <mkdir dir="${builddir}/coverage"/>
        <mkdir dir="${builddir}/logs"/>
        <mkdir dir="${builddir}/pdepend"/>
    </target>

    <target name="lint" description="Perform syntax check of sourcecode files">
        <apply executable="php" failonerror="true">
            <arg value="-l" />
            <fileset dir="${moduledir}">
                <include name="**/*.php" />
                <modified />
            </fileset>
            <fileset dir="${moduledir}/">
                <include name="**/*Test.php" />
                <modified />
            </fileset>
        </apply>
    </target>

    <target name="phploc" description="Measure project size using PHPLOC">
        <exec executable="phploc">
            <arg value="--log-csv" />
            <arg value="${builddir}/logs/phploc.csv" />
            <arg path="${moduledir}" />
        </exec>
    </target>

    <target name="pdepend" description="Calculate software metrics using PHP_Depend">
        <exec executable="pdepend">
            <arg value="--jdepend-xml=${builddir}/logs/jdepend.xml" />
            <arg value="--jdepend-chart=${builddir}/pdepend/dependencies.svg" />
            <arg value="--overview-pyramid=${builddir}/pdepend/overview-pyramid.svg" />
            <arg path="${moduledir}" />
        </exec>
    </target>

    <target name="phpmd-ci" description="Perform project mess detection using PHPMD creating a log file for the continuous integration server">
        <exec executable="phpmd">
            <arg path="${moduledir}" />
            <arg value="xml" />
            <arg value="cleancode, codesize, controversial, design, naming, unusedcode"/>
            <arg value="--reportfile" />
            <arg value="${builddir}/logs/pmd.xml" />
        </exec>
    </target>

    <target name="phpcs-ci" description="Find coding standard violations using PHP_CodeSniffer creating a log file for the continuous integration server">
        <exec executable="phpcs">
            <arg value="--report=checkstyle" />
            <arg value="--report-file=${builddir}/logs/checkstyle.xml" />
            <arg value="--standard=PSR2" />
            <arg path="${moduledir}" />
        </exec>
    </target>

    <target name="composer-download" description="downloads composer">
        <exec executable="wget">
            <arg value="https://getcomposer.org/installer"/>
            <arg value="composer-setup.php"/>
        </exec>
        <exec executable="mv">
            <arg value="installer"/>
            <arg value="composer-setup.php"/>
        </exec>
    </target>

    <target name="install-composer">
        <exec executable="php">
            <arg value="composer-setup.php"/>
        </exec>
    </target>

    <target name="check-magento">
        <mkdir dir="${magento2dir}"/>
    </target>
    
    <target name="drop-database" description="creates the database based on build.properties">
        <exec executable="mysql">
            <arg value="-u"/>
            <arg value="${db.user}"/>
            <arg value="-p${db.password}"/>
            <arg value="-e"/>
            <arg value="DROP DATABASE IF EXISTS sendcloud;"/>
        </exec>
    </target>
    
    <target name="create-database" description="creates the database based on build.properties">
        <exec executable="mysql">
            <arg value="-u"/>
            <arg value="${db.user}"/>
            <arg value="-p${db.password}"/>
            <arg value="-e"/>
            <arg value="CREATE DATABASE IF NOT EXISTS sendcloud;"/>
        </exec>
    </target>

    <target name="install-magento" description="install a fresh magento env">
        <exec executable="rm">
            <arg value="-rf"/>
            <arg value="./magento"/>
        </exec>
        <exec executable="mkdir">
            <arg value="magento"/>
        </exec>
        <exec executable="php" failonerror="true">
            <arg value="composer.phar"/>
            <arg value="create-project"/>
            <arg value="--repository-url=https://repo.magento.com/"/>
            <arg value="magento/project-community-edition=2.2.6"/>
            <arg value="magento"/>
        </exec>
    </target>

    <target name="deploy-sampledata" description="deploy sample data for magento 2">
        <exec executable="php">
            <arg value="${magento2dir}/bin/magento"/>
            <arg value="setup:install"/>
            <arg value="--base-url=http://magento.local"/>
            <arg value="--db-host=${db.host}"/>
            <arg value="--db-name=${db.name}"/>
            <arg value="--db-user=${db.user}"/>
            <arg value="--db-password=${db.password}"/>
            <arg value="--admin-firstname=Magento"/>
            <arg value="--admin-lastname=User"/>
            <arg value="--admin-email=support@sendcloud.nl"/>
            <arg value="--admin-user=admin"/>
            <arg value="--admin-password=admin1234"/>
            <arg value="--use-rewrites=1"/>
            <arg value="--currency=EUR"/>
            <arg value="--language=en_US"/>
            <arg value="--timezone=Europe/Paris"/>
        </exec>
        <exec executable="php">
            <arg value="${magento2dir}/bin/magento"/>
            <arg value="deploy:mode:set"/>
            <arg value="developer"/>
        </exec>
    </target>

    <target name="install-module" description="Installs the SendCloud module">
        <exec executable="rm">
            <arg value="-rf"/>
            <arg value="./magento/app/code/SendCloud/"/>
        </exec>
        <exec executable="mkdir">
            <arg value="-p"/>
            <arg value="${moduledir}"/>
        </exec>
        <exec executable="cp">
            <arg value="-R"/>
            <arg value="${workspace}/Block/"/>
            <arg value="${workspace}/etc/"/>
            <arg value="${workspace}/Helper/"/>
            <arg value="${workspace}/Setup/"/>
            <arg value="${workspace}/Test/"/>
            <arg value="${workspace}/view/"/>
            <arg value="${workspace}/composer.json"/>
            <arg value="${workspace}/registration.php"/>
            <arg value="./magento/app/code/SendCloud/SendCloud/"/>
        </exec>
        <exec executable="php">
            <arg value="${magento2dir}/bin/magento"/>
            <arg value="module:enable"/>
            <arg value="SendCloud_SendCloud"/>
        </exec>
        <exec executable="php">
            <arg value="${magento2dir}/bin/magento"/>
            <arg value="setup:upgrade"/>
        </exec>
    </target>

    <target name="vendor-phpunit" description="runs phpunit">
        <exec executable="php">
            <arg value="${magento2dir}/vendor/phpunit/phpunit/phpunit"/>
            <arg value="--bootstrap"/>
            <arg value="${magento2dir}/vendor/autoload.php"/>
            <arg value="${magento2dir}/app/code/SendCloud/SendCloud/Test/"/>
            <arg value="--log-junit"/>
            <arg value="'${builddir}/logs/junit.xml'"/>
        </exec>
    </target>

    <target name="composer-selfupdate" description="composer self update">
        <exec executable="php" failonerror="true">
            <arg value="composer.phar" />
            <arg value="self-update"/>
            <arg value="--quiet"/>
        </exec>
    </target>

    <target name="vendors" description="Update vendors">
        <exec executable="php" failonerror="true">
            <arg value="composer.phar" />
            <arg value="install" />
        </exec>
    </target>
</project>