<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Simon Brown - ant tag</title>
  <link>http://www.simongbrown.com/blog/tags/ant/</link>
  <description>Coding the architecture</description>
  <language>en</language>
  <copyright>Simon Brown</copyright>
  <lastBuildDate>Tue, 06 May 2008 13:33:00 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  
  <item>
    <title>Continuum</title>
    <link>http://www.simongbrown.com/blog/2006/06/16/continuum.html</link>
    
      
        <description>
          &lt;p&gt;
Since the Maven team are having fun with Pebble to host &lt;a href=&#034;http://blogs.maven.org/&#034;&gt;their blogs&lt;/a&gt;, I thought that I&#039;d have a play with &lt;a href=&#034;http://maven.apache.org/continuum/&#034;&gt;Continuum&lt;/a&gt;, which is a continuous integration server in the same mould as CruiseControl et al.
&lt;/p&gt;

&lt;p&gt;
I bought an Intel Mac mini earlier in the year and, since it doesn&#039;t do anything other than run iTunes and iChat, I&#039;ve been meaning to setup a continuous integration server on it. I may be developing Pebble on my own, but I do sometimes get e-mails from people saying that the Subversion trunk is broken. Last week, I almost installed CruiseControl. On the one hand, it&#039;s something I&#039;m familiar with. On the other, I know it can be a pain to setup sometimes. So, I figured I may as well give Continuum a try.
&lt;/p&gt;

&lt;p&gt;
My first impression after reading the documentation was, &#034;wow, this looks incredibly easy to install and configure&#034;. And I wasn&#039;t wrong. I grabbed version 1.0.3, unzipped it and ran the &lt;code&gt;bin/plexus.sh&lt;/code&gt; script. A few seconds later, Continuum had started and I was able to navigate to the web console with my browser.
&lt;/p&gt;

&lt;pre class=&#034;codeSample&#034;&gt; &amp;lt; Continuum 1.0.3 started! &amp;gt;
 ----------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||&lt;/pre&gt;

&lt;p&gt;
Pebble is built using a bog standard Ant build script, and this is supported by Continuum out of the box. From the web console, you add a new &#034;Ant Project&#034; and fill in a very short form that includes project name, version, SCM URL, SCM username and SCM password. I use Subversion for Pebble and the SCM URL is as follows.
&lt;/p&gt;

&lt;pre class=&#034;codeSample&#034;&gt;scm:svn:https://svn.sourceforge.net/svnroot/pebble/trunk&lt;/pre&gt;

&lt;p&gt;
After installing Ant and the SVN client (my Mac mini was essentially a completely clean OS X install), I told Continuum to start the build and off it went. Build successful!
&lt;/p&gt;

&lt;p&gt;
The only additional things I&#039;ve done, configuration wise, are to add an e-mail notifier so that I know when my build fails, setup the appropriate SMTP server and specify a different Ant target to be executed. It&#039;s actually taken me longer to write this blog entry than it has to get Continuum up and running.
&lt;/p&gt;

&lt;p&gt;
If you&#039;re interested in learning more about Continuum, there&#039;s a great article on java.net entitled &lt;a href=&#034;http://today.java.net/pub/a/today/2006/05/30/continuous-integration-with-continuum.html&#034;&gt;Continuous Integration with Continuum&lt;/a&gt;. Coupled with the &lt;a href=&#034;http://maven.apache.org/continuum/guides/index.html&#034;&gt;documentation&lt;/a&gt;, this is all you should need to get up and running. I&#039;m impressed. Go take a look.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>Java</category>
    
    <comments>http://www.simongbrown.com/blog/2006/06/16/continuum.html#comments</comments>
    <guid isPermaLink="true">http://www.simongbrown.com/blog/2006/06/16/continuum.html</guid>
    <pubDate>Fri, 16 Jun 2006 21:17:50 GMT</pubDate>
  </item>
  
  <item>
    <title>Speed up JUnit tests in Ant</title>
    <link>http://www.simongbrown.com/blog/2006/05/23/speed_up_junit_tests_in_ant.html</link>
    
      
        <description>
          &lt;p&gt;
I&#039;ve been having a few problems with some JUnit tests recently. They would run fine through IDEA, but would cause the JVM to hang whenever they were executed through an Ant build script. As a workaround, I just used the &lt;code&gt;fork&lt;/code&gt; property of the &lt;a href=&#034;http://ant.apache.org/manual/OptionalTasks/junit.html&#034;&gt;junit task&lt;/a&gt; so that the tests would run in a separate JVM. This did the trick but slowed test execution down substantially.
&lt;/p&gt;

&lt;p&gt;
In trying to solve this, I bought up the current documentation for the junit task and saw that v1.6 introduced a new &lt;code&gt;reloading&lt;/code&gt; property. By default, the &lt;code&gt;junit&lt;/code&gt; task creates a new classloader for each test case and this new property allows you to configure this behaviour. Now my tests work again and they&#039;re much, much faster. A handy little feature that passed me by.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>Java</category>
    
    <comments>http://www.simongbrown.com/blog/2006/05/23/speed_up_junit_tests_in_ant.html#comments</comments>
    <guid isPermaLink="true">http://www.simongbrown.com/blog/2006/05/23/speed_up_junit_tests_in_ant.html</guid>
    <pubDate>Tue, 23 May 2006 09:34:24 GMT</pubDate>
  </item>
  
  </channel>
</rss>
