<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>Manuel Pichler - phpundercontrol</title>
    <link>http://www.manuel-pichler.de/</link>
    <description>Trust is good, (phpUnder)Control is better.</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.6 - http://www.s9y.org/</generator>
    
    

<item>
    <title>phpUnderControl 0.6.0beta2 released</title>
    <link>http://www.manuel-pichler.de/archives/92-phpUnderControl-0.6.0beta2-released.html</link>
            <category>php</category>
            <category>phpugdo</category>
            <category>phpundercontrol</category>
            <category>planet-php</category>
            <category>projects</category>
    
    <comments>http://www.manuel-pichler.de/archives/92-phpUnderControl-0.6.0beta2-released.html#comments</comments>
    <wfw:comment>http://www.manuel-pichler.de/wfwcomment.php?cid=92</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://www.manuel-pichler.de/rss.php?version=2.0&amp;type=comments&amp;cid=92</wfw:commentRss>
    

    <author>nospam@example.com (Manuel Pichler)</author>
    <content:encoded>
    &lt;p&gt;
  Today I have released the &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2382&amp;amp;entry_id=92&quot; title=&quot;http://github.com/manuelpichler/phpUnderControl/tree/0.6.0beta2&quot;  onmouseover=&quot;window.status=&#039;http://github.com/manuelpichler/phpUnderControl/tree/0.6.0beta2&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;second beta&lt;/a&gt; version of &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2383&amp;amp;entry_id=92&quot; title=&quot;http://php-under-control.org&quot;  onmouseover=&quot;window.status=&#039;http://php-under-control.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl&lt;/a&gt;. Beside several minor tweaks and bug fixes, this release contains one additional feature I was asked for during the &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2384&amp;amp;entry_id=92&quot; title=&quot;http://it-republik.de/php/phpconference/&quot;  onmouseover=&quot;window.status=&#039;http://it-republik.de/php/phpconference/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;IPC&lt;/a&gt; in Berlin. This feature allows you to specify a maximum number of log entries that will be shown in the generated metric charts. This can be very useful once you have a project with a great amount of builds and the chart rendering gets slower and slower.
&lt;/p&gt;

&lt;p&gt;
  This feature adds a new option &lt;code&gt;--max-number&lt;/code&gt; to phpUnderControl&#039;s &lt;code&gt;chart&lt;/code&gt; command. To rebuild all your charts you can call phpUnderControl&#039;s shell script with the following command:
&lt;/p&gt;

&lt;pre&gt;
  mapi@arwen ~ $ phpuc --force-update --max-number 42 \
                 /opt/cruisecontrol/logs/phpUnderControl \
                 /opt/cruisecontrol/logs/phpUnderControl
&lt;/pre&gt;

&lt;p&gt;
  You can get the latest release of phpUnderControl through its pear channel:
&lt;/p&gt;

&lt;pre&gt;
  mapi@arwen ~ $ pear upgrade --alldeps phpuc/phpUnderControl-0.6.0beta2
  Starting to download phpUnderControl-0.6.0beta2.tgz (546,314 bytes)
  ...................................................................
  .............................done: 546,314 bytes
&lt;/pre&gt;

&lt;p&gt;
  or you can get the latest development version on &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2386&amp;amp;entry_id=92&quot; title=&quot;http://github.com/manuelpichler/phpUnderControl&quot;  onmouseover=&quot;window.status=&#039;http://github.com/manuelpichler/phpUnderControl&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;github&lt;/a&gt;.
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 10 Jun 2010 12:25:00 +0200</pubDate>
    <guid isPermaLink="false">http://www.manuel-pichler.de/archives/92-guid.html</guid>
    <category>continuous integration</category>
<category>cruisecontrol</category>
<category>phpundercontrol</category>
<category>release announcement</category>

</item>
<item>
    <title>Artikel zum Thema Softwaremetriken</title>
    <link>http://www.manuel-pichler.de/archives/88-Artikel-zum-Thema-Softwaremetriken.html</link>
            <category>php</category>
            <category>php_depend</category>
            <category>phpmd</category>
            <category>phpugdo</category>
            <category>phpundercontrol</category>
            <category>projects</category>
            <category>staticReflection</category>
    
    <comments>http://www.manuel-pichler.de/archives/88-Artikel-zum-Thema-Softwaremetriken.html#comments</comments>
    <wfw:comment>http://www.manuel-pichler.de/wfwcomment.php?cid=88</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.manuel-pichler.de/rss.php?version=2.0&amp;type=comments&amp;cid=88</wfw:commentRss>
    

    <author>nospam@example.com (Manuel Pichler)</author>
    <content:encoded>
    &lt;p&gt;
  &lt;em&gt;This blog post is in German as the mentioned article was published in German.&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
In der heute erschienenen Ausgabe &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2360&amp;amp;entry_id=88&quot; title=&quot;http://it-republik.de/php/php-magazin-ausgaben/LinkedIn-vs.-Xing-000396.html&quot;  onmouseover=&quot;window.status=&#039;http://it-republik.de/php/php-magazin-ausgaben/LinkedIn-vs.-Xing-000396.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;4.10&lt;/a&gt; des &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2361&amp;amp;entry_id=88&quot; title=&quot;http://it-republik.de/php/php-magazin/&quot;  onmouseover=&quot;window.status=&#039;http://it-republik.de/php/php-magazin/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;PHP Magazins&lt;/a&gt; ist auch ein Artikel von mir enthalten, und wie sollte es wohl anders sein *Trommelwirbel*, beschäftigt der sich mit dem Thema &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2362&amp;amp;entry_id=88&quot; title=&quot;http://de.wikipedia.org/wiki/Softwaremetrik&quot;  onmouseover=&quot;window.status=&#039;http://de.wikipedia.org/wiki/Softwaremetrik&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Softwaremetriken&lt;/a&gt; &lt;img src=&quot;http://www.manuel-pichler.de/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; In diesem Artikel gibt es eine sehr ausführliche Einführung in die Thematik, mit eine Reihe von praktischen Beispielen und den daraus ableitbaren Aussagen über den untersuchten Quelltext.
&lt;/p&gt;

&lt;p&gt;
Über Kommentare, Anregungen und Kritik rund um den Artikel würde ich mich sehr freuen. Und sollte euch der Artikel gefallen haben, empfehle ich die Internationale &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2363&amp;amp;entry_id=88&quot; title=&quot;http://phpconference.com&quot;  onmouseover=&quot;window.status=&#039;http://phpconference.com&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;PHP Conference 2010&lt;/a&gt;, die vom 30. Mai bis 2. Juni in Berlin stattfindet, an der ich teilnehmen und zwei Vorträge halten werden.
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2364&amp;amp;entry_id=88&quot; title=&quot;http://it-republik.de/konferenzen/ext_scripts/v2/php/sessions-popup.php?module=ipc2010se&amp;amp;amp;id=13448&quot;  onmouseover=&quot;window.status=&#039;http://it-republik.de/konferenzen/ext_scripts/v2/php/sessions-popup.php?module=ipc2010se&amp;amp;amp;id=13448&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Von Continuous Integration zu Continuous Deployment&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2365&amp;amp;entry_id=88&quot; title=&quot;http://it-republik.de/konferenzen/ext_scripts/v2/php/sessions-popup.php?module=ipc2010se&amp;amp;amp;id=13450&quot;  onmouseover=&quot;window.status=&#039;http://it-republik.de/konferenzen/ext_scripts/v2/php/sessions-popup.php?module=ipc2010se&amp;amp;amp;id=13450&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Statische Codeanalyse wirklich effektiv nutzen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; 
    </content:encoded>

    <pubDate>Wed, 12 May 2010 09:04:12 +0200</pubDate>
    <guid isPermaLink="false">http://www.manuel-pichler.de/archives/88-guid.html</guid>
    <category>article</category>
<category>ipc</category>
<category>php-magazin</category>
<category>software metrics</category>

</item>
<item>
    <title>PHP-Magazin Artikel zum Thema Softwaremetriken</title>
    <link>http://www.manuel-pichler.de/archives/89-PHP-Magazin-Artikel-zum-Thema-Softwaremetriken.html</link>
            <category>php</category>
            <category>php_depend</category>
            <category>phpmd</category>
            <category>phpugdo</category>
            <category>phpundercontrol</category>
            <category>projects</category>
            <category>staticReflection</category>
    
    <comments>http://www.manuel-pichler.de/archives/89-PHP-Magazin-Artikel-zum-Thema-Softwaremetriken.html#comments</comments>
    <wfw:comment>http://www.manuel-pichler.de/wfwcomment.php?cid=89</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.manuel-pichler.de/rss.php?version=2.0&amp;type=comments&amp;cid=89</wfw:commentRss>
    

    <author>nospam@example.com (Manuel Pichler)</author>
    <content:encoded>
    &lt;p&gt;
  &lt;em&gt;This blog post is in German as the mentioned article was published in German.&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
In der heute erschienenen Ausgabe &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2366&amp;amp;entry_id=89&quot; title=&quot;http://it-republik.de/php/php-magazin-ausgaben/LinkedIn-vs.-Xing-000396.html&quot;  onmouseover=&quot;window.status=&#039;http://it-republik.de/php/php-magazin-ausgaben/LinkedIn-vs.-Xing-000396.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;4.10&lt;/a&gt; des &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2367&amp;amp;entry_id=89&quot; title=&quot;http://it-republik.de/php/php-magazin/&quot;  onmouseover=&quot;window.status=&#039;http://it-republik.de/php/php-magazin/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;PHP Magazins&lt;/a&gt; ist auch ein Artikel von mir enthalten, und wie sollte es wohl anders sein *Trommelwirbel*, beschäftigt der sich mit dem Thema &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2368&amp;amp;entry_id=89&quot; title=&quot;http://de.wikipedia.org/wiki/Softwaremetrik&quot;  onmouseover=&quot;window.status=&#039;http://de.wikipedia.org/wiki/Softwaremetrik&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Softwaremetriken&lt;/a&gt; &lt;img src=&quot;http://www.manuel-pichler.de/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; In diesem Artikel gibt es eine sehr ausführliche Einführung in die Thematik, mit eine Reihe von praktischen Beispielen und den daraus ableitbaren Aussagen über den untersuchten Quelltext.
&lt;/p&gt;

