<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">

<channel>
	<title>Brett Porter</title>
	
	<link>http://brettporter.wordpress.com</link>
	<description>capo on 1</description>
	<lastBuildDate>Wed, 08 Jul 2009 12:16:23 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
		<url>http://www.gravatar.com/blavatar/14a4495d4245b196c50cd905b03a3de7?s=96&amp;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Brett Porter</title>
		<link>http://brettporter.wordpress.com</link>
	</image>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/brettporter" type="application/rss+xml" /><item>
		<title>POLL: What version of Maven do you use regularly?</title>
		<link>http://brettporter.wordpress.com/2009/07/02/poll-what-version-of-maven-do-you-use/</link>
		<comments>http://brettporter.wordpress.com/2009/07/02/poll-what-version-of-maven-do-you-use/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 18:15:47 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Maven]]></category>
		<category><![CDATA[Syndicated]]></category>
		<category><![CDATA[polls]]></category>
		<category><![CDATA[version]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=316</guid>
		<description><![CDATA[Out of curiosity based on current development list discussions, and because I wanted the opportunity to try a WordPress poll anyway, I&#8217;m asking the following question:
Posted in Maven, Syndicated Tagged: polls, version      <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=316&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Out of curiosity based on current development list discussions, and because I wanted the opportunity to try a WordPress poll anyway, I&#8217;m asking the following question:</p>
<script type="text/javascript" language="javascript" charset="utf-8" src="http://static.polldaddy.com/p/1750938.js"></script>
		<noscript>
		<a href="http://answers.polldaddy.com/poll/1750938/">View This Poll</a><br/><span style="font-size:10px;"><a href="http://www.polldaddy.com">survey</a></span>
		</noscript>
Posted in Maven, Syndicated Tagged: polls, version <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/316/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=316&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/07/02/poll-what-version-of-maven-do-you-use/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
		<item>
		<title>Re-configuring the Default Lifecycle Goals in Maven 2.2</title>
		<link>http://brettporter.wordpress.com/2009/07/01/re-configuring-the-default-lifecycle-goals-in-maven-2-2/</link>
		<comments>http://brettporter.wordpress.com/2009/07/01/re-configuring-the-default-lifecycle-goals-in-maven-2-2/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 07:59:22 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Maven]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[lifecycle]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=312</guid>
		<description><![CDATA[One of the interesting features that has appeared in Maven 2.2 is the ability to add configuration specifically to the goal execution supplied by default lifeycle bindings.
Previously, you could only do this at the plugin level, for example:


&#60;plugin&#62;
  &#60;groupId&#62;org.apache.maven.plugins&#60;/groupId&#62;
  &#60;artifactId&#62;maven-surefire-plugin&#60;/artifactId&#62;
  &#60;version&#62;2.4.3&#60;/version&#62;
  &#60;configuration&#62;
    &#60;excludes&#62;
      [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=312&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>One of the interesting features that has appeared in Maven 2.2 is the ability to add configuration specifically to the goal execution supplied by default lifeycle bindings.</p>
<p>Previously, you could only do this at the plugin level, for example:</p>
<pre name="code" class="xml">

&lt;plugin&gt;
  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
  &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;
  &lt;version&gt;2.4.3&lt;/version&gt;
  &lt;configuration&gt;
    &lt;excludes&gt;
      &lt;exclude&gt;**/selenium/**&lt;/exclude&gt;
    &lt;/excludes&gt;
  &lt;/configuration&gt;
&lt;/plugin&gt;
</pre>
<p>There are two problems with this:</p>
<ol>
<li>it may not be appropriate for <em>all</em> goals in the plugin to take this configuration. This is a common problem with the Compiler plugin, where you may want different parameters for the <tt>compile</tt> and <tt>testCompile</tt> goals (such as the JDK level &#8211; a problem well known by TestNG users developing on JDK 1.4!)</li>
<li>you can&#8217;t erase configuration through inheritance &#8211; so as the example above shows, you are stuck with those <tt>excludes</tt> even if you define a new goal to run a second set of tests</li>
</ol>
<p>Consider the addition of the following to the above:</p>
<pre name="code" class="xml">

&lt;profile&gt;
  &lt;id&gt;selenium&lt;/id&gt;
  &lt;build&gt;
    &lt;plugins&gt;
      &lt;plugin&gt;
        &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
        &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;
        &lt;executions&gt;
          &lt;execution&gt;
            &lt;id&gt;selenium-tests&lt;/id&gt;
            &lt;configuration&gt;
              &lt;includes&gt;
                &lt;include&gt;**/selenium/**&lt;/include&gt;
              &lt;/includes&gt;
            &lt;/configuration&gt;
            &lt;goals&gt;
              &lt;goal&gt;test&lt;/goal&gt;
            &lt;/goals&gt;
          &lt;/execution&gt;
        &lt;/executions&gt;
      &lt;/plugin&gt;
    &lt;/plugins&gt;
  &lt;/build&gt;
&lt;/profile&gt;
</pre>
<p>This will do nothing, since only the Selenium tests are to be run (<tt>includes</tt>), but all Selenium tests are disabled (by inheritance of <tt>excludes</tt>).</p>
<p>This leads to a convoluted combination of turning off the default binding, re-adding it with its configuration, as a modification to the first sample:</p>
<pre name="code" class="xml">

&lt;plugin&gt;
  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
  &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;
  &lt;version&gt;2.4.3&lt;/version&gt;
  &lt;configuration&gt;
    &lt;skip&gt;true&lt;/skip&gt;
  &lt;/configuration&gt;
  &lt;executions&gt;
    &lt;execution&gt;
      &lt;id&gt;unit-tests&lt;/id&gt;
      &lt;configuration&gt;
        &lt;skip&gt;false&lt;/skip&gt;
        &lt;excludes&gt;
          &lt;exclude&gt;**/selenium/**&lt;/exclude&gt;
        &lt;/excludes&gt;
      &lt;/configuration&gt;
      &lt;goals&gt;
        &lt;goal&gt;test&lt;/goal&gt;
      &lt;/goals&gt;
    &lt;/execution&gt;
  &lt;/executions&gt;
&lt;/plugin&gt;
</pre>
<p>The <tt>skip</tt> flag also needed to be added to the Selenium profile.</p>
<p>Maven 2.2 adds a simple solution to this problem &#8211; all of the executions in the default lifecycle are assigned IDs of the form <tt>default-<i>phase</i></tt>. Because Maven&#8217;s inheritance merges executions with idential IDs, you can assign configuration directly to the built in goal and no others.</p>
<p>This means that the previous section can be reduced back closer to the original, like so:</p>
<pre name="code" class="xml">

&lt;plugin&gt;
  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
  &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;
  &lt;version&gt;2.4.3&lt;/version&gt;
  &lt;executions&gt;
    &lt;execution&gt;
      &lt;id&gt;default-test&lt;/id&gt;
      &lt;configuration&gt;
        &lt;excludes&gt;
          &lt;exclude&gt;**/selenium/**&lt;/exclude&gt;
        &lt;/excludes&gt;
      &lt;/configuration&gt;
    &lt;/execution&gt;
  &lt;/executions&gt;
&lt;/plugin&gt;
</pre>
<p>The goals are not necessary in the execution, since they were already given in the default binding.</p>
<p>This results in a more intuitive pattern for setting up multiple test executions (a common occurrence with profiles and integration tests), as well as use cases such as configuration the compiler plugin goals separately.</p>
<p>One more thing to watch out for &#8211; taking advantage of this will mean the build is no longer compatible with earlier versions of Maven. To make sure you don&#8217;t get caught out, you should add the Enforcer plugin somewhere in the build:</p>
<pre name="code" class="xml">

&lt;plugin&gt;
  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
  &lt;artifactId&gt;maven-enforcer-plugin&lt;/artifactId&gt;
  &lt;version&gt;1.0-beta-1&lt;/version&gt;
  &lt;executions&gt;
    &lt;execution&gt;
      &lt;id&gt;enforce&lt;/id&gt;
      &lt;goals&gt;
        &lt;goal&gt;enforce&lt;/goal&gt;
      &lt;/goals&gt;
      &lt;configuration&gt;
        &lt;rules&gt;
          &lt;requireMavenVersion&gt;[2.2.0,)&lt;/requireMavenVersion&gt;
        &lt;/rules&gt;
      &lt;/configuration&gt;
    &lt;/execution&gt;
  &lt;/executions&gt;
&lt;/plugin&gt;
</pre>
<p>In addition to changing the defaults, you can also now supply configuration that is targeted at command line invocations (without affecting the main build). More information on all of these can be found in the new <a href="http://maven.apache.org/guides/mini/guide-default-execution-ids.html">Guide to Configuring Default Execution IDs</a>.</p>
<p>Enjoy!</p>
Posted in Maven Tagged: howto, lifecycle <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/312/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=312&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/07/01/re-configuring-the-default-lifecycle-goals-in-maven-2-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
		<item>
		<title>Maven 2.2 Released, Versions Clarified</title>
		<link>http://brettporter.wordpress.com/2009/07/01/maven-2-2-released-versions-clarified/</link>
		<comments>http://brettporter.wordpress.com/2009/07/01/maven-2-2-released-versions-clarified/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 07:26:13 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Maven]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[version]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=307</guid>
		<description><![CDATA[After a short hiccup with the distribution location, Maven 2.2.0 has been released and is appearing on most mirrors. John has blogged some details of the changes you can expect in the release. I&#8217;ve been using it (and the prior release candidates) daily without any issues, and it does provide some useful changes that make [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=307&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>After a short hiccup with the distribution location, <a href="http://maven.apache.org/release-notes.html">Maven 2.2.0 has been released</a> and is appearing on most mirrors. John has <a href="http://www.sonatype.com/people/2009/06/maven-220-released/">blogged some details</a> of the changes you can expect in the release. I&#8217;ve been using it (and the prior release candidates) daily without any issues, and it does provide some useful changes that make the upgrade worthwhile.</p>
<p>Though it was not a major release in terms of feature changes and fixes, it has helped in re-balancing the available Maven releases in a way that will hopefully be simpler to move forward with and easier to understand.</p>
<p>Maven has suffered for some time with confusion over the &#8220;2.1&#8243; version number &#8211; some projects still depend on pre-release code from early development on it that ended up not reflecting the 2.1.0 release at all. So along with good reasons to bump the minor version because of build-affecting changes and a firm requirement on Java 5 to run Maven, moving past the confusing version (which is also quite similar to 2.0.10, the other current release) is helpful.</p>
<p>As John has pointed out, 2.2.x is expected to be our stable branch going forward for the near future. We have been extremely paranoid about backwards compatibility between versions for some time, and now feel that we&#8217;ve reached a point where development can end on 2.0.x (either at the current 2.0.10 release or with a wrap-up 2.0.11 release that is <a href="http://mail-archives.apache.org/mod_mbox/maven-dev/200906.mbox/%3cD1E485C2-89BF-4273-8153-DCEED2786AD2@apache.org%3e">under discussion</a>).</p>
<p>So that leaves the active tracks as:</p>
<ul>
<li>Maven 2.2.x &#8211; selective bugfixes on the stable release</li>
<li>Maven 2.3 &#8211; if new features for Maven 2 start being implemented, they will land here in the short term. No roadmap has been defined yet, but there are some open issues in JIRA that could be a starting point</li>
<li>Maven 3 &#8211; a backwards-compatible refactoring of the entire codebase &#8211; currently early alpha, developer only, to be released When It&#8217;s Done</li>
</ul>
<p>All users should be able to upgrade to 2.2.0 from 2.0.x, with the small caveats that are documented in the 2.1.0 and 2.2.0 release notes (and if not, be sure to let us know!). So, if you are using Maven 2.0.x, give Maven 2.2.0 a spin!</p>
Posted in Maven Tagged: announcement, version <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/307/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/307/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=307&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/07/01/maven-2-2-released-versions-clarified/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
		<item>
		<title>First 30 Days of my “365 Project”</title>
		<link>http://brettporter.wordpress.com/2009/07/01/30-days-of-365-project/</link>
		<comments>http://brettporter.wordpress.com/2009/07/01/30-days-of-365-project/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 03:45:51 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[Samantha]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/2009/07/01/30-days-of-365-project/</guid>
		<description><![CDATA[


With so many relatives, friends and co-workers overseas, we were always going to need to share a lot of photos to keep everyone up to date on Samantha as she grows up.
While I had taken a lot of photos over the first two weeks, I&#8217;d missed a couple of days, and once she came home [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=304&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div style="float:right;margin-left:10px;margin-bottom:10px;">
<a href="http://www.flickr.com/photos/brettporter/3653027149/" title="photo sharing"><img src="http://farm4.static.flickr.com/3580/3653027149_61723d4166_m.jpg" alt="" style="border:solid 2px #000000;" /></a>
</div>
<p>With so many relatives, friends and co-workers overseas, we were always going to need to share a lot of photos to keep everyone up to date on Samantha as she grows up.</p>
<p>While I had taken a lot of photos over the first two weeks, I&#8217;d missed a couple of days, and once she came home it became harder to remember to grab those moments.</p>
<p>When a friend suggested I try one of those &#8220;365 projects&#8221;, to take a photo every day, I thought it was a great idea to give us some later comparisons and maybe get better at photo taking habits, if not photography itself. So, I went ahead and set up a <a href="http://www.flickr.com/photos/brettporter/sets/72157619091158604/">set for the project</a>.</p>
<p>Now 30 days in, you can already see how she has changed, where day by day it slips past you.</p>
<p>I do wonder what a difference it will make growing up with a life chronicled online, compared to the 1 or 2 photo albums I have to record my first 10 years or so. We need to avoid too many &#8220;embarrassing&#8221; baby photos that might show up in Google (or successive technology) in 20 years.</p>
<p>But for now it is a great way to keep in touch despite some great distances.<br /></p>
Posted in Personal Tagged: photography, Samantha <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/304/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/304/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/304/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=304&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/07/01/30-days-of-365-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3580/3653027149_61723d4166_m.jpg" medium="image" />
	</item>
		<item>
		<title>Selenium Maven Plugin 1.0 Released</title>
		<link>http://brettporter.wordpress.com/2009/06/30/selenium-maven-plugin-1-0-released/</link>
		<comments>http://brettporter.wordpress.com/2009/06/30/selenium-maven-plugin-1-0-released/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 02:38:21 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Maven]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[selenium]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=288</guid>
		<description><![CDATA[The Selenium Maven plugin 1.0 has now been released, taking advantage of the recent Selenium 1.0.1 release. This will be useful to those using Firefox 3 for example which required a workaround in the previous version.
This is the first stable release version of the plugin. Full credit goes to Jason Dillon for his work on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=288&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The <a href="http://mojo.codehaus.org/selenium-maven-plugin/">Selenium Maven plugin</a> 1.0 has now been released, taking advantage of the recent Selenium 1.0.1 release. This will be useful to those using Firefox 3 for example which required a workaround in the previous version.</p>
<p>This is the first stable release version of the plugin. Full credit goes to Jason Dillon for his work on the plugin to get it to this point!</p>
<p>I will be following up with some posts on some tips for its use in the coming days.</p>
<p>In the mean time, here are the release notes since 1.0-rc-1:</p>
<p><b>Bug</b></p>
<ul>
<li>[MSELENIUM-20] &#8211; Starting the selenese goal using selenium-maven-plugin</li>
<li>[MSELENIUM-39] &#8211; firefoxProfileTemplate parameter does not work</li>
<li>[MSELENIUM-43] &#8211; Invalid constructor used by selenese goal to construct SeleniumServer</li>
<li>[MSELENIUM-49] &#8211; Invalid dependency version for &#8216;org.openqa.selenium.client-drivers&#8217; in site example</li>
</ul>
<p><b>Improvement</b></p>
<ul>
<li>[MSELENIUM-30] &#8211; Add displayPropertiesFile support for selenium:selenese goal</li>
<li>[MSELENIUM-40] &#8211; Using a remote selenium server with Selenese.</li>
<li>[MSELENIUM-50] &#8211; Upgrade to Selenium 1.0</li>
</ul>
<p><b>New Feature</b></p>
<ul>
<li>[MSELENIUM-38] &#8211; Start Selenium Server with a Proxy via System Properties</li>
</ul>
Posted in Maven Tagged: announcement, plugins, selenium <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/288/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=288&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/06/30/selenium-maven-plugin-1-0-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
		<item>
		<title>Configuring Maven HTTP Connections</title>
		<link>http://brettporter.wordpress.com/2009/06/16/configuring-maven-http-connections/</link>
		<comments>http://brettporter.wordpress.com/2009/06/16/configuring-maven-http-connections/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 15:23:26 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Maven]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[http]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=278</guid>
		<description><![CDATA[I&#8217;ve recently been asked a couple of times how to configure the request parameters for Maven&#8217;s outgoing HTTP requests.
The configuration are all added in the server element in settings.xml, in exactly the same way that you would add a password for a deployment repository, for example:


&#60;servers&#62;
  &#60;server&#62;
    &#60;id&#62;central&#60;/id&#62;
    [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=278&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;ve recently been asked a couple of times how to configure the request parameters for Maven&#8217;s outgoing HTTP requests.</p>
<p>The configuration are all added in the <tt>server</tt> element in <tt>settings.xml</tt>, in exactly the same way that you would add a password for a deployment repository, for example:</p>
<pre name="code" class="xml">

&lt;servers&gt;
  &lt;server&gt;
    &lt;id&gt;central&lt;/id&gt;
    &lt;configuration&gt;
      &lt;!-- configuration goes here --&gt;
    &lt;/configuration&gt;
  &lt;/server&gt;
&lt;/servers&gt;
</pre>
<p>Note that the <tt>id</tt> must match that of the repository being used, with the default built in to Maven being <tt>central</tt>. However, if you use a repository manager (and you should!), the <tt>id</tt> must be that of the <i>mirror</i>, not the original repository. For example:</p>
<pre name="code" class="xml">

&lt;servers&gt;
  &lt;server&gt;
    &lt;id&gt;archiva.localhost&lt;/id&gt;
    &lt;configuration /&gt;
  &lt;/server&gt;
&lt;/servers&gt;

&lt;mirrors&gt;
  &lt;mirror&gt;
    &lt;id&gt;archiva.localhost&lt;/id&gt;
    &lt;url&gt;http://localhost:7777/archiva/repository/releases&lt;/url&gt;
    &lt;mirrorOf&gt;external:*&lt;/mirrorOf&gt;
  &lt;/mirror&gt;
&lt;/mirrors&gt;
</pre>
<p>So what configuration is available?</p>
<p><b>useCache</b> (Maven 2.0+) &#8211; if <tt>false</tt>, set the <tt>Pragma: no-cache</tt> header (for HTTP proxies). <i>Default</i>: <tt>false</tt></p>
<p>Example:</p>
<pre name="code" class="xml">

&lt;server&gt;
  &lt;id&gt;archiva.localhost&lt;/id&gt;
  &lt;configuration&gt;
    &lt;useCache&gt;true&lt;/useCache&gt;
  &lt;/configuration&gt;
&lt;/server&gt;
</pre>
<p><b>timeout</b> (Maven 2.1+) &#8211; the connection timeout in milliseconds. <i>Default</i>: <tt>60000</tt>.</p>
<p>Example:</p>
<pre name="code" class="xml">

&lt;server&gt;
  &lt;id&gt;archiva.localhost&lt;/id&gt;
  &lt;configuration&gt;
    &lt;timeout&gt;5000&lt;/timeout&gt; &lt;!-- 5 seconds --&gt;
  &lt;/configuration&gt;
&lt;/server&gt;
</pre>
<p><b>httpHeaders</b> (Maven 2.1+) &#8211; additional or overridden HTTP request headers</p>
<p>Example:</p>
<pre name="code" class="xml">

&lt;server&gt;
  &lt;id&gt;archiva.localhost&lt;/id&gt;
  &lt;configuration&gt;
    &lt;httpHeaders&gt;
      &lt;property&gt;
        &lt;name&gt;User-Agent&lt;/name&gt;
        &lt;value&gt;Internal-Build-System/1.0&lt;/value&gt;
      &lt;/property&gt;
    &lt;/httpHeaders&gt;
  &lt;/configuration&gt;
&lt;/server&gt;
</pre>
<p>More configuration parameters can be found by examining the available setters for the Wagon implementation in use. For example:</p>
<ul>
<li><a href="http://maven.apache.org/wagon/wagon-providers/wagon-http-lightweight/apidocs/org/apache/maven/wagon/providers/http/LightweightHttpWagon.html">Lightweight HTTP Wagon</a> (default prior to Maven 2.2.0)</li>
<li><a href="http://maven.apache.org/wagon/wagon-providers/wagon-http/apidocs/org/apache/maven/wagon/providers/http/HttpWagon.html">HTTPClient Wagon</a> (default from Maven 2.2.0 onwards)</li>
</ul>
<p>It should also be noted that the above technique works for other protocols, using the configuration available for the respective Wagon implementation in use, and also applies to any deployment if the <tt>id</tt> matches (note that in this case, the mirrors section is not relevant, so it will need to be configured for each deployment repository identifier).</p>
<p>An entirely separate option, if you are using Maven 2.1.0+, is the number of allowed concurrent download threads to use. This is configured via the <tt>maven.artifact.threads</tt> system property, as described in the <a href="http://maven.apache.org/guides/mini/guide-configuring-maven.html">configuration documentation</a>.</p>
Posted in Maven Tagged: configuration, howto, http, Maven <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/278/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=278&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/06/16/configuring-maven-http-connections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
		<item>
		<title>A Maven-friendly Pattern for Storing Dependencies in Version Control</title>
		<link>http://brettporter.wordpress.com/2009/06/10/a-maven-friendly-pattern-for-storing-dependencies-in-version-control/</link>
		<comments>http://brettporter.wordpress.com/2009/06/10/a-maven-friendly-pattern-for-storing-dependencies-in-version-control/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 15:02:21 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Maven]]></category>
		<category><![CDATA[howto]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=263</guid>
		<description><![CDATA[I feel that I need to start this post with a disclaimer &#8211; this is for exceptional use cases only! In particular, take caution:
In any of these cases, it&#8217;ll result in a transitive closure that won&#8217;t be resolvable if the project is deployed into a repository without copying the repository module around
Over the course of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=263&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I feel that I need to start this post with a disclaimer &#8211; this is for exceptional use cases only! In particular, take caution:</p>
<blockquote><p>In any of these cases, it&#8217;ll result in a transitive closure that won&#8217;t be resolvable if the project is deployed into a repository without copying the repository module around</p></blockquote>
<p>Over the course of time, the question about why not to store dependencies in version control when using Maven has faded as users have recognised the benefits of having a repository (and particularly a repository manager) in place to maintain their artifacts in a specialised way for the purposes of reuse and reproducibility.</p>
<p>But what happens when that case occurs where that is not practical, such as <a href="http://blogs.webtide.com/gregw/">Greg</a> pointed out in <a href="http://jira.codehaus.org/browse/MNG-3989">this issue</a>, where you can&#8217;t get a repository installed yet but need those dependencies?</p>
<p>A commonly used solution is to have a series of <tt>install:install-file</tt> executions that manually install the files into the local repository for the build, either using a shell script or very convoluted POM. However, it breaks out of the Maven model of being able to build a multi-module project in one command (or makes it unnecessarily complicated to do so). An example of what results can be seen in the defunct NMaven incubator podling&#8217;s <a href="http://svn.apache.org/repos/asf/incubator/nmaven/tags/STABLE-2007-12-16/bootstrap-build.bat">bootstrap build</a>.</p>
<p>A better solution is to create a file-based repository stored in version control. By using the native repository mechanism, it ensures dependencies are treated consistently &#8211; even if they were to be available from a remote repository in the future. However there can be further problems if you are in a multi-module project. Since it is not recommended to use relative paths outside of the current project, having a single repository for a multi-module build could be complicated again.</p>
<p>The solution I proposed is to create a repository module specifically for housing these special dependencies. This can be included in the build like any other module, and simply needs to be listed first to guarantee that it is built before any other modules. Let&#8217;s see how this might look.</p>
<p>Say we have a parent <tt>pom.xml</tt>:</p>
<pre name="code" class="xml">

&lt;project&gt;
  &lt;groupId&gt;com.example&lt;/groupId&gt;
  &lt;artifactId&gt;parent&lt;/artifactId&gt;
  &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
  ...
  &lt;modules&gt;
    &lt;module&gt;repository&lt;/module&gt;
    &lt;module&gt;modules&lt;/module&gt;
  &lt;/modules&gt;
&lt;/project&gt;
</pre>
<p>The <tt>repository/pom.xml</tt> file would then be similar to this:</p>
<pre name="code" class="xml">

&lt;project&gt;
  &lt;parent&gt;
    &lt;groupId&gt;com.example&lt;/groupId&gt;
    &lt;artifactId&gt;parent&lt;/artifactId&gt;
    &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
  &lt;/parent&gt;
  &lt;artifactId&gt;repository&lt;/artifactId&gt;
  ...
  &lt;dependencies&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;ancient-artifact&lt;/groupId&gt;
      &lt;artifactId&gt;ancient-artifact&lt;/artifactId&gt;
      &lt;version&gt;3.1.0.2&lt;/version&gt;
    &lt;/dependency&gt;
  &lt;/dependencies&gt;
  &lt;repositories&gt;
    &lt;repository&gt;
      &lt;id&gt;local&lt;/id&gt;
      &lt;url&gt;file:${basedir}/src/repository&lt;/url&gt;
    &lt;/repository&gt;
  &lt;/repositories&gt;
&lt;/project&gt;
</pre>
<p>Here we can see that the dependency (stored in <tt>repository/src/repository/ancient-artifact/ancient-artifact/3.1.0.2/ancient-artifact-3.1.0.2.jar</tt>) is self-contained to the repository module, and guaranteed to be installed when that project is built. Since it is listed first in parent build, the local repository will be correctly populated before any other modules are built. What&#8217;s more, if the dependencies are already present locally this module will skip by extremely quickly.</p>
<blockquote><p><b>Note:</b> if you happen to use this technique and also have a repository manager configured using Maven&#8217;s <tt>mirrorOf</tt> settings directive, make sure that  you use <tt>&lt;mirrorOf&gt;external:*&lt;/mirrorOF&gt;</tt> to ensure that the file-based repository requests are not passed to the repository manager.</p></blockquote>
<p>A more complete example can be seen in the <a href="http://jira.codehaus.org/secure/attachment/39745/MNG-3989.zip">project attached to MNG-3989</a>.</p>
<p>Now, while this is likely to be of very limited use, I did find it an interesting exercise to illustrate how you can still map alternate workflows neatly into the Maven paradigm, in a way that doesn&#8217;t compromise its artifact flow or build lifecycle, and still gives you a path forward to a different configuration with a remote repository storing the artifacts simply by removing the repository module.</p>
<p>This technique may also have additional utility for those with a policy-driven requirement to use their version control to store dependencies for reproducibility purposes, if they can afford the verbosity of restating all those dependencies in the repository POM.</p>
<p>Of course, I would still recommend using a remote repository wherever possible to manage these artifacts, and to treat its contents on the same level as your version control in your infrastructure if you intend to have a long-lived Maven installation. As noted at the beginning, this becomes a requirement if you want to publish your project as something others may depend on. However, if you need to store your dependencies in version control, this technique may help you at least honour Maven practices in doing so and perhaps reduce an initial adoption curve.</p>
Posted in Maven Tagged: howto, Maven <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/263/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=263&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/06/10/a-maven-friendly-pattern-for-storing-dependencies-in-version-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
		<item>
		<title>Removing SPAM Comments From Old WordPress Exports</title>
		<link>http://brettporter.wordpress.com/2009/06/06/removing-spam-comments-from-old-wordpress-exports/</link>
		<comments>http://brettporter.wordpress.com/2009/06/06/removing-spam-comments-from-old-wordpress-exports/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 01:37:26 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=258</guid>
		<description><![CDATA[When it came to migrate my blog from an older installation of WordPress to the latest version on WordPress.com, I had a problem. The content export was 20Mb, but the limit was 15Mb. The cause was obvious &#8211; SPAM comments had filled up the old one (even though marked as SPAM, they are still exported), [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=258&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>When it came to migrate my blog from an older installation of WordPress to the latest version on WordPress.com, I had a problem. The content export was 20Mb, but the limit was 15Mb. The cause was obvious &#8211; SPAM comments had filled up the old one (even though marked as SPAM, they are still exported), and until recently there has been no way other than modifying the database to get rid of them entirely. I had hoped to do that from the new system, but I couldn&#8217;t get past square one.</p>
<p>To resolve this, I put together this XSLT to remove SPAM comments from your WordPress exports:</p>
<pre name="code" class="xml">

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; version=&quot;1.0&quot; xmlns:wp=&quot;http://wordpress.org/export/1.0/&quot; xmlns:content=&quot;http://purl.org/rss/1.0/modules/content/&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
  &lt;xsl:template match=&quot;//wp:comment[wp:comment_approved = &#039;spam&#039;]&quot;&gt;
  &lt;/xsl:template&gt;
  &lt;xsl:template match=&quot;//content:encoded&quot;&gt;
    &lt;xsl:copy&gt;
      &lt;xsl:value-of select=&quot;.&quot; disable-output-escaping=&quot;yes&quot; /&gt;
    &lt;/xsl:copy&gt;
  &lt;/xsl:template&gt;
  &lt;xsl:template match=&quot;*&quot;&gt;
    &lt;xsl:copy&gt;
      &lt;xsl:copy-of select=&quot;@*&quot; /&gt;
      &lt;xsl:apply-templates /&gt;
    &lt;/xsl:copy&gt;
  &lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre>
<p>Unfortunately, I had to manually go and fix some malformed comment HTML (or in the case of SPAM, just delete it) for it to work, since the XML wouldn&#8217;t even parse, but once that was done the result worked perfectly for the import. Then it was just a matter of cleaning up old blog links and some HTML that didn&#8217;t look quite right in the new template by searching within WordPress.</p>
<p>I hope someone else finds this useful!</p>
Posted in Uncategorized Tagged: blog, spam, wordpress <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/258/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=258&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/06/06/removing-spam-comments-from-old-wordpress-exports/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
		<item>
		<title>Blog Moved to WordPress</title>
		<link>http://brettporter.wordpress.com/2009/06/06/blog-moved-to-wordpress/</link>
		<comments>http://brettporter.wordpress.com/2009/06/06/blog-moved-to-wordpress/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 01:25:53 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=256</guid>
		<description><![CDATA[It&#8217;s been a busy time of late, and my blog has been much neglected, so it is time to get back into it. I&#8217;ve started by re-invigorating it and since I have become used to WordPress, I&#8217;ve moved it to WordPress.com. Everything should redirect over there soon, and if you are subscribed to the feedburner [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=256&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>It&#8217;s been a busy time of late, and my blog has been much neglected, so it is time to get back into it. I&#8217;ve started by re-invigorating it and since I have become used to WordPress, I&#8217;ve moved it to WordPress.com. Everything should redirect over there soon, and if you are subscribed to the feedburner URL you will already be reading this there and nothing need to change.</p>
<p>Catch me over at <a href="http://brettporter.wordpress.com/">http://brettporter.wordpress.com/</a> !</p>
Posted in Uncategorized Tagged: blog <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/256/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=256&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/06/06/blog-moved-to-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
		<item>
		<title>Apache Archiva 1.2 Released</title>
		<link>http://brettporter.wordpress.com/2009/03/25/apache-archiva-12-released/</link>
		<comments>http://brettporter.wordpress.com/2009/03/25/apache-archiva-12-released/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 00:47:26 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Archiva]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[releases]]></category>

		<guid isPermaLink="false">http://blogs.exist.com/bporter/2009/03/25/apache-archiva-12-released/</guid>
		<description><![CDATA[Archiva is celebrating its 1-year anniversary of being a top level project at Apache, and fittingly a new release is now available for download.
Some of the new features that are in the latest release:

Generation of the Nexus index format
Other search related improvements
Improved audit logging of changes
Repository statistics information
An XMLRPC interface to all administration and search [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=178&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Archiva is celebrating its 1-year anniversary of being a top level project at Apache, and fittingly a <a href="http://archiva.apache.org/docs/1.2/release-notes.html">new release</a> is now <a href="http://archiva.apache.org/download.html">available for download</a>.</p>
<p>Some of the new features that are in the latest release:</p>
<ul>
<li>Generation of the Nexus index format</li>
<li>Other search related improvements</li>
<li>Improved audit logging of changes</li>
<li>Repository statistics information</li>
<li>An XMLRPC interface to all administration and search features</li>
<li>Ability to delete artifacts</li>
</ul>
<p>A good number of issues with metadata handling and security roles have also been resolved &#8211; all of the issues fixed in the 1.2 series are also shown in the <a href="http://jira.codehaus.org/secure/IssueNavigator.jspa?reset=true&amp;&amp;fixfor=14288&amp;fixfor=14713&amp;pid=10980&amp;sorter/field=issuekey&amp;sorter/order=DESC">change log</a>.</p>
<h2>So, what comes next?</h2>
<p>We&#8217;re already planning a 1.2.1 release to clean up some of the issue backlog and particularly improve the install experience for Tomcat users.</p>
<p>While a roadmap for the next feature release has not been locked down, it is likely some of the experimental development efforts will be folded in, such as:</p>
<ul>
<li>Removing the hard dependency on a database (&quot;back to the future&quot; of sorts in that pre-1.0 versions of Archiva worked in this way), making it optional for statistics and querying</li>
<li>Addition of arbitrary artifact metadata to support alternate repository types</li>
<li>Re-architecting around an event model for artifacts to make customisation easier</li>
<li>More automated handling of plugins, with extension points beyond the current &quot;consumer&quot; model for newly discovered artifacts</li>
</ul>
<p>As always, if you&#8217;d like to get involved we&#8217;re happy to hear from you at the <a href="http://archiva.apache.org/mail-lists.html">developers mailing list</a>.</p>
Posted in Apache, Archiva, Maven Tagged: releases <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/178/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=178&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/03/25/apache-archiva-12-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
	</channel>
</rss>
