Development Resource Project
Installing Xdebug for use with Eclipse or Netbeans on Linux
Getting Set up with Ogre 3D on Ubuntu
Native Linux Space Warfare: Freespace 2
Book Review: How to Implement Design Patterns in PHP
Changing Mailman Python Scripts for Virtual Host Support

Constructing a Build File for Phing

Tuesday, 31 July 12, 11:47 am
Phing is a build system based on Apache Ant, and serves to automate the process of releasing code for a development project. Before a new version of a PHP project can be released, you may have to undertake certain tasks such as running unit tests and code analysis tools, compiling dependencies (e.g. SASS, templates, language files), changing file permissions, copying files and many more.

The actions to perform are defined in the build file, named build.xml by default, which defines the sequence of commands required for different actions within elements. When you run Phing, you can tell it the action to perform, or leave it to use the default as specified by the default attribute of the root element.

An action may imply other actions to run beforehand, by specifying them as dependencies in the depends attribute of the element.

Compiling SASS Thingumeh-Wotsits


If you store the SCSS files for a project in a particular heirarchy, you will probably want recreate that heirarchy elsewhere (viz in the web accessible area of your site) and compile the SASS to CSS therein.

Here's the Phing shizzle for compiling a single directory of SCSS:
<exec command="sass --update /input/path/to/scss:${buildDir}/output/path/to/css" dir="${buildDir}" />

Repeat a Command on All Directories at a Specific Path

<foreach param="dirname" absparam="absname" target="compile-po-files"> <fileset dir="${buildDir}/svnexport/sites/"> <type type="dir" /> <depth max="2" min="2" /> </fileset> </foreach>   <target name="compile-po-files"> <exec command="msgfmt *.po" dir="${absname}" /> </target>
 
Leave Comment

/xkcd/ Who?

About This Page