&lt;p&gt;
Über Kommentare, Anregungen und Kritik rund um den Artikel würde ich mich sehr freuen. Und sollte euch der Artikel gefallen haben, empfehle ich die Internationale &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2369&amp;amp;entry_id=89&quot; title=&quot;http://phpconference.com&quot;  onmouseover=&quot;window.status=&#039;http://phpconference.com&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;PHP Conference 2010&lt;/a&gt;, die vom 30. Mai bis 2. Juni in Berlin stattfindet, an der ich teilnehmen und zwei Vorträge halten werden.
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2370&amp;amp;entry_id=89&quot; title=&quot;http://it-republik.de/konferenzen/ext_scripts/v2/php/sessions-popup.php?module=ipc2010se&amp;amp;amp;id=13448&quot;  onmouseover=&quot;window.status=&#039;http://it-republik.de/konferenzen/ext_scripts/v2/php/sessions-popup.php?module=ipc2010se&amp;amp;amp;id=13448&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Von Continuous Integration zu Continuous Deployment&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2371&amp;amp;entry_id=89&quot; title=&quot;http://it-republik.de/konferenzen/ext_scripts/v2/php/sessions-popup.php?module=ipc2010se&amp;amp;amp;id=13450&quot;  onmouseover=&quot;window.status=&#039;http://it-republik.de/konferenzen/ext_scripts/v2/php/sessions-popup.php?module=ipc2010se&amp;amp;amp;id=13450&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Statische Codeanalyse wirklich effektiv nutzen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; 
    </content:encoded>

    <pubDate>Wed, 12 May 2010 09:04:12 +0200</pubDate>
    <guid isPermaLink="false">http://www.manuel-pichler.de/archives/89-guid.html</guid>
    <category>article</category>
<category>ipc</category>
<category>php-magazin</category>
<category>software metrics</category>

</item>
<item>
    <title>Goodbye Cologne</title>
    <link>http://www.manuel-pichler.de/archives/86-Goodbye-Cologne.html</link>
            <category>php</category>
            <category>php_depend</category>
            <category>phpmd</category>
            <category>phpugdo</category>
            <category>phpundercontrol</category>
            <category>planet-php</category>
    
    <comments>http://www.manuel-pichler.de/archives/86-Goodbye-Cologne.html#comments</comments>
    <wfw:comment>http://www.manuel-pichler.de/wfwcomment.php?cid=86</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://www.manuel-pichler.de/rss.php?version=2.0&amp;type=comments&amp;cid=86</wfw:commentRss>
    

    <author>nospam@example.com (Manuel Pichler)</author>
    <content:encoded>
    &lt;p&gt;As many of you may already have noticed, there will be a big change in my
career as a professional software engineer and architect this summer. Together
with &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2346&amp;amp;entry_id=86&quot; title=&quot;http://kore-nordmann.de/blog/0095_ez_components_new_ways.txt&quot;  onmouseover=&quot;window.status=&#039;http://kore-nordmann.de/blog/0095_ez_components_new_ways.txt&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Kore&lt;/a&gt; and &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2347&amp;amp;entry_id=86&quot; title=&quot;http://schlitt.info/opensource/blog/0725_goodbye_ez_systems_hello_world.html&quot;  onmouseover=&quot;window.status=&#039;http://schlitt.info/opensource/blog/0725_goodbye_ez_systems_hello_world.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Toby&lt;/a&gt; I am in the process of founding a company. The focus
of this company will be on services all around the whole quality life cycle in
PHP projects.&lt;/p&gt;

&lt;p&gt;Under the hood of our company we will also offer support, trainings and
consulting for several quality assurance tools, like &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2348&amp;amp;entry_id=86&quot; title=&quot;http://pdepend.org&quot;  onmouseover=&quot;window.status=&#039;http://pdepend.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;pdepend&lt;/a&gt;, &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2349&amp;amp;entry_id=86&quot; title=&quot;http://phpmd.org&quot;  onmouseover=&quot;window.status=&#039;http://phpmd.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpmd&lt;/a&gt; and
&lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2350&amp;amp;entry_id=86&quot; title=&quot;http://phpundercontrol.org&quot;  onmouseover=&quot;window.status=&#039;http://phpundercontrol.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl&lt;/a&gt;. For you, this opens a great opportunity. You can use the
tools and the documentation, as well as participate in the community, as
usual. But from now on you can also purchase professional support, if you get
stuck or need general assitance.  And when you miss a feature or need an
individual extension for one of these tools, don&#039;t hesitate to contact us.&lt;/p&gt;

&lt;p&gt;I am really excited what cool things will happen in the next couple of years
and I am looking forward to cowork with professionals like &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2351&amp;amp;entry_id=86&quot; title=&quot;http://schlitt.info/opensource/&quot;  onmouseover=&quot;window.status=&#039;http://schlitt.info/opensource/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Toby&lt;/a&gt; and
&lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2352&amp;amp;entry_id=86&quot; title=&quot;http://kore-nordmann.de&quot;  onmouseover=&quot;window.status=&#039;http://kore-nordmann.de&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Kore&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To finalize the little marketing for the company and its services &lt;img src=&quot;http://www.manuel-pichler.de/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; I would
appreciate to meet you, your colleagues and your compmany, to give
presentations or into-depth trainings on one of the tools or on quality
assurance in general.&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Thu, 29 Apr 2010 13:20:00 +0200</pubDate>
    <guid isPermaLink="false">http://www.manuel-pichler.de/archives/86-guid.html</guid>
    <category>changes</category>
<category>company</category>
<category>consulting</category>
<category>php</category>
<category>phpmd</category>
<category>phpundercontrol</category>
<category>php_depend</category>
<category>quality</category>
<category>support</category>
<category>training</category>

</item>
<item>
    <title>phpUnderControl 0.5.1 released</title>
    <link>http://www.manuel-pichler.de/archives/79-phpUnderControl-0.5.1-released.html</link>
            <category>php</category>
            <category>phpugdo</category>
            <category>phpundercontrol</category>
            <category>planet-php</category>
            <category>projects</category>
    
    <comments>http://www.manuel-pichler.de/archives/79-phpUnderControl-0.5.1-released.html#comments</comments>
    <wfw:comment>http://www.manuel-pichler.de/wfwcomment.php?cid=79</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.manuel-pichler.de/rss.php?version=2.0&amp;type=comments&amp;cid=79</wfw:commentRss>
    

    <author>nospam@example.com (Manuel Pichler)</author>
    <content:encoded>
    &lt;p&gt;
  Today I have released &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2246&amp;amp;entry_id=79&quot; title=&quot;http://phpundercontrol.org&quot;  onmouseover=&quot;window.status=&#039;http://phpundercontrol.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl&lt;/a&gt; version &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2247&amp;amp;entry_id=79&quot; title=&quot;http://github.com/manuelpichler/phpUnderControl/tree/0.5.1&quot;  onmouseover=&quot;window.status=&#039;http://github.com/manuelpichler/phpUnderControl/tree/0.5.1&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;0.5.1&lt;/a&gt;. It&#039;s a bug fix release that closes several issues open since a long time. First of all I would like to thank &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2248&amp;amp;entry_id=79&quot; title=&quot;http://twitter.com/proofek&quot;  onmouseover=&quot;window.status=&#039;http://twitter.com/proofek&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Sebastian Marek&lt;/a&gt; who was the main contributor to this releases, so a big thankyou to you.
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Now phpUnderControl should work with &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2265&amp;amp;entry_id=79&quot; title=&quot;http://cruisecontrol.sourceforge.net&quot;  onmouseover=&quot;window.status=&#039;http://cruisecontrol.sourceforge.net&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;CruiseControl 2.8.3&lt;/a&gt;. Thanks to Mike van Riel who provided some hints on this issue in a &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2249&amp;amp;entry_id=79&quot; title=&quot;http://manuel-pichler.de/archives/69-phpUnderControl-0.5.0-released.html#c350&quot;  onmouseover=&quot;window.status=&#039;http://manuel-pichler.de/archives/69-phpUnderControl-0.5.0-released.html#c350&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;blog comment&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Fixed &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2250&amp;amp;entry_id=79&quot; title=&quot;http://www.phpunit.de/ticket/983&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/ticket/983&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;#983&lt;/a&gt;: Graph unitests throw fatal error when ezComponents not available.&lt;/li&gt;
  &lt;li&gt;Fixed &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2251&amp;amp;entry_id=79&quot; title=&quot;http://www.phpunit.de/ticket/966&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/ticket/966&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;#966&lt;/a&gt;: phpcs-details.xsl not showing file name.&lt;/li&gt;
  &lt;li&gt;Closed &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2252&amp;amp;entry_id=79&quot; title=&quot;http://www.phpunit.de/ticket/863&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/ticket/863&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;#863&lt;/a&gt;: Destination option is now deprecated.&lt;/li&gt;
  &lt;li&gt;Fixed &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2253&amp;amp;entry_id=79&quot; title=&quot;http://www.phpunit.de/ticket/862&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/ticket/862&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;#862&lt;/a&gt;: Command line switches without parameter don&#039;t work.&lt;/li&gt;
  &lt;li&gt;Fixed &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2254&amp;amp;entry_id=79&quot; title=&quot;http://www.phpunit.de/ticket/861&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/ticket/861&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;#861&lt;/a&gt;: Password is used as username in check outs. This patch was supplied by Thorsten Daners via e-mail.&lt;/li&gt;
  &lt;li&gt;Fixed &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2255&amp;amp;entry_id=79&quot; title=&quot;http://www.phpunit.de/ticket/734&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/ticket/734&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;#734&lt;/a&gt;: Now the build dropdown redirects to the correct build uri.&lt;/li&gt;
  &lt;li&gt;Implemented &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2256&amp;amp;entry_id=79&quot; title=&quot;http://www.phpunit.de/ticket/703&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/ticket/703&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;#703&lt;/a&gt;: PHPUnit test results are now the first entry on the project overview page.&lt;/li&gt;
  &lt;li&gt;Fixed &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2257&amp;amp;entry_id=79&quot; title=&quot;http://www.phpunit.de/ticket/700&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/ticket/700&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;#700&lt;/a&gt;: Throw an exception when the specified project does not exist.&lt;/li&gt;
  &lt;li&gt;Implemented &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2258&amp;amp;entry_id=79&quot; title=&quot;http://www.phpunit.de/ticket/675&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/ticket/675&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;#675&lt;/a&gt;: Use &quot;php -l&quot; for lint checking and not PHPUnit.&lt;/li&gt;
  &lt;li&gt;Implemented &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2259&amp;amp;entry_id=79&quot; title=&quot;http://www.phpunit.de/ticket/625&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/ticket/625&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;#625&lt;/a&gt;: Integrate PHP_Depend results.&lt;/li&gt;
