<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Straylight Run &#187; phing</title>
	<atom:link href="http://blog.straylightrun.net/tag/phing/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.straylightrun.net</link>
	<description>Software, Technology, PHP</description>
	<lastBuildDate>Tue, 11 May 2010 03:53:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Automate Your Front-End Optimization Using Phing</title>
		<link>http://blog.straylightrun.net/2010/05/10/automate-your-front-end-optimization-using-phing/</link>
		<comments>http://blog.straylightrun.net/2010/05/10/automate-your-front-end-optimization-using-phing/#comments</comments>
		<pubDate>Mon, 10 May 2010 23:56:31 +0000</pubDate>
		<dc:creator>gerard</dc:creator>
				<category><![CDATA[Process]]></category>
		<category><![CDATA[build server]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[phing]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[yslow]]></category>
		<category><![CDATA[yui]]></category>

		<guid isPermaLink="false">http://blog.straylightrun.net/2010/05/10/automate-your-front-end-optimization-using-phing/</guid>
		<description><![CDATA[Well, it only took me 18 months, but I finally got around to cleaning up and publishing the Phing filters we use to automatically transform a static site into one that implements many of Yahoo’s Exceptional Performance Rules.&#160; These filters, together with the Apache configurations in the README, implement the process outlined in this talk [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it <a href="http://blog.straylightrun.net/2008/11/16/slides-from-phpworks-2008-part-2/">only took me 18 months</a>, but I finally got around to cleaning up and publishing the Phing filters we use to <a href="http://github.com/gsychay/Phing-Things">automatically transform a static site</a> into one that implements many of <a href="http://developer.yahoo.com/performance/">Yahoo’s Exceptional Performance Rules</a>.&#160; These filters, together with the Apache configurations in the <a href="http://github.com/gsychay/Phing-Things/blob/master/README.md">README</a>, implement the process outlined in this <a href="http://www.slideshare.net/gerrys0/front-end-website-optimization-presentation">talk from php|works 2008</a>:</p>
<p>To see it in action, first create an <code>VirtualHost</code> pointing to the <code>mysite</code> directory in the project as the web root.&#160; Then run:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">% phing optimize</pre></div></div>

<p>which creates a parallel site in a <code>build</code> directory.&#160; Point your <code>VirtualHost</code> to the new <code>build</code> directory to see the same site with the performance transformations.</p>
<p>You could run this <a href="http://phing.info">Phing</a> task in a <a href="http://martinfowler.com/articles/continuousIntegration.html">continuous integration</a> process as part of deployment.&#160; You could run it at production deployment time, but it’s probably a good idea to run it at staging time in case it flubs on some CSS or HTML syntax that it is not expecting.</p>
<p>Note that there are other miscellaneous Phing tasks in that <a href="http://github.com/gsychay/Phing-Things">github project</a>.&#160; I threw these in there in case they could be of use to other Phing users.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.straylightrun.net/2010/05/10/automate-your-front-end-optimization-using-phing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unit Testing And Coverage With Phing</title>
		<link>http://blog.straylightrun.net/2009/05/05/unit-testing-and-coverage-with-phing/</link>
		<comments>http://blog.straylightrun.net/2009/05/05/unit-testing-and-coverage-with-phing/#comments</comments>
		<pubDate>Wed, 06 May 2009 04:18:44 +0000</pubDate>
		<dc:creator>gerard</dc:creator>
				<category><![CDATA[Process]]></category>
		<category><![CDATA[build server]]></category>
		<category><![CDATA[phing]]></category>
		<category><![CDATA[phpunit]]></category>
		<category><![CDATA[xdebug]]></category>

		<guid isPermaLink="false">http://blog.straylightrun.net/2009/05/05/unit-testing-and-coverage-with-phing/</guid>
		<description><![CDATA[If we are to do unit testing, then it would be nice to have a simple way to run all the tests at once.&#160; And seeing the results in a command line is fine, but it would be nice to be able to generate some pretty reports I could view in a browser.&#160; And running [...]]]></description>
			<content:encoded><![CDATA[<p>If we are to do unit testing, then it would be nice to have a simple way to run all the tests at once.&nbsp; And seeing the results in a command line is fine, but it would be nice to be able to generate some pretty reports I could view in a browser.&nbsp; And running coverage tools from the command line to see exactly what we&#8217;re testing is fine, but it would be nice to be able to generate coverage reports I could view in a browser. It would be nice to be able to do all these things with one simple command.
<p>The command: <a href="http://phing.info/trac/">phing</a>.
<p>If you&#8217;re familiar with <a href="http://ant.apache.org/">Ant</a> for Java, phing is functionally identical to ant.&nbsp; With a very simple build script, I can run all the unit tests, and generate test result reports and coverage reports in HTML automatically. Then I can fire up my browser and see if any tests failed, or whether we need new tests.
<p>The following are examples of test results reports and coverage reports.
<p><a href="http://blog.straylightrun.net/wp-content/uploads/2009/05/testresults.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="324" alt="Unit test results" src="http://blog.straylightrun.net/wp-content/uploads/2009/05/testresults-thumb.png" width="404" border="0"></a>
<p><a href="http://blog.straylightrun.net/wp-content/uploads/2009/05/coverage.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="324" alt="Code coverage report" src="http://blog.straylightrun.net/wp-content/uploads/2009/05/coverage-thumb.png" width="404" border="0"></a>
<p>Phing currently requires <a href="http://www.phpunit.de/">PHPUnit</a> for unit testing and <a href="http://xdebug.org">xdebug</a> for coverage. Someone would have to write a task to use other frameworks such as <a href="http://www.simpletest.org">SimpleTest</a>.
<p>The phing build file is a first step towards automating builds with a build server. A build server can periodically check the project for changes. If new code exists, it will run tests and generate reports for tests, coverage, lint, anything. It can put all this on the web for easy inspection. It can keep versions of the whole project that be can be readily deployed.&nbsp; So if we have a staging and production server, and we stick to deploying ONLY bundles from the build server, it can make deployment and maintenance easier. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.straylightrun.net/2009/05/05/unit-testing-and-coverage-with-phing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->