partkeepr

fork of partkeepr
git clone https://git.e1e0.net/partkeepr.git
Log | Files | Refs | Submodules | README | LICENSE

build.xml (4383B)


      1 <?xml version="1.0" encoding="UTF-8"?>
      2 <project name="PartKeepr" default="regenerate-environment">
      3     <property name="env" value="prod"/>
      4     <property name="console" value="app/console"/>
      5     <property file="build.properties"/>
      6 
      7     <target name="regenerate-environment">
      8         <exec command="php ${console} cache:clear --env=${env}"/>
      9         <exec command="php ${console} cache:warmup --env=${env}"/>
     10         <exec command="php ${console} nfq:sprite:generate --env=${env}"/>
     11         <exec command="php ${console} assets:install --env=${env}"/>
     12         <exec command="php ${console} generate:extjs:entities --env=${env}"/>
     13         <exec command="php ${console} assetic:dump --env=${env}"/>
     14     </target>
     15 
     16     <target name="release">
     17         <propertyprompt propertyName="partkeepr.version" useExistingValue="true" defaultValue=""
     18                         promptText="Please enter the version number of the build to generate (e.g. 0.1)"/>
     19 
     20         <phingcall target="prepare-archiving"/>
     21         <phingcall target="set-version"/>
     22 
     23         <delete file="partkeepr-${partkeepr.version}.tbz2"/>
     24         <delete file="partkeepr-${partkeepr.version}.zip"/>
     25 
     26         <zip destfile="partkeepr-${partkeepr.version}.zip" basedir="${packagepath}"
     27              prefix="partkeepr-${partkeepr.version}/"/>
     28         <tar destfile="partkeepr-${partkeepr.version}.tbz2" compression="bzip2" basedir="${packagepath}"
     29              prefix="partkeepr-${partkeepr.version}/"/>
     30     </target>
     31 
     32     <!--
     33     Runs the build process, then copies the current working tree to a temporary directory (specified by ${packagepath})
     34     while excluding stuff the end-user doesn't need (like .git directories, and some 3rdparty stuff).
     35     -->
     36     <target name="prepare-archiving">
     37         <copy file="app/config/parameters.php.dist" tofile="app/config/parameters.php"/>
     38         <exec command="composer install" passthru="true" checkreturn="true" />
     39 
     40         <delete file="app/config/parameters.php"/>
     41 
     42         <delete quiet="true">
     43             <fileset dir="${packagepath}"/>
     44         </delete>
     45 
     46         <copy todir="${packagepath}" includeemptydirs="false">
     47             <fileset dir=".">
     48                 <exclude name="partkeepr*.zip"/>
     49                 <exclude name="partkeepr*.tbz2"/>
     50                 <exclude name=".git/**"/>
     51                 <exclude name="vendor/**/.git/"/>
     52                 <exclude name="web/js/packages/extjs6/modern/**"/>
     53                 <exclude name="web/js/packages/extjs6/classic/**"/>
     54                 <exclude name="web/js/packages/extjs6/cmd/**"/>
     55                 <exclude name="web/js/packages/extjs6/packages/amf/**"/>
     56                 <exclude name="web/js/packages/extjs6/packages/charts/**"/>
     57                 <exclude name="web/js/packages/extjs6/packages/core/**"/>
     58                 <exclude name="web/js/packages/extjs6/packages/font-awesome/**"/>
     59                 <exclude name="web/js/packages/extjs6/packages/font-ext/**"/>
     60                 <exclude name="web/js/packages/extjs6/packages/font-pictos/**"/>
     61                 <exclude name="web/js/packages/extjs6/packages/legacy/**"/>
     62                 <exclude name="web/js/packages/extjs6/packages/soap/**"/>
     63                 <exclude name="web/js/packages/extjs6/resources/**"/>
     64                 <exclude name="web/js/packages/extjs6/sass/**"/>
     65                 <exclude name="web/js/packages/extjs6/templates/**"/>
     66                 <exclude name="web/js/packages/extjs6/welcome/**"/>
     67             </fileset>
     68         </copy>
     69     </target>
     70 
     71     <!--
     72     Sets the version of the release inside PartKeeprVersion.php
     73     -->
     74     <target name="set-version">
     75         <exec executable="sed">
     76             <arg value="-i"/>
     77             <arg value="s/{V_GIT}/${partkeepr.version}/g"/>
     78             <arg value="${packagepath}/src/PartKeepr/CoreBundle/PartKeeprVersion.php"/>
     79         </exec>
     80     </target>
     81 
     82     <target name="nightly">
     83         <phingcall target="prepare-archiving"/>
     84 
     85         <tstamp>
     86             <format property="build.time" pattern="partkeepr-nightly-%Y%m%d"/>
     87         </tstamp>
     88 
     89         <property name="partkeepr.version" value="${build.time}"/>
     90         <phingcall target="set-version"/>
     91 
     92         <zip destfile="${build.time}.zip" basedir="${packagepath}" prefix="partkeepr-nightly/"/>
     93         <tar destfile="${build.time}.tbz2" compression="bzip2" basedir="${packagepath}" prefix="partkeepr-nightly/"/>
     94     </target>
     95 </project>