&lt;/ul&gt;

&lt;br /&gt;
&lt;p&gt;
  Beside the new release some more things have changed. From now on the phpUnderControl development is hosted on &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2260&amp;amp;entry_id=79&quot; title=&quot;http://github.com&quot;  onmouseover=&quot;window.status=&#039;http://github.com&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;github&lt;/a&gt;. This means that from now on the latest version of phpUnderControl can be obtained with the following command:
&lt;/p&gt;

&lt;pre&gt;
mapi@arwen ~ $ git clone \
               git://github.com/manuelpichler/phpUnderControl.git
&lt;/pre&gt;

&lt;p&gt;
Additionally we have moved the phpUnderControl&#039;s PEAR Channel Server from &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2261&amp;amp;entry_id=79&quot; title=&quot;http://pear.phpunit.de&quot;  onmouseover=&quot;window.status=&#039;http://pear.phpunit.de&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;pear.phpunit.de&lt;/a&gt; to its own server &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2262&amp;amp;entry_id=79&quot; title=&quot;http://pear.phpundercontrol.org&quot;  onmouseover=&quot;window.status=&#039;http://pear.phpundercontrol.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;pear.phpundercontrol.org&lt;/a&gt;. At this point I would like to thank &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2263&amp;amp;entry_id=79&quot; title=&quot;http://sebastian-bergmann.de/&quot;  onmouseover=&quot;window.status=&#039;http://sebastian-bergmann.de/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Sebastian&lt;/a&gt; for providing phpUnderControl&#039;s infrastructure under the &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2264&amp;amp;entry_id=79&quot; title=&quot;http://phpun.it&quot;  onmouseover=&quot;window.status=&#039;http://phpun.it&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;PHPUnit umbrella&lt;/a&gt; for the last three years.
&lt;/p&gt;

&lt;pre&gt;
mapi@arwen ~ $ pear uninstall phpunit/phpUnderControl
mapi@arwen ~ $ pear channel-discover pear.phpundercontrol.org
mapi@arwen ~ $ pear install --alldeps phpuc/phpUnderControl-beta
Starting to download phpUnderControl-0.5.1.tgz (539,717 bytes)
..........................................done: 539,717 bytes
install ok: channel://pear.phpundercontrol.org/phpUnderControl-0.5.1
&lt;/pre&gt; 
    </content:encoded>

    <pubDate>Sun, 31 Jan 2010 21:16:35 +0100</pubDate>
    <guid isPermaLink="false">http://www.manuel-pichler.de/archives/79-guid.html</guid>
    <category>ant</category>
<category>bug fix</category>
<category>continuous integration</category>
<category>phpundercontrol</category>
<category>release announcement</category>
<category>sebastian marek</category>

</item>
<item>
    <title>phpUnderControl 0.5.0 released</title>
    <link>http://www.manuel-pichler.de/archives/69-phpUnderControl-0.5.0-released.html</link>
            <category>php</category>
            <category>phpugdo</category>
            <category>phpundercontrol</category>
            <category>planet-php</category>
            <category>projects</category>
    
    <comments>http://www.manuel-pichler.de/archives/69-phpUnderControl-0.5.0-released.html#comments</comments>
    <wfw:comment>http://www.manuel-pichler.de/wfwcomment.php?cid=69</wfw:comment>

    <slash:comments>25</slash:comments>
    <wfw:commentRss>http://www.manuel-pichler.de/rss.php?version=2.0&amp;type=comments&amp;cid=69</wfw:commentRss>
    

    <author>nospam@example.com (Manuel Pichler)</author>
    <content:encoded>
    &lt;p&gt;
  After quite some time of silence around &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2194&amp;amp;entry_id=69&quot; title=&quot;http://php-under-control.org&quot;  onmouseover=&quot;window.status=&#039;http://php-under-control.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl&lt;/a&gt; I have bundled the 0.5.0 release today. Beside minor changes, bugfixes and enhancements this release contains one new major feature, the &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2182&amp;amp;entry_id=69&quot; title=&quot;http://www.phpunit.de/browser/phpcb/trunk&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/browser/phpcb/trunk&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;PHP_CodeBrowser&lt;/a&gt;.
&lt;/p&gt;

&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 400px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;a class=&#039;serendipity_image_link&#039; href=&#039;http://www.manuel-pichler.de/uploads/phpUnderControl/php-under-contro-and-php-code-browser.png&#039;&gt;&lt;!-- s9ymdb:60 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;400&quot; src=&quot;http://www.manuel-pichler.de/uploads/phpUnderControl/php-under-contro-and-php-code-browser.png&quot; alt=&quot;&quot;  /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;phpUnderControl integrating PHP_CodeBrowser&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;
  The &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2182&amp;amp;entry_id=69&quot; title=&quot;http://www.phpunit.de/browser/phpcb/trunk&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/browser/phpcb/trunk&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;PHP_CodeBrowser&lt;/a&gt; is a separate application that collects various XML log files with different project metrics/violations and presents them in a browseable source view with syntax highligting. This tool is a contribution by the &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2184&amp;amp;entry_id=69&quot; title=&quot;http://www.mayflower.de/&quot;  onmouseover=&quot;window.status=&#039;http://www.mayflower.de/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Mayflower GmbH&lt;/a&gt;, where it was developed and now shared with the Open Source Community. At this point I would like to thank Mayflower as a whole and in particular at &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2185&amp;amp;entry_id=69&quot; title=&quot;http://blog.thinkphp.de/archives/464-PHP_CodeBrowser-Release-version-0.1.0.html&quot;  onmouseover=&quot;window.status=&#039;http://blog.thinkphp.de/archives/464-PHP_CodeBrowser-Release-version-0.1.0.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Elger&lt;/a&gt; and &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2186&amp;amp;entry_id=69&quot; title=&quot;http://phpmyfaq.de/&quot;  onmouseover=&quot;window.status=&#039;http://phpmyfaq.de/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Thorsten&lt;/a&gt;, which were responsible for all technical aspects of this contribution.
&lt;/p&gt;

&lt;p&gt;
  To use the PHP_CodeBrowser you must add an additional &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2187&amp;amp;entry_id=69&quot; title=&quot;http://cruisecontrol.sourceforge.net/main/configxml.html#execute&quot;  onmouseover=&quot;window.status=&#039;http://cruisecontrol.sourceforge.net/main/configxml.html#execute&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;execute publisher&lt;/a&gt; to your &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2188&amp;amp;entry_id=69&quot; title=&quot;http://cruisecontrol.sourceforge.net&quot;  onmouseover=&quot;window.status=&#039;http://cruisecontrol.sourceforge.net&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;CruiseControl&lt;/a&gt; &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2189&amp;amp;entry_id=69&quot; title=&quot;http://cruisecontrol.sourceforge.net/main/configxml.html&quot;  onmouseover=&quot;window.status=&#039;http://cruisecontrol.sourceforge.net/main/configxml.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;config.xml&lt;/a&gt; file that generates the PHP_CodeBrowser html report and an additional &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2190&amp;amp;entry_id=69&quot; title=&quot;http://cruisecontrol.sourceforge.net/main/configxml.html#artifactspublisher&quot;  onmouseover=&quot;window.status=&#039;http://cruisecontrol.sourceforge.net/main/configxml.html#artifactspublisher&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;artifacts publisher&lt;/a&gt; to move the generated PHP_CodeBrowser report into the projects artifacts directory. 
&lt;/p&gt;

&lt;pre&gt;
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&amp;gt;
&amp;lt;cruisecontrol&amp;gt;
  &amp;lt;!-- ... --&amp;gt;
  &amp;lt;project name=&quot;PHP_Depend&quot; buildafterfailed=&quot;false&quot;&amp;gt;
    &amp;lt;!-- ... --&amp;gt;
    &amp;lt;publishers&amp;gt;
      &amp;lt;!-- ... --&amp;gt;
      &amp;lt;execute command=&quot;phpcb 
        --log projects/${project.name}/build/logs 
        --source projects/${project.name}/source/PHP 
        --output projects/${project.name}/build/php-code-browser&quot;/&amp;gt;
      &amp;lt;artifactspublisher 
        dir=&quot;projects/${project.name}/build/php-code-browser&quot; 
        dest=&quot;artifacts/${project.name}&quot; 
        subdirectory=&quot;php-code-browser&quot;/&amp;gt;
      &amp;lt;!-- ... --&amp;gt;
    &amp;lt;/publishers&amp;gt;
  &amp;lt;/project&amp;gt;
&amp;lt;/cruisecontrol&amp;gt;
&lt;/pre&gt;

