🧲 New features Custom user role permissions Employee edit form updated Employee daily task list Attendance and employee distribution charts on dashboard Improvements to company structure and company assets module Improved tables for displaying data in several modules Faster data loading (specially for employee module) Initials based profile pictures Re-designed login page Re-designed user profile page Improvements to filtering New REST endpoints for employee qualifications 🐛 Bug fixes Fixed, issue with managers being able to create performance reviews for employees who are not their direct reports Fixed, issues related to using full profile image instead of using smaller version of profile image Changing third gender to other Improvements and fixes for internal frontend data caching
319 lines
10 KiB
XML
319 lines
10 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project name="icehrm" default="build">
|
|
<!-- By default, we assume all tools to be on the $PATH -->
|
|
<property name="toolsdir" value="${basedir}/tools/"/>
|
|
<property name="destination" value="${basedir}/build/app"/>
|
|
<property name="testdir" value="${basedir}/build/test"/>
|
|
<property name="origin" value="${basedir}"/>
|
|
<property environment="env"/>
|
|
<property name="env.appname" value="icehrm"/>
|
|
<property name="env.Version" value="dev"/>
|
|
<property name="installpath" value="/var/www/apps.gamonoid.com/icehrm-open-core"/>
|
|
|
|
<target name="build-ci"
|
|
depends="prepare,lint,phpcs-ci"
|
|
description=""/>
|
|
|
|
<target name="build"
|
|
depends="prepare,lint,phpcs,copyapp,release,install"
|
|
description=""/>
|
|
|
|
<target name="buildlocal"
|
|
depends="prepare,lint,phpcs,copyapp"
|
|
description=""/>
|
|
|
|
<target name="releaseapp"
|
|
depends="prepare,lint,copyapp,release"
|
|
description=""/>
|
|
|
|
<target name="clean"
|
|
unless="clean.done"
|
|
description="Cleanup build artifacts">
|
|
<delete dir="${basedir}/build/api"/>
|
|
<delete dir="${basedir}/build/coverage"/>
|
|
<delete dir="${basedir}/build/logs"/>
|
|
<delete dir="${basedir}/build/pdepend"/>
|
|
<delete dir="${basedir}/build/phpdox"/>
|
|
<delete dir="${basedir}/build/test"/>
|
|
<delete dir="${basedir}/build/app"/>
|
|
<delete dir="${basedir}/build/release"/>
|
|
<property name="clean.done" value="true"/>
|
|
</target>
|
|
|
|
<target name="prepare"
|
|
unless="prepare.done"
|
|
depends="clean"
|
|
description="Prepare for build">
|
|
<mkdir dir="${basedir}/build/api"/>
|
|
<mkdir dir="${basedir}/build/coverage"/>
|
|
<mkdir dir="${basedir}/build/logs"/>
|
|
<mkdir dir="${basedir}/build/pdepend"/>
|
|
<mkdir dir="${basedir}/build/phpdox"/>
|
|
<mkdir dir="${basedir}/build/test"/>
|
|
<mkdir dir="${basedir}/build/app"/>
|
|
<mkdir dir="${basedir}/build/release/data"/>
|
|
<mkdir dir="${basedir}/build/release/data/${env.appname}_${env.Version}"/>
|
|
|
|
|
|
<property name="prepare.done" value="true"/>
|
|
</target>
|
|
|
|
<target name="lint" description="Perform syntax check of sourcecode files">
|
|
<apply executable="php" failonerror="true">
|
|
<arg value="-l" />
|
|
|
|
<fileset dir="${basedir}/core/src">
|
|
<include name="**/*.php" />
|
|
<exclude name="composer/**"/>
|
|
<modified />
|
|
</fileset>
|
|
|
|
<fileset dir="${basedir}/test">
|
|
<include name="**/*.php" />
|
|
<modified />
|
|
</fileset>
|
|
</apply>
|
|
</target>
|
|
|
|
<target name="phploc"
|
|
description="Measure project size using PHPLOC and print human readable output. Intended for usage on the command line.">
|
|
<exec executable="${toolsdir}phploc">
|
|
<arg value="--count-tests" />
|
|
<arg path="${basedir}/core/src" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="phploc-ci"
|
|
depends="prepare"
|
|
description="Measure project size using PHPLOC and log result in CSV and XML format. Intended for usage within a continuous integration environment.">
|
|
<exec executable="${toolsdir}phploc">
|
|
<arg value="--count-tests" />
|
|
<arg value="--log-csv" />
|
|
<arg path="${basedir}/build/logs/phploc.csv" />
|
|
<arg value="--log-xml" />
|
|
<arg path="${basedir}/build/logs/phploc.xml" />
|
|
<arg path="${basedir}/core/src" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="pdepend"
|
|
depends="prepare"
|
|
description="Calculate software metrics using PHP_Depend and log result in XML format. Intended for usage within a continuous integration environment.">
|
|
<exec executable="${toolsdir}pdepend">
|
|
<arg value="--jdepend-xml=${basedir}/build/logs/jdepend.xml" />
|
|
<arg value="--jdepend-chart=${basedir}/build/pdepend/dependencies.svg" />
|
|
<arg value="--overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg" />
|
|
<arg path="${basedir}/core/src" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="phpmd"
|
|
description="Perform project mess detection using PHPMD and print human readable output. Intended for usage on the command line before committing.">
|
|
<exec executable="${toolsdir}phpmd">
|
|
<arg path="${basedir}/core/src" />
|
|
<arg value="text" />
|
|
<arg path="${basedir}/build/phpmd.xml" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="phpmd-ci"
|
|
depends="prepare"
|
|
description="Perform project mess detection using PHPMD and log result in XML format. Intended for usage within a continuous integration environment.">
|
|
<exec executable="${toolsdir}phpmd">
|
|
<arg path="${basedir}/core/src" />
|
|
<arg value="xml" />
|
|
<arg path="${basedir}/build/phpmd.xml" />
|
|
<arg value="--reportfile" />
|
|
<arg path="${basedir}/build/logs/pmd.xml" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="phpcs"
|
|
description="Find coding standard violations using PHP_CodeSniffer and print human readable output. Intended for usage on the command line before committing.">
|
|
<exec executable="${toolsdir}phpcs">
|
|
<arg value="--standard=PSR2" />
|
|
<arg value="--extensions=php" />
|
|
<arg value="--ignore=autoload.php" />
|
|
<arg path="${basedir}/core/src" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="phpcs-ci"
|
|
depends="prepare"
|
|
description="Find coding standard violations using PHP_CodeSniffer and log result in XML format. Intended for usage within a continuous integration environment.">
|
|
<exec executable="${toolsdir}phpcs" failonerror="true">
|
|
<arg value="--report=checkstyle" />
|
|
<arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
|
|
<arg value="--standard=PSR2" />
|
|
<arg value="--extensions=php" />
|
|
<arg value="--ignore=autoload.php" />
|
|
<arg path="${basedir}/core/src" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="phpcpd"
|
|
description="Find duplicate code using PHPCPD and print human readable output. Intended for usage on the command line before committing.">
|
|
<exec executable="${toolsdir}phpcpd">
|
|
<arg path="${basedir}/core/src" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="phpcpd-ci"
|
|
depends="prepare"
|
|
description="Find duplicate code using PHPCPD and log result in XML format. Intended for usage within a continuous integration environment.">
|
|
<exec executable="${toolsdir}phpcpd">
|
|
<arg value="--log-pmd" />
|
|
<arg path="${basedir}/build/logs/pmd-cpd.xml" />
|
|
<arg path="${basedir}/core/src" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="phpunit"
|
|
depends="prepare"
|
|
description="Run unit tests with PHPUnit">
|
|
<exec executable="${toolsdir}phpunit" failonerror="true">
|
|
<arg value="--configuration"/>
|
|
<arg path="${basedir}/phpunit.xml"/>
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="phpunit-sa"
|
|
description="Run unit tests with PHPUnit">
|
|
<exec executable="${toolsdir}phpunit" failonerror="true">
|
|
<arg value="--configuration"/>
|
|
<arg path="${basedir}/phpunit.xml"/>
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="phpdox"
|
|
depends=""
|
|
description="Generate project documentation using phpDox">
|
|
<exec executable="${toolsdir}phpdox"/>
|
|
</target>
|
|
|
|
<target name="copyjs"
|
|
description="Copy generated assets">
|
|
|
|
<delete includeemptydirs="true">
|
|
<fileset dir="${destination}">
|
|
<include name="web/admin/dist/**"/>
|
|
<include name="web/modules/dist/**"/>
|
|
<include name="web/dist/**"/>
|
|
</fileset>
|
|
</delete>
|
|
|
|
<copy todir="${destination}" overwrite="true">
|
|
<fileset dir="${origin}">
|
|
<include name="web/admin/dist/**"/>
|
|
<include name="web/modules/dist/**"/>
|
|
<include name="web/dist/**"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
</target>
|
|
|
|
<target name="copyapp"
|
|
description="Copy generated files to QA app">
|
|
|
|
<delete includeemptydirs="true">
|
|
<fileset dir="${destination}">
|
|
<include name="**/*"/>
|
|
</fileset>
|
|
</delete>
|
|
|
|
<copy todir="${destination}" overwrite="true">
|
|
<fileset dir="${origin}">
|
|
<include name="**/*"/>
|
|
<exclude name="node_modules/**"/>
|
|
<exclude name="web/node_modules/**"/>
|
|
<exclude name="web/admin/**"/>
|
|
<exclude name="web/modules/**"/>
|
|
<exclude name="web/api/**"/>
|
|
<exclude name="web/api-common/**"/>
|
|
<exclude name="web/components/**"/>
|
|
<exclude name="web/themecss/**"/>
|
|
<exclude name="web/themejs/**"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<delete includeemptydirs="true">
|
|
<fileset dir="${destination}">
|
|
<include name=".vagrant/**"/>
|
|
<include name=".idea/**"/>
|
|
<include name="Vagrantfile"/>
|
|
<include name="test/**"/>
|
|
<include name="tools/**"/>
|
|
<include name="robo/**"/>
|
|
<include name="deployment/**"/>
|
|
<include name="build/**"/>
|
|
<include name="build.xml"/>
|
|
<include name="lib/composer/composer.phar"/>
|
|
<include name="keys.tags.pub"/>
|
|
<include name="keys.dev.pub"/>
|
|
<include name="cache.properties"/>
|
|
<include name="phpdox.xml"/>
|
|
<include name="phpunit.xml"/>
|
|
<include name="web/admin/dist/*.map"/>
|
|
<include name="web/modules/dist/*.map"/>
|
|
<include name="web/dist/*.map"/>
|
|
</fileset>
|
|
</delete>
|
|
|
|
<copy todir="${testdir}" overwrite="true">
|
|
<fileset dir="${basedir}/test">
|
|
<include name="**/*"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
</target>
|
|
|
|
<target name="install"
|
|
depends="copyapp"
|
|
description="">
|
|
|
|
<delete includeemptydirs="true" failonerror="false">
|
|
<fileset dir="${installpath}">
|
|
<include name="**/*"/>
|
|
</fileset>
|
|
</delete>
|
|
|
|
<mkdir dir="${installpath}"/>
|
|
|
|
<copy todir="${installpath}" overwrite="true">
|
|
<fileset dir="${destination}">
|
|
<include name="**/*"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<delete includeemptydirs="true" failonerror="false">
|
|
<fileset dir="${installpath}/app">
|
|
<include name="**/*"/>
|
|
</fileset>
|
|
</delete>
|
|
</target>
|
|
|
|
<target name="release"
|
|
depends="copyapp"
|
|
description="Create a release">
|
|
|
|
<copy todir="${basedir}/build/release/data/${env.appname}_${env.Version}">
|
|
<fileset dir="${destination}">
|
|
<include name="**/*"/>
|
|
<exclude name="test/**"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<zip destfile="${basedir}/build/release/${env.appname}_${env.Version}.zip"
|
|
basedir="${basedir}/build/release/data"
|
|
/>
|
|
|
|
<tar destfile="${basedir}/build/release/${env.appname}_${env.Version}.tar"
|
|
basedir="${basedir}/build/release/data"
|
|
/>
|
|
|
|
<gzip destfile="${basedir}/build/release/${env.appname}_${env.Version}.tar.gz" src="${basedir}/build/release/${env.appname}_${env.Version}.tar"/>
|
|
|
|
</target>
|
|
</project>
|
|
|