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>