&lt;p&gt;
  But why do we use a CruiseControl &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2191&amp;amp;entry_id=69&quot; title=&quot;http://cruisecontrol.sourceforge.net/main/configxml.html#publishers&quot;  onmouseover=&quot;window.status=&#039;http://cruisecontrol.sourceforge.net/main/configxml.html#publishers&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;publishers&lt;/a&gt; instead of a regular ant &lt;em&gt;(Your build tool here)&lt;/em&gt; &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2192&amp;amp;entry_id=69&quot; title=&quot;http://ant.apache.org/manual/using.html#targets&quot;  onmouseover=&quot;window.status=&#039;http://ant.apache.org/manual/using.html#targets&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;target&lt;/a&gt;? The answer is really simple. The PHP_CodeBrowser must be the very last artifact generated for a project, which means it must also run after PHPUnit, to collect the test result logs. But in most setups PHPUnit is configured with &lt;code&gt;failonerror=&quot;on&quot;&lt;/code&gt; to mark a build as failed, when an error occured during the test execution. But with this configuration a following PHP_CodeBrowser target would never be executed by &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2193&amp;amp;entry_id=69&quot; title=&quot;http://ant.apache.org/&quot;  onmouseover=&quot;window.status=&#039;http://ant.apache.org/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;ant&lt;/a&gt;, because the build failed already. This cannot happen with a CruiseControl publisher which is always executed in a separated process.
&lt;/p&gt;

&lt;p&gt;
  If you create a new project with phpUnderControl&#039;s &lt;code&gt;project&lt;/code&gt; command, phpUnderControl will automatically search for an installed PHP_CodeBrowser and add the required publishers to your &lt;code&gt;config.xml&lt;/code&gt; file when it is present.
&lt;/p&gt;

&lt;pre&gt;
mapi@arwen ~ $ phpuc project \
       --project-name PHP_Depend \
       --source-dir PHP \
       --test-case PHP_Depend_AllTests \
       --test-dir tests \
       --test-file PHP/Depend/AllTests.php \
       --version-control svn \
       --version-control-url http://svn.pdepend.org/branches/0.9.0 \
       /opt/cruisecontrol/cruisecontrol-bin-2.8.2
&lt;/pre&gt;

&lt;p&gt;
  To get the latest version of phpUnderControl, you can use the PEAR-Channel-Server:
&lt;/p&gt;

&lt;pre&gt;
mapi@arwen ~ $ pear channel-discover pear.phpunit.de
mapi@arwen ~ $ pear install phpunit/phpUnderControl-beta
&lt;/pre&gt;

&lt;p&gt;
  or you can check it out from the subversion repository:
&lt;/p&gt;

&lt;pre&gt;
mapi@arwen ~ $ svn co svn://phpunit.de/phpunit/phpUnderControl/trunk
&lt;/pre&gt; 
    </content:encoded>

    <pubDate>Sun, 06 Dec 2009 15:16:00 +0100</pubDate>
    <guid isPermaLink="false">http://www.manuel-pichler.de/archives/69-guid.html</guid>
    <category>elger</category>
<category>mayflower</category>
<category>phpundercontrol</category>
<category>php_codebrowser</category>
<category>release announcement</category>
<category>thorsten</category>

</item>
<item>
    <title>The value of complexity metrics - Cyclomatic Complexity (1/2)</title>
    <link>http://www.manuel-pichler.de/archives/55-The-value-of-complexity-metrics-Cyclomatic-Complexity-12.html</link>
            <category>php</category>
            <category>php_depend</category>
            <category>phpugdo</category>
            <category>phpundercontrol</category>
            <category>planet-php</category>
            <category>projects</category>
    
    <comments>http://www.manuel-pichler.de/archives/55-The-value-of-complexity-metrics-Cyclomatic-Complexity-12.html#comments</comments>
    <wfw:comment>http://www.manuel-pichler.de/wfwcomment.php?cid=55</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://www.manuel-pichler.de/rss.php?version=2.0&amp;type=comments&amp;cid=55</wfw:commentRss>
    

    <author>nospam@example.com (Manuel Pichler)</author>
    <content:encoded>
    &lt;p&gt;
  Software metrics are currently on everyone&#039;s lips and a frequently discussed topic. There are many conference talks, blog posts and other presentations that talk about software metrics. But to me it seems as if this subject is a closed book for many developers, so I decided to write this little post about a special category of software metrics, the complexity metrics.
&lt;/p&gt;
&lt;p&gt;
  Complexity metrics are a theoretical approach to measure the subjective complexity of a &lt;em&gt;software fragment&lt;/em&gt;, where the words &lt;em&gt;software fragment&lt;/em&gt; stand for a paraphrase for functions, methods, classes and nearly every logical unit that can be found in a software system. The most prevalent procedure to calculate complexity values is static code analysis, where an application parses the raw source code of a project, counts different statements and expressions and packs up the determined results in simple classification numbers. And with this information you already know the main concepts behind most software metrics, classification numbers and counting. As you can see there is no magic behind the scene, the only thing required is a good background knowledge to interpret those values.
&lt;/p&gt;
&lt;p&gt;
The &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2124&amp;amp;entry_id=55&quot;  onmouseover=&quot;window.status=&#039;http://classes.cecs.ucf.edu/eel6883/berrios/notes/Paper%204%20(Complexity%20Measure).pdf&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot; title=&quot;Thomas J. McCabe: A Complexity Measure&quot;&gt;Cyclomatic Complexity Number&lt;/a&gt; or short CCN is the 
oldest complexity metrics. The first time this software 
metric was mentioned was 1976 by Thomas J. McCabe. This 
metric counts the available decision paths in a software 
fragment to determine its complexity. Each decision path 
starts with one of the conditional statements from the 
following list, so that it is fairly easy to detect them in
existing source code.
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;?&lt;/li&gt;
  &lt;li&gt;case&lt;/li&gt;
  &lt;li&gt;elseif&lt;/li&gt;
  &lt;li&gt;for&lt;/li&gt;
  &lt;li&gt;foreach&lt;/li&gt;
  &lt;li&gt;if&lt;/li&gt;
  &lt;li&gt;while&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
A look at this list of statements may result in the questions:
Is this list wrong, it doesn&#039;t list &lt;code&gt;else&lt;/code&gt; and &lt;code&gt;default&lt;/code&gt;?
But it is correct. The assumption is that both statements
will contain the defaut execution path of a program which 
also exists when there are no special cases to capture.
&lt;/p&gt;

&lt;p&gt;
Each decision path gets the value &lt;em&gt;1&lt;/em&gt; and the sum of all these
values represents the Cyclomatic Complexity of the analyzed
software fragment. Note that each function and method also 
counts with a value of &lt;em&gt;1&lt;/em&gt; With this knowlegde we can now 
calculate the complexity of the following example code:
&lt;/p&gt;

&lt;div class=&quot;geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;lt;?php&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; CyclomaticComplexityNumber&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; function exampe&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt; $x, $y &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// (1)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt; $x &amp;gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;23&lt;/span&gt; || $y &amp;lt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;42&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// (1)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt; $i = $x; $i &amp;gt;= $x &amp;amp;&amp;amp;amp; $i &amp;lt;= $y; ++$i &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// (1)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;else&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;switch&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt; $x + $y &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;: &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// (1)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;break&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;: &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// (1)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;break&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;default&lt;/span&gt;:&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;break&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; file_exists&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&#039;/tmp/log&#039;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; or touch&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&#039;/tmp/log&#039;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

&lt;p&gt;
Based on the previous definition the Cyclomatic Complexity
Number of the example code example is &lt;em&gt;5&lt;/em&gt;. But you may have
noticed that this approach does not capture all decision paths
that exist. We haven&#039;t catched those paths that came from the
by the boolean expression &lt;code&gt;||&lt;/code&gt; line 6 and &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; line 8, and
the logical &lt;code&gt;or&lt;/code&gt; expression in line 25. A variation of the
Cyclomatic Complexity Number that also captures those paths
is the so called CCN2. The CCN2 is the most widely used
variation of this software metrics. Tools like PHPUnit, PMD
and Checkstyle report it as Cyclomatic Complexity of an
analyzed software fragment.
&lt;/p&gt;

&lt;p&gt;
Now we get a complexity value of &lt;em&gt;8&lt;/em&gt; when we apply the CCN2
to the previous example, what is a growt of the software&#039;s
complexity of 60%.
&lt;/p&gt;

&lt;p&gt;
Due to the fact that Cyclomatic Complexity Number was
originally invented for procedural programming languages,
this definition for the Cyclomatic Complexity Number still
misses one element to measure the complexity of an object
oriented software system. With the concept of exceptions a
software gets additional decision paths for each &lt;code&gt;catch&lt;/code&gt;
statement used in the source code. While &lt;code&gt;try&lt;/code&gt; contains
the code for the regular execution code without special
cases, similar to &lt;code&gt;else&lt;/code&gt; and &lt;code&gt;default&lt;/code&gt; statements.
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;?&lt;/li&gt;
  &lt;li&gt;&amp;amp;&amp;amp;&lt;/li&gt;
  &lt;li&gt;||&lt;/li&gt;
  &lt;li&gt;or&lt;/li&gt;
  &lt;li&gt;and&lt;/li&gt;
  &lt;li&gt;xor&lt;/li&gt;
  &lt;li&gt;case&lt;/li&gt;
  &lt;li&gt;catch&lt;/li&gt;
  &lt;li&gt;elseif&lt;/li&gt;
  &lt;li&gt;for&lt;/li&gt;
  &lt;li&gt;foreach&lt;/li&gt;
  &lt;li&gt;if&lt;/li&gt;
  &lt;li&gt;while&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Now that we know what the Cyclomatic Complexity Number is,
