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

<channel>
	<title>Brett Porter</title>
	<atom:link href="http://brettporter.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://brettporter.wordpress.com</link>
	<description>capo on 1</description>
	<lastBuildDate>Thu, 29 Oct 2009 02:03:10 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='brettporter.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/14a4495d4245b196c50cd905b03a3de7?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Brett Porter</title>
		<link>http://brettporter.wordpress.com</link>
	</image>
			<item>
		<title>Free Maven Meetup at ApacheCon US</title>
		<link>http://brettporter.wordpress.com/2009/10/29/free-maven-meetup-at-apachecon-us/</link>
		<comments>http://brettporter.wordpress.com/2009/10/29/free-maven-meetup-at-apachecon-us/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 02:03:10 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Syndicated]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=377</guid>
		<description><![CDATA[A few Maven committers are going to be at ApacheCon US in Oakland next week, and we&#8217;ve organised for a free user and developer meetup as part of the conference schedule. It&#8217;ll be held on Tuesday, November 3, at 8pm.
Brian has posted a short signup page, so if you&#8217;re planning to come along, please add [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=377&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>A few Maven committers are going to be at ApacheCon US in Oakland next week, and we&#8217;ve organised for a free <a href="http://wiki.apache.org/apachecon/ApacheMeetupsUs09">user and developer meetup</a> as part of the conference schedule. It&#8217;ll be held on Tuesday, November 3, at 8pm.</p>
<p>Brian has posted a <a href="https://docs.sonatype.org/display/COMM/Maven+Meetup+at+US+Apache+Con+09">short signup page</a>, so if you&#8217;re planning to come along, please add your name there. You might also want to talk about a particular subject for 15 minutes and add it to the proposed agenda.</p>
<p>There&#8217;s still time to sign up for my <a href="http://www.us.apachecon.com/c/acus2009/sessions/379">Maven training course</a> on Monday, November 2 as well, which you can do from the main conference registration page.</p>
<p>Looking forward to seeing you all there!</p>
Posted in Syndicated  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/377/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=377&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/10/29/free-maven-meetup-at-apachecon-us/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
		<item>
		<title>Better Builds with Maven now available to read online</title>
		<link>http://brettporter.wordpress.com/2009/10/15/better-builds-with-maven-now-available-to-read-online/</link>
		<comments>http://brettporter.wordpress.com/2009/10/15/better-builds-with-maven-now-available-to-read-online/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 01:57:16 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Continuum]]></category>
		<category><![CDATA[MaestroDev]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Syndicated]]></category>
		<category><![CDATA[book]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=370</guid>
		<description><![CDATA[Better Builds with Maven has been available for a few years now, initially to those who registered on the web site and then available as a freely downloadable PDF. However, now it is finally available to read online as HTML, bookmark, etc. (in addition to the PDF download). It has also been relicensed under a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=370&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.maestrodev.com/better-build-maven/">Better Builds with Maven</a> has been available for a few years now, initially to those who registered on the web site and then available as a freely downloadable PDF. However, now it is finally available to <a href="http://www.maestrodev.com/betterbuilds-online/">read online as HTML</a>, bookmark, etc. (in addition to the PDF download). It has also been relicensed under a Creative Commons license.</p>
<p>While the book is now somewhat dated and there are <a href="http://www.packtpub.com/apache-maven-2-effective-implementations/book">newer</a> <a href="http://www.sonatype.com/books/maven-book/reference/">alternatives</a> available, the information is still relevant. It has had minor updates as it moved homes several times over the last few years.</p>
<p>I hope you find this useful!</p>
Posted in Continuum, MaestroDev, Maven, Syndicated Tagged: book <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/370/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=370&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/10/15/better-builds-with-maven-now-available-to-read-online/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
		<item>
		<title>Maven training in Oakland, November 2</title>
		<link>http://brettporter.wordpress.com/2009/10/13/maven-training-in-oakland-november-2/</link>
		<comments>http://brettporter.wordpress.com/2009/10/13/maven-training-in-oakland-november-2/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 15:16:47 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Archiva]]></category>
		<category><![CDATA[Continuum]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[apachecon]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=365</guid>
		<description><![CDATA[As I&#8217;ve blogged previously, I&#8217;m gearing up again to present my training session Apache Maven: End-to-end at ApacheCon US in Oakland in just a few weeks now. There are still spots available, so go ahead and register from the ApacheCon US site. Noirin offers some tips on how to justify ApacheCon to your boss.
The training [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=365&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>As I&#8217;ve <a href="http://brettporter.wordpress.com/2009/09/23/apache-maven-end-to-end-training-in-november/">blogged previously</a>, I&#8217;m gearing up again to present my training session <i><a href="http://us.apachecon.com/c/acus2009/sessions/379">Apache Maven: End-to-end</a></i> at ApacheCon US in Oakland in just a few weeks now. There are still spots available, so go ahead and register from the <a href="http://us.apachecon.com/">ApacheCon US</a> site. Noirin offers some tips on how to <a href="http://blog.nerdchic.net/archives/293/">justify ApacheCon to your boss</a>.</p>
<p>The training session is hands on &#8211; all of the software and material is distributed on CDs and we spend some time digging into Maven and development infrastructure in a variety of ways.</p>
<p>Apart from the standard training material, there is the opportunity to work through some specific questions for your environment if it is something that interests the whole group, and of course those discussions can be continued over the rest of the time at the conference.</p>
<p>Hope to see you there!</p>
Posted in Apache, Archiva, Continuum, Maven Tagged: apachecon, training <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/365/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/365/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/365/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/365/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/365/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=365&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/10/13/maven-training-in-oakland-november-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
		<item>
		<title>Apache Maven 2: Effective Implementation Sample Chapter</title>
		<link>http://brettporter.wordpress.com/2009/09/30/apache-maven-2-effective-implementation-sample-chapter/</link>
		<comments>http://brettporter.wordpress.com/2009/09/30/apache-maven-2-effective-implementation-sample-chapter/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 06:52:40 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Maven]]></category>
		<category><![CDATA[Syndicated]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=359</guid>
		<description><![CDATA[When I announced the release of the book last week, I neglected to mention that there is a sample chapter online. It is available from the book&#8217;s site, but can be directly downloaded as a PDF:

Chapter 6 &#8211; Useful Maven Plugins

There is also an excerpt online if you don&#8217;t like PDF.
While it does stand alone, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=359&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>When I <a href="http://brettporter.wordpress.com/2009/09/17/book-released-apache-maven-2-effective-implementation/">announced the release of the book</a> last week, I neglected to mention that there is a sample chapter online. It is available from <a href="http://www.packtpub.com/apache-maven-2-effective-implementations/book">the book&#8217;s site</a>, but can be directly downloaded as a PDF:</p>
<ul>
<li><a href="http://www.packtpub.com/files/4541-apache-maven-2-effective-implementation-sample-chapter-6-useful-maven-plugins.pdf">Chapter 6 &#8211; Useful Maven Plugins</a></li>
</ul>
<p>There is also an <a href="http://www.packtpub.com/article/useful-maven-plugins-part1">excerpt online</a> if you don&#8217;t like PDF.</p>
<p>While it does stand alone, the examples are also worked in to the context of the sample project used throughout the book where appropriate.</p>
<p>This chapter was a late inclusion, but turned out to be one of my favourites. While it doesn&#8217;t cover <em>all</em> the useful Maven plugins (many such as the Enforcer and Assembly plugins are picked up elsewhere in the book), it highlights some that aren&#8217;t always well known or used:</p>
<ul>
<li>The Remote Resources plugin &#8211; and particularly the right pattern for including a package of reusable resources</li>
<li>The Build Number plugin</li>
<li>The Shade plugin &#8211; a very useful way to handle redistributing JARs and &#8220;uberJARs&#8221; and reducing dependency and classloading issues</li>
<li>The Build Helper plugin &#8211; useful bits and pieces like additional artifacts to deploy and reserved network ports for tests</li>
<li>The AntRun plugin (and other scripting languages) &#8211; how to still use Ant without the guilt of violating <em>The Maven Way</em>!</li>
<li>The Exec plugin &#8211; fork an external process in your build, or configure it for running your standalone application easily from the POM</li>
</ul>
<p>I do think if there was one plugin I would have liked to cover more in this centralised location it would have been the Enforcer &#8211; perhaps pulling some entries together would make a good blog topic in the future though.</p>
<p>I hope you enjoy the sample chapter and consider buying the book!</p>
Posted in Maven, Syndicated Tagged: book, howto, Maven, plugins <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/359/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/359/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/359/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/359/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/359/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/359/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/359/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/359/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/359/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/359/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=359&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/09/30/apache-maven-2-effective-implementation-sample-chapter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
		<item>
		<title>Interview with Feathercast about Maven Training</title>
		<link>http://brettporter.wordpress.com/2009/09/30/interview-with-feathercast-about-maven-training/</link>
		<comments>http://brettporter.wordpress.com/2009/09/30/interview-with-feathercast-about-maven-training/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 02:43:55 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Archiva]]></category>
		<category><![CDATA[Continuum]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Syndicated]]></category>
		<category><![CDATA[apachecon]]></category>
		<category><![CDATA[feathercast]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[podcast]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=354</guid>
		<description><![CDATA[Last week, Rich Bowen from Feathercast interviewed me about the training I&#8217;ll be hosting in Oakland on November 2: FeatherCast  » Blog Archive   » Episode 63: Brett Porter &#8211; Maven. More information about the training session can be found on the conference web site  or in my previous post.
Posted in Apache, Archiva, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=354&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Last week, Rich Bowen from Feathercast interviewed me about the training I&#8217;ll be hosting in Oakland on November 2: <a href="http://feathercast.org/?p=84">FeatherCast  » Blog Archive   » Episode 63: Brett Porter &#8211; Maven</a>. More information about the training session can be found on the <a href="http://us.apachecon.com/c/acus2009/sessions/379">conference web site</a>  or in my <a href="http://brettporter.wordpress.com/2009/09/23/apache-maven-end-to-end-training-in-november/">previous post</a>.</p>
Posted in Apache, Archiva, Continuum, Maven, Syndicated Tagged: apachecon, feathercast, interview, podcast, training <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/354/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=354&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/09/30/interview-with-feathercast-about-maven-training/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
		<item>
		<title>Apache Maven: End-to-end training in November</title>
		<link>http://brettporter.wordpress.com/2009/09/23/apache-maven-end-to-end-training-in-november/</link>
		<comments>http://brettporter.wordpress.com/2009/09/23/apache-maven-end-to-end-training-in-november/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 14:46:38 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Archiva]]></category>
		<category><![CDATA[Continuum]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Syndicated]]></category>
		<category><![CDATA[apachecon]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[oakland]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=350</guid>
		<description><![CDATA[It&#8217;s that time of year again! ApacheCon US in Oakland is on 2-6 November 2009. There are still discounts for registration by September 25.
I&#8217;m presenting my full-day Maven and development infrastructure training again on Monday November 2, called Apache Maven: End-to-end:

This training session will walk through the lifecycle of developing a typical Java application from [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=350&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>It&#8217;s that time of year again! <a href="http://us.apachecon.com/">ApacheCon US</a> in Oakland is on 2-6 November 2009. There are still discounts for registration by September 25.</p>
<p>I&#8217;m presenting my full-day Maven and development infrastructure training again on Monday November 2, called <a href="http://us.apachecon.com/c/acus2009/sessions/379">Apache Maven: End-to-end</a>:</p>
<blockquote><p>
This training session will walk through the lifecycle of developing a typical Java application from creation to deployment, and show how to use Apache Maven most effectively to manage the build and development process. In addition to the fundamental building blocks of the project, the session will cover testing, day-to-day development in the IDE, application of Maven best practices, effective dependency management, establishing a release process, using profiles effectively, setting up documentation, tracking development reports and practices. Effective use of continuous integration (illustrated with Apache Continuum) and repository management (using Apache Archiva) as a part of development infrastructure for team and enterprise environments will be demonstrated. This course will be suitable both for those that are looking to get the most out of their existing Maven projects, and those that are looking to use Maven for the first time. Time is reserved for addressing specific situations that attendees have encountered in existing projects.</p></blockquote>
<p>The material is aimed to offer most to the intermediate Maven user, while still being appropriate for Maven beginners, and is refreshed with the latest work from the book.</p>
Posted in Apache, Archiva, Continuum, Maven, Syndicated Tagged: apachecon, conferences, oakland, training <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/350/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=350&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/09/23/apache-maven-end-to-end-training-in-november/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
		<item>
		<title>Book Released &#8211; Apache Maven 2: Effective Implementation</title>
		<link>http://brettporter.wordpress.com/2009/09/17/book-released-apache-maven-2-effective-implementation/</link>
		<comments>http://brettporter.wordpress.com/2009/09/17/book-released-apache-maven-2-effective-implementation/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 16:51:56 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Syndicated]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[Archiva]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[Continuum]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Maven]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=339</guid>
		<description><![CDATA[After being available in &#8220;RAW&#8221; (draft) form for the last few months, the final release of Apache Maven 2: Effective Implementation is now available online! It is available in both eBook and printed + eBook versions.
We had some specific goals in writing this that I think we&#8217;ve achieved:

It is intended to build on top of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=339&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.packtpub.com/apache-maven-2-effective-implementations/book"><img alt="" src="http://images.packtpub.com/images/100x123/1847194540.png" title="Apache Maven 2: Effective Implementation" class="alignright" width="97" height="123" /></a>After being available in &#8220;RAW&#8221; (draft) form for the last few months, the final release of <a href="http://www.packtpub.com/apache-maven-2-effective-implementations/book">Apache Maven 2: Effective Implementation</a> is now available online! It is available in both eBook and printed + eBook versions.</p>
<p>We had some specific goals in writing this that I think we&#8217;ve achieved:</p>
<ul>
<li>It is intended to build on top of knowledge from the <a href="http://www.maestrodev.com/better-build-maven">free</a> <a href="http://www.sonatype.com/books/maven-book/reference/">books</a> that have gone before it with minimal duplication &#8211; though still enough information to stand alone.</li>
<li>The book should be of most value to intermediate Maven users, but also useful to beginners. Everyone should learn something from it. It should update Maven 2.0 users on the latest available technology such as Maven 2.2, the newer Archetype creation from a project mechanism, and under-utilised plugins like the Enforcer or Shade plugins.</li>
<li>We wanted to focus on &#8220;best practices&#8221; and tying everything together in a way that shows how Maven was meant to be used. Hopefully readers will experience the occasional &#8220;aha!&#8221; moment.</li>
<li>The book works through the issues by a gradual example application, like building up (or applying Maven to) your own project. It intends to show how a reasonably complete project structure is best worked with, and the example application should be relatively interesting in its own right. It gets built from scratch, up to an assembly, building it in CI, deploying it to the repository, and releasing it.</li>
<li>We wanted to give some coverage to Archiva and Continuum (projects that we&#8217;ve both been involved in for some time) to illustrate team concepts, but also convey the concepts in a way that translates to other equivalent tools.</li>
</ul>
<p>You can see what was covered in the <a href="http://www.packtpub.com/view_popup/page/apache-maven-2-effective-implementations-table-of-contents#chapter_12">Table of Contents</a>.</p>
<p>The book eventually weighed in at 450 pages &#8211; far more than we&#8217;d intended when we set out, though still with plenty of potential topics to cover. When we started this just over a year ago, my thoughts had initially been around simply covering the content from my series of Maven presentations and training content in book form, but soon found we could expand on many of the topics.</p>
<p>I had the good fortune to work with Deng Ching on the book (her <a href="http://blogs.exist.com/oching/2009/09/15/apache-maven-2-effective-implementation-book-final-version-now-available/">announcement is on her blog</a>), who poured a number of weekends and evenings into writing half of the content and reading (and re-reading) my writing.</p>
<p>We had some great help from our reviewers &#8211; <a href="http://www.osoco.org/blog/">Carsten Ziegler</a>, <a href="http://wsmoak.blogspot.com/">Wendy Smoak</a> and Emmanuel Venisse, as well as the encouragement of several others who wanted to help but couldn&#8217;t commit the time. Thank you all!</p>
Posted in Syndicated Tagged: announcement, Archiva, book, Continuum, howto, Maven <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/339/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=339&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/09/17/book-released-apache-maven-2-effective-implementation/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>

		<media:content url="http://images.packtpub.com/images/100x123/1847194540.png" medium="image">
			<media:title type="html">Apache Maven 2: Effective Implementation</media:title>
		</media:content>
	</item>
		<item>
		<title>Snow Leopard Installation Journey</title>
		<link>http://brettporter.wordpress.com/2009/09/07/snow-leopard-installation-journey/</link>
		<comments>http://brettporter.wordpress.com/2009/09/07/snow-leopard-installation-journey/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 11:01:06 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[dovecot]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mailtags]]></category>
		<category><![CDATA[omnifocus]]></category>
		<category><![CDATA[snowleopard]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=326</guid>
		<description><![CDATA[Wow, long time between posts&#8230; well, no time like the present and I thought I&#8217;d share a my notes on the Snow Leopard upgrade in case it helps anyone else.
The rant
Firstly, the obligatory rant. I had a world of pain just getting to the install process. After my initial disc was promptly shipped out, it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=326&subd=brettporter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Wow, long time between posts&#8230; well, no time like the present and I thought I&#8217;d share a my notes on the Snow Leopard upgrade in case it helps anyone else.</p>
<h2>The rant</h2>
<p>Firstly, the obligatory rant. I had a world of pain just getting to the install process. After my initial disc was promptly shipped out, it turned out to be from a <a href="http://blog.sensestudios.com/2009/08/apples-response-to-faulty-snow-leopard-disks/">bad batch</a>. The first support rep recommended trying again and if it failed to call back and we&#8217;d try and archive and install. Luckily the rep that responded when I called back didn&#8217;t put me through that and just put me through to order management for a replacement disc. After an <em>hour</em> on hold, it&#8217;s quickly sorted out and I&#8217;m told it&#8217;ll be shipped out in 2-3 days. 3 days later I discover it hasn&#8217;t been shipped, and is instead queued for a refund. Another half hour on the phone trying to explain I wanted a replacement because it was faulty, and it actually does get prepared for shipment, arriving the Monday after the first one arrived.</p>
<h2>The install</h2>
<p>So, armed with working disc, I pressed forward. The install proceeded as advertised &#8211; it said it would take about an hour, and it did &#8211; up until it got to the &#8220;Less than a minute&#8221; remaining, which took about&#8230; 45 minutes before I gave up. It was apparent it had frozen. No choice but to hard power down. Rebooted and it booted into the Snow Leopard welcome &#8211; the install was successful, but I was stuck in the first time set up. Everything I tried left the registration step getting to the end with all the buttons disabled&#8230; so, onto the phone with tech support. Started by rebooting in safe mode which took a really long time but didn&#8217;t help much. So we stepped through the process anyway. As it turns out&#8230;</p>
<blockquote><p>To skip the registration process, you can use Cmd-Q and select skip.</p></blockquote>
<p>Not very intuitive, but I guess it discourages skipping it rather than having the button right there in the dialog. So, now I can create an account (must be a new one), and I&#8217;m logged in. Everything is still there (*phew*). Reboot into normal mode (takes an eternity to shut down), log in as myself and remove the newly created account. An hour into the call, now I&#8217;m all set.</p>
<p>Incidently, during frequent periods of waiting for the Mac to boot / shutdown I discussed the virtues of a clean install with the tech support, but am told that wouldn&#8217;t be possible with the Snow Leopard upgrade disc (apparently in contradiction to what I was told by the very first tech support and most of what is said on the internet &#8211; curious).</p>
<p>I found I&#8217;d freed about 12Gb during the process (measured using <tt>df -k</tt> to avoid being duped by the redefinition of a Gb) &#8211; a handy saving.</p>
<p>Checking it out, I found I had a new <tt>/Recovered Items</tt> directory which was unusual. I&#8217;m not sure if I just got this because of the missed completion of the installer. About 500Mb of data, including some things that didn&#8217;t make it (like the XCode tools). I&#8217;m holding onto it for now, but it looks like I shouldn&#8217;t need it.</p>
<p>Next, to see what survived the upgrade.</p>
<h2>The Victims</h2>
<p>I was well aware of what might and might not work after the upgrade. Here&#8217;s what I&#8217;ve found so far:</p>
<ul>
<li>XCode command line tools</li>
<li>Dovecot</li>
<li>MailTags (upgraded to their 10.6 special version which seems fine)</li>
<li>Mail Act-On (was using 1.3, may need to pay to upgrade to 2.0 now)</li>
<li>The sync server in Omnifocus</li>
<li>The Omnifocus mail integration (re-installed from OmniFocus preferences)</li>
<li>iStat Menus (upgraded to 2.0, no problems)</li>
<li>Java 1.3 / 1.4 / 5</li>
<li>Visor plugin (relies on SIMBL, not re-installing)</li>
<li>Sort ordering in smart mailboxes in Mail.app is not retained (no fix found yet)</li>
<li>X-Lite had no sound (upgraded to <a href="http://forums.counterpath.com/viewtopic.php?f=10&amp;t=15495">a beta version</a> that seems to work)
</ul>
<p>I uninstalled a few other things that I wasn&#8217;t using any more to try and get rid of 32-bit system preference panels (though most seemed to be working).</p>
<h3>XCode Command Line Tools</h3>
<p>Oddly, gcc-4.2 and the other command line tools were moved to Recovered Items but most of the XCode installation survived. I planned to reinstall the new version anyway, which I tried. This failed about halfway through without much information other than to try again, which I did and succeeded. Go figure.</p>
<h3>Dovecot</h3>
<p>I had recently moved from MacPorts to <a href="http://github.com/mxcl/homebrew">Homebrew</a> in anticipation of the upgrade, and all continued working afterwards except for Dovecot.</p>
<p>First up, it seems the <tt>dovecot</tt> user had disappeared during the upgrade process. Luckily, 10.6 seems to have included one by default, <tt>_dovecot</tt> in the <tt>mail</tt> group. So I adjusted the Dovecot configuration.</p>
<p>Next, failure to read <tt>/private/etc/ssl/certs/dovecot.pem</tt> &#8211; had just forgotten to use <tt>sudo</tt> when running <tt>launchctl</tt>. Try again.</p>
<p>After that, there was a period where it wouldn&#8217;t start and gave no error in the system log. To be honest, I don&#8217;t know what I did to fix that but when I came back to it later after some reboots it was working again. Reassuring.</p>
<p>Eventually got it started again but failed to auth from Mail.app. The system log showed:</p>
<pre class="brush: bash;">
7/09/09 6:37:36 PM	dovecot-auth[82]	in openpam_load_module(): no pam_securityserver.so found
7/09/09 6:37:36 PM	dovecot[80]	auth-worker(default): pam(brett,127.0.0.1): pam_start() failed: system error
</pre>
<p>Seems that this has been removed in Snow Leopard. I&#8217;d been using the <tt>/etc/pam.d/dovecot</tt> file given <a href="http://wiki.dovecot.org/PasswordDatabase/PAM">here</a>. I used the further recommendation on the page to remove that file and change the dovecot configuration to this:</p>
<pre class="brush: bash;">
passdb pam {
  args = login
}
</pre>
<p>After all that, my local mail server is back.</p>
<h3>OmniFocus sync server</h3>
<p>This one was a little unusual. The sync server runs a copy of Apache HTTP Server, which was failing to start up. The logs revealed:</p>
<pre class="brush: bash;">
[Mon Sep 07 18:36:30 2009] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Mon Sep 07 18:36:30 2009] [warn] RSA server certificate CommonName (CN) `mcbrett' does NOT match server name!?
</pre>
<p>While the short hostname of the machine was still <tt>mcbrett</tt> as before, it turned out that my installation pattern had changed the main host name to <tt>dummy's MacBook Pro 15"</tt> (dummy being the account name I created at first). I decided it was time for a change and changed my hostname to <tt>brettporter</tt>:</p>
<pre class="brush: bash;">
sudo hostname brettporter
sudo scutil --set HostName brettporter
</pre>
<p>Along with the same change in the Sharing system preferences, this was enough to get the sync server started again.</p>
<h2>The Verdict</h2>
<p>Other than these, my apps (including some that had received bad reports from others) seem to be working fine.</p>
<p>This was a much more painful upgrade than Leopard (salt in the wounds from the painful ordering process). The disk space saving is nice, but it never lasts <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  So far I haven&#8217;t noticed much in the way of performance improvements and have still obtained the <i>marble of doom</i> &#8211; time will tell if it seems to have improved or not. I&#8217;m particularly interested in Time Machine performance.</p>
<p>The big wins probably won&#8217;t come until applications start to take advantage of grand central and so on. All in all that is what appeals to me most about the release &#8211; most developers would love the opportunity to take some time and just clean things up in their projects and build out the core support.</p>
Posted in Mac OS X Tagged: dovecot, httpd, mail, mailtags, omnifocus, snowleopard, xcode <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/326/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/326/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/326/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&blog=2438532&post=326&subd=brettporter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2009/09/07/snow-leopard-installation-journey/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
		<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>
<a name="pd_a_1750938"></a><div class="PDS_Poll" id="PDI_container1750938" style="display:inline-block;"></div><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&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;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 lifecycle 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 lifecycle bindings.</p>
<p>Previously, you could only do this at the plugin level, for example:</p>
<pre class="brush: 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 class="brush: 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 class="brush: 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 identcial 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 class="brush: 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 class="brush: 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;
            &lt;version&gt;[2.2.0,)&lt;/version&gt;
          &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, Maven <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>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Brett</media:title>
		</media:content>
	</item>
	</channel>
</rss>