what can we do with the measured information? We can find
the complexity hotspots in a system, for example the top
ten artifacts with the highest complexity, but this is only
important during an initial analyses phase to get the big
picture of an application. For a continuous inspection this
information is not so important. A continuous analyses
requires thresholds that help to categories calculated
values. During the time four values have emerged as good
thresholds for the Cyclomatic Complexity Number of a
software system.
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;A software fragment with a CCN value between &lt;em&gt;1-4&lt;/em&gt; has
  low complexity.&lt;/li&gt;
  &lt;li&gt;A complexity value between &lt;em&gt;5-7&lt;/em&gt; is moderate and still
  easy to understand.&lt;/li&gt;
  &lt;li&gt;Everything between &lt;em&gt;6-10&lt;/em&gt; has a high complexity, while
  everything greater &lt;em&gt;10&lt;/em&gt; is very complex and hard to
  understand.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
You may ask, why should I care about the complexity of a
software system, where is the value of benefit in this
metric?
&lt;/p&gt;

&lt;p&gt;
Mostly the complex parts of an application contain business
critical logic. But this complexity has negative impacts on
the readability and understandability of source code. Those
parts will normally become a maintainence and bug fixing
nightmare, because no one knows all the constraints, side
effects and what&#039;s exactly going on in that part of the
software. This situation results in the well known saying
&lt;em&gt;&quot;Never touch a running system&quot;&lt;/em&gt; which in turn mostly ends
in copy&amp;amp;paste programming. The situation can even become
more critical when the original author leaves the
development team or the company.
&lt;/p&gt;

&lt;p&gt;
Finally a small example how to apply the new knowledge
about the Cyclomatic Complexity Number, thresholds and the
negative impacts of complex software to an existing
development process. The following source listing shows
a complex method taken from PHP_Depend&#039;s source. This method
has a Cyclomatic Complexity Number of &lt;em&gt;16&lt;/em&gt; and I must admit
that the original author needed some time to understand what
was going on in this method.
&lt;/p&gt;

&lt;div class=&quot;geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;lt;?php&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// ...&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; function _countCalls&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;AbstractCallable $callable&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; $callT&amp;#160; = array&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; TokenizerI::T_STRING,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; TokenizerI::T_VARIABLE&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; $chainT = array&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; TokenizerI::T_DOUBLE_COLON,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; TokenizerI::T_OBJECT_OPERATOR,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; $called = array&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; $tokens = $callable-&amp;gt;getTokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; $count&amp;#160; = count&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$i = &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;; $i &amp;lt; $count; ++$i&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// break on function body open&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$i&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;type === TokenizerI::T_CURLY_BRACE_OPEN&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;break&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;; $i &amp;lt; $count; ++$i&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// Skip non parenthesis tokens&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$i&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;type !== TokenizerI::T_PARENTHESIS_OPEN&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;continue&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// Skip first token&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;!isset&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$i - &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; || !in_array&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$i - &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;type, $callT&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;continue&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// Count if no other token exists&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;!isset&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$i - &lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &amp;amp;&amp;amp;amp; !isset&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$called&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$i - &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;image&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; $called&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$i - &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;image&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt; = &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;true&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ++$this-&amp;gt;_calls;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;continue&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;in_array&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$i - &lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;type, $chainT&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; $identifier = $tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$i - &lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;image . $tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$i - &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;image;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$j = $i - &lt;span style=&quot;color: #cc66cc;&quot;&gt;3&lt;/span&gt;; $j &amp;gt;= &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;; --$j&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;!in_array&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$j&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;type, $callT&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;amp;&amp;amp;amp; !in_array&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$j&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;type, $chainT&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;break&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; $identifier = $tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$j&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;image . $identifier;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;!isset&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$called&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$identifier&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; $called&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$identifier&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt; = &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;true&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ++$this-&amp;gt;_calls;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$i - &lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;type !== TokenizerI::T_NEW&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;amp;&amp;amp;amp; !isset&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$called&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$i - &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;image&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; $called&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$i - &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;image&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt; = &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;true&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ++$this-&amp;gt;_calls;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

&lt;p&gt;
The first thing to do is to make sure that the test suite
is good enough to ensure that the required refactorings
will not change the public behavior of the component or
class. When this is donw and we are sure our that api
breaks will be detected by the test suitewe can start to
extract logic into separate methods.
&lt;/p&gt;

&lt;p&gt;
The following example shows the result of the refactoring:
&lt;/p&gt;

&lt;div class=&quot;geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;lt;?php&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;// ...&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; function _countCalls&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;AbstractCallable $callable&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; $called = array&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; $tokens = $callable-&amp;gt;getTokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; $count&amp;#160; = count&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$i = $this-&amp;gt;_findOpenCurlyBrace&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;; $i &amp;lt; $count; ++$i&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$this-&amp;gt;_isCallableOpenParenthesis&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$tokens, $i&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; === &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;continue&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$this-&amp;gt;_isMethodInvocation&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$tokens, $i&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; === &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; $image = $this-&amp;gt;_getInvocationChainImage&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$tokens, $i&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$this-&amp;gt;_isFunctionInvocation&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$tokens, $i&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; === &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; $image = $tokens&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$i - &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;-&amp;gt;image;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; $image = &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;null&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$image !== &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; $called&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;$image&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt; = $image;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; $this-&amp;gt;_calls += count&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$called&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

&lt;p&gt;
The subjective feeling of readability heavily depends on the
complexity of control structures, as we can see by a
comparison of the original and the refactored version of the
method example. The new version with its Cyclomatic Complexity
Number of &lt;em&gt;5&lt;/em&gt; is much easier to read and understand.
&lt;/p&gt;

&lt;p&gt;
This text is the first of two blog posts. The second article
will give a short introduction into the &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2125&amp;amp;entry_id=55&quot;  onmouseover=&quot;window.status=&#039;http://portal.acm.org/citation.cfm?id=42379&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot; title=&quot;NPATH: a measure of execution path complexity and its applications&quot;&gt;NPath Complexity&lt;/a&gt;
You liked this article and you are interested in this and
other quality assurence related topics? - Then you should
now order your copy of the Book &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url=aHR0cDovL3F1YWxpdHlhc3N1cmFuY2VpbnBocHByb2plY3RzLmNvbQ==&amp;amp;entry_id=55&quot;  onmouseover=&quot;window.status=&#039;http://qualityassuranceinphpprojects.com&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot; title=&quot;Quality Assurance in PHP Projects&quot;&gt;Quality Assurance in PHP 
Projects&lt;/a&gt;. The book talks about nearly all aspect of
quality assurence, with practical tips and expert knowledge
contributed by certain PHP professionals.
&lt;/p&gt;


 
    </content:encoded>

    <pubDate>Tue, 07 Jul 2009 21:20:00 +0200</pubDate>
    <guid isPermaLink="false">http://www.manuel-pichler.de/archives/55-guid.html</guid>
    <category>checkstyle</category>
<category>cyclomatic complexity</category>
<category>design quality</category>
<category>npath complexity</category>
<category>php_depend</category>
<category>quality assurance</category>
<category>software metrics</category>

</item>
<item>
    <title>phpUnderControl tutorial</title>
    <link>http://www.manuel-pichler.de/archives/52-phpUnderControl-tutorial.html</link>
            <category>php</category>
            <category>phpundercontrol</category>
            <category>projects</category>
    
    <comments>http://www.manuel-pichler.de/archives/52-phpUnderControl-tutorial.html#comments</comments>
    <wfw:comment>http://www.manuel-pichler.de/wfwcomment.php?cid=52</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://www.manuel-pichler.de/rss.php?version=2.0&amp;type=comments&amp;cid=52</wfw:commentRss>
    

    <author>nospam@example.com (Manuel Pichler)</author>
    <content:encoded>
    &lt;p&gt;
  Just now I found in Felix&#039;s &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2103&amp;amp;entry_id=52&quot; title=&quot;http://felix.phpbelgium.be/blog&quot;  onmouseover=&quot;window.status=&#039;http://felix.phpbelgium.be/blog&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;blog&lt;/a&gt; this excellent &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2100&amp;amp;entry_id=52&quot; title=&quot;http://felix.phpbelgium.be/blog/2009/02/07/setting-up-phpundercontrol/&quot;  onmouseover=&quot;window.status=&#039;http://felix.phpbelgium.be/blog/2009/02/07/setting-up-phpundercontrol/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl tutorial&lt;/a&gt; that comes with useful tips and helping scripts. Because I think it is a really good source to get started with &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2101&amp;amp;entry_id=52&quot; title=&quot;http://www.phpundercontrol.org&quot;  onmouseover=&quot;window.status=&#039;http://www.phpundercontrol.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl&lt;/a&gt; I will link it here.
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Wed, 25 Feb 2009 15:40:20 +0100</pubDate>
    <guid isPermaLink="false">http://www.manuel-pichler.de/archives/52-guid.html</guid>
    <category>continuous integration</category>
<category>cruisecontrol</category>
<category>phpundercontrol</category>
<category>tutorial</category>

</item>
<item>
    <title>phpUnderControl 0.4.7 released</title>
    <link>http://www.manuel-pichler.de/archives/44-phpUnderControl-0.4.7-released.html</link>
            <category>php</category>
            <category>phpugdo</category>
            <category>phpundercontrol</category>
            <category>projects</category>
    
    <comments>http://www.manuel-pichler.de/archives/44-phpUnderControl-0.4.7-released.html#comments</comments>
    <wfw:comment>http://www.manuel-pichler.de/wfwcomment.php?cid=44</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.manuel-pichler.de/rss.php?version=2.0&amp;type=comments&amp;cid=44</wfw:commentRss>
    

    <author>nospam@example.com (Manuel Pichler)</author>
    <content:encoded>
    &lt;ul&gt;
  &lt;li&gt;
    &lt;strong&gt;Bug fix&lt;/strong&gt;: CC is compatible with Java 1.5, but the phpUnderControl 0.4.6 sources were compiled against Java 1.6.
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
  &lt;br /&gt;
  Visit phpUnderControl&#039;s &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2047&amp;amp;entry_id=44&quot; title=&quot;http://phpundercontrol.org/download.html&quot;  onmouseover=&quot;window.status=&#039;http://phpundercontrol.org/download.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;download page&lt;/a&gt; for release packages.
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 30 Nov 2008 13:31:38 +0100</pubDate>
    <guid isPermaLink="false">http://www.manuel-pichler.de/archives/44-guid.html</guid>
    <category>continuous integration</category>
<category>cruisecontrol</category>
<category>phpundercontrol</category>
<category>release announcement</category>

</item>
<item>
    <title>phpUnderControl 0.4.6 released</title>
    <link>http://www.manuel-pichler.de/archives/43-phpUnderControl-0.4.6-released.html</link>
            <category>php</category>
            <category>phpugdo</category>
            <category>phpundercontrol</category>
            <category>planet-php</category>
            <category>projects</category>
    
    <comments>http://www.manuel-pichler.de/archives/43-phpUnderControl-0.4.6-released.html#comments</comments>
    <wfw:comment>http://www.manuel-pichler.de/wfwcomment.php?cid=43</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://www.manuel-pichler.de/rss.php?version=2.0&amp;type=comments&amp;cid=43</wfw:commentRss>
    

    <author>nospam@example.com (Manuel Pichler)</author>
    <content:encoded>
    &lt;ul&gt;
  &lt;li&gt;
    Fixed &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2039&amp;amp;entry_id=43&quot; title=&quot;http://www.phpunit.de/ticket/621&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/ticket/621&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;&lt;strong&gt;#621&lt;/strong&gt;&lt;/a&gt;:
    phpUnderControl dashboard is broken with CruiseControl 2.8 - 
    &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2040&amp;amp;entry_id=43&quot; title=&quot;http://www.phpunit.de/changeset/4085&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/changeset/4085&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;[4085]&lt;/a&gt;
  &lt;/li&gt;
  &lt;li&gt;
    Closed &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2041&amp;amp;entry_id=43&quot; title=&quot;http://www.phpunit.de/ticket/609&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/ticket/609&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;&lt;strong&gt;#609&lt;/strong&gt;&lt;/a&gt;:
    Use artifacts directory for artifacts - 
    &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2042&amp;amp;entry_id=43&quot; title=&quot;http://www.phpunit.de/changeset/4118&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/changeset/4118&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;[4118]&lt;/a&gt;
  &lt;/li&gt;
  &lt;li&gt;
    Closed &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2043&amp;amp;entry_id=43&quot; title=&quot;http://www.phpunit.de/ticket/611&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/ticket/611&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;&lt;strong&gt;#611&lt;/strong&gt;&lt;/a&gt;:
    opera: code coverage not visible - 
    &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2044&amp;amp;entry_id=43&quot; title=&quot;http://www.phpunit.de/changeset/4119&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/changeset/4119&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;[4119]&lt;/a&gt;
  &lt;/li&gt;
  &lt;li&gt;
    Closed &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2045&amp;amp;entry_id=43&quot; title=&quot;http://www.phpunit.de/ticket/622&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/ticket/622&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;&lt;strong&gt;#622&lt;/strong&gt;&lt;/a&gt;:
    phpUnderControl needs a custom error page - 
    &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2046&amp;amp;entry_id=43&quot; title=&quot;http://www.phpunit.de/changeset/4116&quot;  onmouseover=&quot;window.status=&#039;http://www.phpunit.de/changeset/4116&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;[4116]&lt;/a&gt;
  &lt;/li&gt;
&lt;/ul&gt; 
    </content:encoded>

    <pubDate>Sun, 23 Nov 2008 21:14:16 +0100</pubDate>
    <guid isPermaLink="false">http://www.manuel-pichler.de/archives/43-guid.html</guid>
    <category>cruisecontrol</category>
<category>dashboard</category>
<category>phpundercontrol</category>
<category>release announcement</category>

</item>
<item>
    <title>Documentation error for &quot;merge-phpunit&quot;</title>
    <link>http://www.manuel-pichler.de/archives/41-Documentation-error-for-merge-phpunit.html</link>
            <category>php</category>
            <category>phpugdo</category>
            <category>phpundercontrol</category>
            <category>planet-php</category>
            <category>projects</category>
    
    <comments>http://www.manuel-pichler.de/archives/41-Documentation-error-for-merge-phpunit.html#comments</comments>
    <wfw:comment>http://www.manuel-pichler.de/wfwcomment.php?cid=41</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.manuel-pichler.de/rss.php?version=2.0&amp;type=comments&amp;cid=41</wfw:commentRss>
    

    <author>nospam@example.com (Manuel Pichler)</author>
    <content:encoded>
    &lt;p&gt;
  There was a documentation error in the &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2033&amp;amp;entry_id=41&quot;  onmouseover=&quot;window.status=&#039;http://www.manuel-pichler.de/archives/37-phpUnderControl-0.4.3-released.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot; title=&quot;phpUnderControl 0.4.3 released&quot;&gt;previously&lt;/a&gt; presented &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2022&amp;amp;entry_id=41&quot; title=&quot;http://ant.apache.org&quot;  onmouseover=&quot;window.status=&#039;http://ant.apache.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;ant&lt;/a&gt; build file for the new &lt;code&gt;merge-phpunit&lt;/code&gt; command of &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2023&amp;amp;entry_id=41&quot; title=&quot;http://www.phpundercontrol&quot;  onmouseover=&quot;window.status=&#039;http://www.phpundercontrol&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl&lt;/a&gt;. The &lt;code&gt;@failonerror&lt;/code&gt;-attribute of the &lt;code&gt;&amp;lt;exec /&amp;gt;&lt;/code&gt;-tag in the merge target was set to &lt;code&gt;false&lt;/code&gt;, which results in not failed &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2024&amp;amp;entry_id=41&quot; title=&quot;http://cruisecontrol.sourceforge.net/&quot;  onmouseover=&quot;window.status=&#039;http://cruisecontrol.sourceforge.net/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;CruiseControl&lt;/a&gt; builds &lt;img src=&quot;http://www.manuel-pichler.de/templates/default/img/emoticons/sad.png&quot; alt=&quot;:-(&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; To fix this behaviour, you must modify the merge target in your &lt;code&gt;build.xml&lt;/code&gt;, so that it looks similar to the following example.
&lt;/p&gt;

&lt;div class=&quot;geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;?xml &lt;span style=&quot;color: #000066;&quot;&gt;version&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;1.0&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;encoding&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;project&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;phpuc-test&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;default&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;build&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;basedir&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;.&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; ....&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;target&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;merge&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;exec&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;executable&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;/usr/local/pear/PEAR/bin/phpuc&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;dir&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;${basedir}&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;failonerror&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;true&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;arg&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;line&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;merge-phpunit&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;-b php-5.3.0,php-5.2.6,php-5.2.5&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;-i ${basedir}/build/tmp/php-5.3.0.xml,${basedir}/build/tmp/php-5.2.6.xml,${basedir}/build/tmp/php-5.2.5.xml&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;-o ${basedir}/build/logs/log.xml&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/exec&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/target&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/project&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

&lt;p&gt;
  Beside this documentation error, there was a &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2035&amp;amp;entry_id=41&quot;  onmouseover=&quot;window.status=&#039;http://www.manuel-pichler.de/archives/40-phpUnderControl-0.4.4-bugfix-release.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot; title=&quot;phpUnderControl 0.4.4 bugfix release&quot;&gt;bug&lt;/a&gt; in &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2027&amp;amp;entry_id=41&quot; title=&quot;http://www.phpundercontrol.org&quot;  onmouseover=&quot;window.status=&#039;http://www.phpundercontrol.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;version 0.4.3&lt;/a&gt; related to the same topic, which is fixed now. So please make sure you have the latest version &lt;em&gt;(at least 0.4.4)&lt;/em&gt; installed.
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 20 Sep 2008 10:51:47 +0200</pubDate>
    <guid isPermaLink="false">http://www.manuel-pichler.de/archives/41-guid.html</guid>
    <category>ant</category>
<category>continuous integration</category>
<category>cruisecontrol</category>
<category>phpundercontrol</category>
<category>phpunit</category>

</item>
<item>
    <title>phpUnderControl 0.4.4 bugfix release</title>
    <link>http://www.manuel-pichler.de/archives/40-phpUnderControl-0.4.4-bugfix-release.html</link>
            <category>php</category>
            <category>phpugdo</category>
            <category>phpundercontrol</category>
            <category>projects</category>
    
    <comments>http://www.manuel-pichler.de/archives/40-phpUnderControl-0.4.4-bugfix-release.html#comments</comments>
    <wfw:comment>http://www.manuel-pichler.de/wfwcomment.php?cid=40</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.manuel-pichler.de/rss.php?version=2.0&amp;type=comments&amp;cid=40</wfw:commentRss>
    

    <author>nospam@example.com (Manuel Pichler)</author>
    <content:encoded>
    &lt;p&gt;
  I recently released a bugfix version of &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2019&amp;amp;entry_id=40&quot; title=&quot;http://www.phpundercontrol.org&quot;  onmouseover=&quot;window.status=&#039;http://www.phpundercontrol.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl&lt;/a&gt;. Beside some minor view errors like the &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2020&amp;amp;entry_id=40&quot; title=&quot;http://manuel-pichler.de/archives/39-XSL-Hell.html&quot;  onmouseover=&quot;window.status=&#039;http://manuel-pichler.de/archives/39-XSL-Hell.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;odd/even rows&lt;/a&gt; problem, the 0.4.4 release of &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2019&amp;amp;entry_id=40&quot; title=&quot;http://www.phpundercontrol.org&quot;  onmouseover=&quot;window.status=&#039;http://www.phpundercontrol.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl&lt;/a&gt; fixes a bug in the new &lt;i&gt;merged phpunit logs&lt;/i&gt; feature, which doesn&#039;t  cause CruiseControl to fail for such builds.
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Wed, 10 Sep 2008 21:10:26 +0200</pubDate>
    <guid isPermaLink="false">http://www.manuel-pichler.de/archives/40-guid.html</guid>
    <category>continuous integration</category>
<category>cruisecontrol</category>
<category>php5</category>
<category>phpundercontrol</category>
<category>phpunit</category>
<category>release announcement</category>

</item>
<item>
    <title>phpUnderControl 0.4.3 released</title>
    <link>http://www.manuel-pichler.de/archives/37-phpUnderControl-0.4.3-released.html</link>
            <category>php</category>
            <category>phpugdo</category>
            <category>phpundercontrol</category>
            <category>planet-php</category>
            <category>projects</category>
    
    <comments>http://www.manuel-pichler.de/archives/37-phpUnderControl-0.4.3-released.html#comments</comments>
    <wfw:comment>http://www.manuel-pichler.de/wfwcomment.php?cid=37</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.manuel-pichler.de/rss.php?version=2.0&amp;type=comments&amp;cid=37</wfw:commentRss>
    

    <author>nospam@example.com (Manuel Pichler)</author>
    <content:encoded>
    &lt;p&gt;
  I currently released a new version of &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2010&amp;amp;entry_id=37&quot; title=&quot;http://www.phpundercontrol.org&quot;  onmouseover=&quot;window.status=&#039;http://www.phpundercontrol.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl&lt;/a&gt;. Beside some minor fixes this release comes with a new feature to aggregate test results of multiple &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2011&amp;amp;entry_id=37&quot; title=&quot;http://www.phpun.it&quot;  onmouseover=&quot;window.status=&#039;http://www.phpun.it&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;PHPUnit&lt;/a&gt; runs.
&lt;/p&gt;

&lt;p&gt;
  Use the new cli command &lt;code&gt;merge-phpunit&lt;/code&gt; of &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2010&amp;amp;entry_id=37&quot; title=&quot;http://www.phpundercontrol.org&quot;  onmouseover=&quot;window.status=&#039;http://www.phpundercontrol.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl&lt;/a&gt; to merge multiple log files produced with &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2011&amp;amp;entry_id=37&quot; title=&quot;http://www.phpun.it&quot;  onmouseover=&quot;window.status=&#039;http://www.phpun.it&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;PHPUnit&lt;/a&gt;, as shown in the following example build file for ant.
&lt;/p&gt;

&lt;div class=&quot;geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;?xml &lt;span style=&quot;color: #000066;&quot;&gt;version&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;1.0&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;encoding&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;project&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;phpuc-test&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;default&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;build&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;basedir&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;.&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;target&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;build&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;depends&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;clean,p5.3.0,p5.2.5,p5.2.6,merge&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;target&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;clean&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;delete&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;fileset&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;dir&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;${basedir}/build/tmp&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;include&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;*.xml&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/fileset&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/delete&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/target&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;target&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;p5.2.5&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;exec&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;executable&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;/usr/local/bin/php525&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;dir&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;${basedir}&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;failonerror&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;false&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;arg&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;line&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;/usr/local/pear/bin/phpunit&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;--configuration ${basedir}/phpunit.xml&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;--log-xml ${basedir}/build/tmp/php-5.2.5.xml&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;PhpUnderControl_Example_MathTest source/tests/MathTest.php&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/exec&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/target&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;target&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;p5.2.6&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;exec&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;executable&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;/usr/local/bin/php526&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;dir&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;${basedir}&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;failonerror&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;false&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;arg&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;line&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;/usr/local/pear/bin/phpunit&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;--configuration ${basedir}/phpunit.xml&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;--log-xml ${basedir}/build/tmp/php-5.2.6.xml&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;PhpUnderControl_Example_MathTest source/tests/MathTest.php&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/exec&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/target&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;target&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;p5.3.0&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;exec&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;executable&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;/usr/local/php/bin/php&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;dir&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;${basedir}&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;failonerror&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;false&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;arg&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;line&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;/usr/local/pear/bin/phpunit&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;--configuration ${basedir}/phpunit.xml&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;--log-xml ${basedir}/build/tmp/php-5.3.0.xml&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;PhpUnderControl_Example_MathTest source/tests/MathTest.php&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/exec&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/target&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;target&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;merge&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;exec&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;executable&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;/home/manu/Desktop/Projects/workspace.xplib.de/phpUnderControl/trunk/bin/phpuc.php&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;dir&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;${basedir}&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;failonerror&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;false&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;arg&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;line&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;merge-phpunit&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;-b php-5.3.0,php-5.2.6,php-5.2.5&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;-i ${basedir}/build/tmp/php-5.3.0.xml,${basedir}/build/tmp/php-5.2.6.xml,${basedir}/build/tmp/php-5.2.5.xml&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;-o ${basedir}/build/logs/log.xml&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/exec&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/target&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/project&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: &#039;Courier New&#039;, Courier, monospace; font-weight: normal;&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

The following picture shows the &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2010&amp;amp;entry_id=37&quot; title=&quot;http://www.phpundercontrol.org&quot;  onmouseover=&quot;window.status=&#039;http://www.phpundercontrol.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl&lt;/a&gt; result of such a merged log file:

&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 400px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;a class=&#039;serendipity_image_link&#039; href=&#039;http://www.manuel-pichler.de/uploads/phpUnderControl/0.4.3-phpuc-merge-phpunit.png&#039;&gt;&lt;!-- s9ymdb:55 --&gt;&lt;img width=&quot;400&quot; height=&quot;250&quot; src=&quot;http://www.manuel-pichler.de/uploads/phpUnderControl/0.4.3-phpuc-merge-phpunit.serendipityThumb.png&quot; alt=&quot;&quot;  /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;phpUnderControl merged phpunit log view&lt;/div&gt;&lt;/div&gt;
 
    </content:encoded>

    <pubDate>Sun, 07 Sep 2008 19:11:00 +0200</pubDate>
    <guid isPermaLink="false">http://www.manuel-pichler.de/archives/37-guid.html</guid>
    <category>continuous integration</category>
<category>cruisecontrol</category>
<category>phpundercontrol</category>
<category>phpunit</category>
<category>release announcement</category>

</item>
<item>
    <title>Things go on </title>
    <link>http://www.manuel-pichler.de/archives/36-Things-go-on.html</link>
            <category>php</category>
            <category>php_depend</category>
            <category>phpugdo</category>
            <category>phpundercontrol</category>
            <category>projects</category>
    
    <comments>http://www.manuel-pichler.de/archives/36-Things-go-on.html#comments</comments>
    <wfw:comment>http://www.manuel-pichler.de/wfwcomment.php?cid=36</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.manuel-pichler.de/rss.php?version=2.0&amp;type=comments&amp;cid=36</wfw:commentRss>
    

    <author>nospam@example.com (Manuel Pichler)</author>
    <content:encoded>
    &lt;p&gt;
  Even if there is not much noise around &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2008&amp;amp;entry_id=36&quot; title=&quot;http://www.phpundercontrol.org&quot;  onmouseover=&quot;window.status=&#039;http://www.phpundercontrol.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl&lt;/a&gt; and PHP_Depend at the moment, the development of both projects still goes on. Due to the fact that there are some &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2009&amp;amp;entry_id=36&quot; title=&quot;http://manuel-pichler.de/archives/35-Now-I-am-a-dad.html&quot;  onmouseover=&quot;window.status=&#039;http://manuel-pichler.de/archives/35-Now-I-am-a-dad.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;personal movements&lt;/a&gt; in these days I have modified my priorities and everything evolves slower, but I plan to spend more time on these projects, at least from the last quarter of this year. 
&lt;/p&gt;
&lt;p&gt;
To put your minds on rest, the next release of &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=2008&amp;amp;entry_id=36&quot; title=&quot;http://www.phpundercontrol.org&quot;  onmouseover=&quot;window.status=&#039;http://www.phpundercontrol.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl&lt;/a&gt; is nearly finished, so stay tuned.
&lt;/p&gt;
&lt;p&gt;
  Greetings Manuel
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Wed, 20 Aug 2008 21:26:00 +0200</pubDate>
    <guid isPermaLink="false">http://www.manuel-pichler.de/archives/36-guid.html</guid>
    <category>php</category>
<category>phpundercontrol</category>
<category>php_depend</category>

</item>
<item>
    <title>Everything looks fine, but it fails</title>
    <link>http://www.manuel-pichler.de/archives/33-Everything-looks-fine,-but-it-fails.html</link>
            <category>php</category>
            <category>phpugdo</category>
            <category>phpundercontrol</category>
            <category>projects</category>
    
    <comments>http://www.manuel-pichler.de/archives/33-Everything-looks-fine,-but-it-fails.html#comments</comments>
    <wfw:comment>http://www.manuel-pichler.de/wfwcomment.php?cid=33</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.manuel-pichler.de/rss.php?version=2.0&amp;type=comments&amp;cid=33</wfw:commentRss>
    

    <author>nospam@example.com (Manuel Pichler)</author>
    <content:encoded>
    &lt;p&gt;
  Yesterday &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=1990&amp;amp;entry_id=33&quot;  onmouseover=&quot;window.status=&#039;http://kore-nordmann.de/blog.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot; title=&quot;Kore Nordmann - PHP / Projects / Politics&quot;&gt;kore&lt;/a&gt; asked me about a strange behavior of &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=1991&amp;amp;entry_id=33&quot; title=&quot;http://www.phpundercontrol.org&quot;  onmouseover=&quot;window.status=&#039;http://www.phpundercontrol.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl&lt;/a&gt;. The last &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=1992&amp;amp;entry_id=33&quot; title=&quot;http://www.arbitracker.org&quot;  onmouseover=&quot;window.status=&#039;http://www.arbitracker.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;arbit&lt;/a&gt; build done by &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=1991&amp;amp;entry_id=33&quot; title=&quot;http://www.phpundercontrol.org&quot;  onmouseover=&quot;window.status=&#039;http://www.phpundercontrol.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl&lt;/a&gt; has failed, but when we looked over the different result pages everything looks fine. 
&lt;/p&gt;

&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 400px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;a class=&#039;serendipity_image_link&#039; href=&#039;http://www.manuel-pichler.de/uploads/phpUnderControl/arbit-failed-old-logs.png&#039;&gt;&lt;!-- s9ymdb:53 --&gt;&lt;img width=&quot;400&quot; height=&quot;250&quot; src=&quot;http://www.manuel-pichler.de/uploads/phpUnderControl/arbit-failed-old-logs.serendipityThumb.png&quot; alt=&quot;&quot;  /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;phpUnderControl overview page of arbit&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;
  Strange! What has happened?
&lt;/p&gt;

&lt;p&gt;
  After an analysis session of the 6MB XML log file I detected the following self explaining entry. The &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=1994&amp;amp;entry_id=33&quot; title=&quot;http://www.phpun.it&quot;  onmouseover=&quot;window.status=&#039;http://www.phpun.it&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;PHPUnit&lt;/a&gt; tests for &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=1992&amp;amp;entry_id=33&quot; title=&quot;http://www.arbitracker.org&quot;  onmouseover=&quot;window.status=&#039;http://www.arbitracker.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;arbit&lt;/a&gt; had completely failed.
&lt;/p&gt;

&lt;div class=&quot;geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;?xml &lt;span style=&quot;color: #000066;&quot;&gt;version&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;1.0&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;encoding&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;cruisecontrol&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; ...&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;build&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;error&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;.../arbit/build.xml:20: exec returned: 255&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;time&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;12 minutes 56 seconds&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; ...&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;target&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;phpunit&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;time&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;1 second&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;task&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;location&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;.../arbit/build.xml:20: &quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;exec&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;time&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;1 second&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;message&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;priority&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;debug&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;![CDATA[Current OS is Linux]]&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/message&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;message&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;priority&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;debug&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;![CDATA[Executing &#039;phpunit&#039; with arguments:&lt;br /&gt;&#039;--log-xml&#039;&lt;br /&gt;&#039;build/logs/phpunit.xml&#039;&lt;br /&gt;&#039;--log-pmd&#039;&lt;br /&gt;&#039;build/logs/phpunit.pmd.xml&#039;&lt;br /&gt;&#039;--log-metrics&#039;&lt;br /&gt;&#039;build/logs/phpunit.metrics.xml&#039;&lt;br /&gt;&#039;--coverage-xml&#039;&lt;br /&gt;&#039;build/logs/phpunit.coverage.xml&#039;&lt;br /&gt;&#039;--coverage-html&#039;&lt;br /&gt;&#039;build/coverage&#039;&lt;br /&gt;&#039;arbitTestSuite&#039;&lt;br /&gt;&#039;source/tests/suite.php&#039;&lt;br /&gt;&lt;br /&gt;The &#039; characters around the executable and arguments are&lt;br /&gt;not part of the command.]]&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/message&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;message&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;priority&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;info&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;![CDATA[Fatal error: main(): Failed opening required &#039;modules_tracker_suite.php&#039; (include_path=&#039;.../arbit/source/src/:.../arbit/source/src/libraries/:.:.../php-5.3-cvs/lib/php&#039;) in .../arbit/source/tests/suite.php on line 0]]&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/message&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;message&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;priority&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;info&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;![CDATA[Call Stack:]]&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/message&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;message&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;priority&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;info&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;![CDATA[0.0005&amp;#160; &amp;#160; &amp;#160;318436&amp;#160; &amp;#160;1. {main}() .../php-5.3-cvs/bin/phpunit:0]]&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/message&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;message&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;priority&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;info&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;![CDATA[0.2345&amp;#160; &amp;#160; &amp;#160;542264&amp;#160; &amp;#160;2. require(&#039;.../php-5.3-cvs/lib/php/PHPUnit/TextUI/Command.php&#039;) .../php-5.3-cvs/bin/phpunit:44]]&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/message&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;message&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;priority&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;info&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;![CDATA[1.0595&amp;#160; &amp;#160; 5278380&amp;#160; &amp;#160;3. PHPUnit_TextUI_Command::main() .../php-5.3-cvs/lib/php/PHPUnit/TextUI/Command.php:528]]&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/message&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;message&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;priority&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;info&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;![CDATA[1.0616&amp;#160; &amp;#160; 5294940&amp;#160; &amp;#160;4. PHPUnit_Runner_BaseTestRunner-&amp;gt;getTest() .../php-5.3-cvs/lib/php/PHPUnit/TextUI/Command.php:90]]&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/message&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;message&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;priority&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;info&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;![CDATA[1.0617&amp;#160; &amp;#160; 5295224&amp;#160; &amp;#160;5. PHPUnit_Runner_BaseTestRunner-&amp;gt;loadSuiteClass() .../php-5.3-cvs/lib/php/PHPUnit/Runner/BaseTestRunner.php:200]]&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/message&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;message&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;priority&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;info&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;![CDATA[1.0617&amp;#160; &amp;#160; 5295508&amp;#160; &amp;#160;6. PHPUnit_Runner_StandardTestSuiteLoader-&amp;gt;load() .../php-5.3-cvs/lib/php/PHPUnit/Runner/BaseTestRunner.php:269]]&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/message&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;message&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;priority&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;info&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;![CDATA[1.0828&amp;#160; &amp;#160; 5295792&amp;#160; &amp;#160;7. PHPUnit_Util_Fileloader::checkAndLoad() .../php-5.3-cvs/lib/php/PHPUnit/Runner/StandardTestSuiteLoader.php:97]]&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/message&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;message&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;priority&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;info&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;![CDATA[1.1736&amp;#160; &amp;#160; 5296168&amp;#160; &amp;#160;8. PHPUnit_Util_Fileloader::load() .../php-5.3-cvs/lib/php/PHPUnit/Util/Fileloader.php:105]]&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/message&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;message&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;priority&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;info&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;![CDATA[1.1746&amp;#160; &amp;#160; 5328364&amp;#160; &amp;#160;9. include_once(&#039;.../arbit/source/tests/suite.php&#039;) .../php-5.3-cvs/lib/php/PHPUnit/Util/Fileloader.php:120]]&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/message&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/task&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/target&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/build&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; ... &lt;br /&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/cruisecontrol&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;
  Ok, the test run failed, but why did &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=1995&amp;amp;entry_id=33&quot; title=&quot;http://www.phpundercontrog.org&quot;  onmouseover=&quot;window.status=&#039;http://www.phpundercontrog.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpUnderControl&lt;/a&gt; say: &lt;strong&gt;All Tests passed&lt;/strong&gt;?
&lt;/p&gt;
&lt;p&gt;
  The answer is really simple. Due to the fact that &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=1994&amp;amp;entry_id=33&quot; title=&quot;http://www.phpun.it&quot;  onmouseover=&quot;window.status=&#039;http://www.phpun.it&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;phpunit&lt;/a&gt; died, it didn&#039;t generate any log file and previous log files still reside in &lt;code&gt;build/logs&lt;/code&gt;. Because &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=1997&amp;amp;entry_id=33&quot; title=&quot;http://cruisecontrol.sourceforge.net/&quot;  onmouseover=&quot;window.status=&#039;http://cruisecontrol.sourceforge.net/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;CruiseControl&lt;/a&gt; cannot know anything about these outdated build artifacts, it still publishes them as result for last build.
&lt;/p&gt;
&lt;p&gt;
  At this moment I realized that I have never mentioned a clean-target for the &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=1998&amp;amp;entry_id=33&quot; title=&quot;http://ant.apache.org/&quot;  onmouseover=&quot;window.status=&#039;http://ant.apache.org/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;ant&lt;/a&gt; &lt;code&gt;build.xml&lt;/code&gt; file, neither in the example file nor in a blog post or the &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=1999&amp;amp;entry_id=33&quot; title=&quot;http://phpundercontrol.org/faq.html&quot;  onmouseover=&quot;window.status=&#039;http://phpundercontrol.org/faq.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;FAQ&lt;/a&gt;. So now its time to catch up on this topic.
&lt;/p&gt;
&lt;p&gt;
  You should add an additional target to your &lt;a href=&quot;http://www.manuel-pichler.de/exit.php?url_id=1998&amp;amp;entry_id=33&quot; title=&quot;http://ant.apache.org/&quot;  onmouseover=&quot;window.status=&#039;http://ant.apache.org/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;ant&lt;/a&gt; &lt;code&gt;build.xml&lt;/code&gt; file, that removes all log files and build artifacts of previous builds, before the main build cycle starts.
&lt;/p&gt;

&lt;div class=&quot;geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;?xml &lt;span style=&quot;color: #000066;&quot;&gt;version&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;1.0&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;encoding&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;project&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;phpundercontrol.org&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;default&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;build&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;basedir&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;.&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; ...&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;target&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;clean&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;&amp;lt;!-- Remove old log files --&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;delete&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;fileset&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;dir&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;${basedir}/build/logs&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;includes&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;**.*&quot;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/delete&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;&amp;lt;!-- Remove old api documentation --&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;delete&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;fileset&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;dir&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;${basedir}/build/api&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;includes&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;**.*&quot;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/delete&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;&amp;lt;!-- Remove old coverage report --&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;delete&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;fileset&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;dir&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;${basedir}/build/coverage&quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;includes&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;**.*&quot;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/delete&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/target&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;target&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;build&quot;&lt;/span&gt; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000066;&quot;&gt;depends&lt;/span&gt;=&lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;clean,checkout,php-documentor,php-codesniffer,phpunit&quot;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160; ...&lt;br /&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/project&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;#160;&lt;/div&gt;

&lt;p&gt;
  That&#039;s it. Now you will get the expected(not really) result: &lt;strong&gt;No Tests Run - This project doesn&#039;t have any tests&lt;/strong&gt;.
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 27 Jul 2008 15:14:00 +0200</pubDate>
    <guid isPermaLink="false">http://www.manuel-pichler.de/archives/33-guid.html</guid>
    <category>ant</category>
<category>arbit</category>
<category>continuous integration</category>
<category>cruisecontrol</category>
<category>phpundercontrol</category>
<category>phpunit</category>

</item>

</channel>
</rss>