<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" 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>Tue, 24 Jan 2012 03:19:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='brettporter.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/14a4495d4245b196c50cd905b03a3de7?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Brett Porter</title>
		<link>http://brettporter.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://brettporter.wordpress.com/osd.xml" title="Brett Porter" />
	<atom:link rel='hub' href='http://brettporter.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Apache Maven Training in Vancouver &#8211; 1 week left to register</title>
		<link>http://brettporter.wordpress.com/2011/10/08/apache-maven-training-in-vancouver-1-week-left-to-register/</link>
		<comments>http://brettporter.wordpress.com/2011/10/08/apache-maven-training-in-vancouver-1-week-left-to-register/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 13:07:58 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Syndicated]]></category>
		<category><![CDATA[apachecon]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=655</guid>
		<description><![CDATA[ApacheCon is in Vancouver this year, and now just 1 month away (Nov 7-11). There is still one week left to register for the training sessions, and to qualify for the early bird rate on the conference. As in previous &#8230; <a href="http://brettporter.wordpress.com/2011/10/08/apache-maven-training-in-vancouver-1-week-left-to-register/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=655&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.apachecon.com/">ApacheCon</a> is in Vancouver this year, and now just 1 month away (Nov 7-11). There is still one week left to <a href="http://www.apachecon.com/">register</a> for the training sessions, and to qualify for the early bird rate on the conference.</p>
<p>As in previous years, I&#8217;ll be offering an up-to-date version of the training course, <a href="http://na11.apachecon.com/talks/19405">Apache Maven: Effective Implementation</a>:</p>
<blockquote><p>
This training course is designed to go beyond your current assumptions about Apache Maven and learn how to use it most effectively to manage the build and development process. Whether you are a novice aiming to start on the right foot, or a regular user looking to get more out of Maven and avoid common frustrations, this course will give you the skills you need to apply to your own projects. By working through a series of short exercises applied to a complete sample application, you will learn how to apply common patterns in Maven builds to achieve the desired outcome, while learning best practices and common pitfalls along the way. Topics include installation, Maven fundamentals, working efficiently with multi-module projects, simplifying the POM, the best general purpose plugins that you should know about, integration and functional testing, when (and when not) to use Maven sites and reporting, the role of profiles, snapshots and dependency management, repository management, and performing releases. The content is updated for the latest improvements in Maven 2.2 and Maven 3, and will cater to your preference of development environment. Time is reserved for sharing specific situations that attendees have encountered in existing projects.
</p></blockquote>
<p>The course runs for a full day on Tuesday, 8 November. If you&#8217;re planning to attend the training or the conference, you can <a href="http://na11.apachecon.com/profiles/148059">connect to me</a> on the conference website.</p>
<br />Filed under: <a href='http://brettporter.wordpress.com/category/apache/'>Apache</a>, <a href='http://brettporter.wordpress.com/category/maven/'>Maven</a>, <a href='http://brettporter.wordpress.com/category/syndicated/'>Syndicated</a> Tagged: <a href='http://brettporter.wordpress.com/tag/apachecon/'>apachecon</a>, <a href='http://brettporter.wordpress.com/tag/training/'>training</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/655/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/655/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/655/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/655/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettporter.wordpress.com/655/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettporter.wordpress.com/655/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettporter.wordpress.com/655/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettporter.wordpress.com/655/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/655/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/655/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/655/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/655/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/655/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/655/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=655&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2011/10/08/apache-maven-training-in-vancouver-1-week-left-to-register/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b22e25826c23c2c65f9d4f21ad21c684?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>Obligatory OS X Lion Installation Post</title>
		<link>http://brettporter.wordpress.com/2011/07/21/obligatory-os-x-lion-installation-post/</link>
		<comments>http://brettporter.wordpress.com/2011/07/21/obligatory-os-x-lion-installation-post/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 02:38:08 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=640</guid>
		<description><![CDATA[A couple of years ago, I wrote up my experiences installing Snow Leopard on my MacBook Pro. With Lion out today, I&#8217;m doing the same (either as notes to self, or to help out other poor souls). This time around &#8230; <a href="http://brettporter.wordpress.com/2011/07/21/obligatory-os-x-lion-installation-post/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=640&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A couple of years ago, I wrote up my experiences <a title="Snow Leopard Installation Journey" href="http://brettporter.wordpress.com/2009/09/07/snow-leopard-installation-journey/">installing Snow Leopard</a> on my MacBook Pro. With Lion out today, I&#8217;m doing the same (either as notes to self, or to help out other poor souls).</p>
<p>This time around I have two machines to install, so the rarely used MacBook is getting updated now, with the iMac on hold for a while so I don&#8217;t disrupt work. I&#8217;ll be well prepared for that one with both a Time Machine backup and a clone by Carbon Copy Cloner to a different portable drive!</p>
<h1>Getting It</h1>
<p>In my previous post, you&#8217;ll see I had some hassle getting a functional install disc for Snow Leopard. In that light, digital distribution was a welcome change &#8211; particularly being able to start downloading it in the middle of the night here as soon as it was out, and having it ready when I woke up. There were a few false starts with the App Store overloaded initially, but once it got purchased the download was fast.</p>
<p>You can check download progress in the &#8220;Purchases&#8221; tab &#8211; though since the store was timing out I found it easier to look in <code>~/Library/Application Support/AppStore/APPID</code>. Note that this changes after the upgrade to Lion &#8211; instead being in a temporary directory (for me, it was <code>$TMPDIR/../C/com.apple.appstore/APPID</code>)</p>
<p>Once it was downloaded, I made sure to copy the install application to a thumb drive, so that I can install it on the desktop later without another hefty download. You&#8217;ll want to grab that before you actually install, as it appears to be gone afterwards. While I haven&#8217;t tried it yet, there&#8217;s plenty of instructions out there for installing from physical media &#8211; such as <a href="http://osxdaily.com/2011/07/08/make-a-bootable-mac-os-x-10-7-lion-installer-from-a-usb-flash-drive/">this one</a> (though this isn&#8217;t necessary, as you can just run the install app again on the other Snow Leopard machine).</p>
<h1>The Install</h1>
<p>The install process is very similar to that of Snow Leopard, though I had no problems such as I did that time. It spent its 45 minutes installing, rebooted, and came back to the new login screen.</p>
<h1>The Victims</h1>
<p>Here&#8217;s what I&#8217;ve found didn&#8217;t work out of the box:</p>
<ul>
<li>X-Code command line tools</li>
<li><a href="http://mxcl.github.com/homebrew/">Homebrew</a> (by virtue of the above)</li>
<li>Java</li>
<li>Java applets</li>
<li>AUSkey (required Java applets)</li>
<li><a href="http://christianserving.org/project/truepreview">TruePreview</a> (Mail extension to avoid marking as read immediately, will have to live without it for now)</li>
<li>Skype had some UI glitches related to scrolling (upgrading to 5.2 fixed it)</li>
<li>The Omnifocus mail integration (re-installed from OmniFocus preferences again)</li>
<li>The <a href="http://fixedgear.ca">Basics</a> Growl style (text always comes up black, switched to the &#8220;Mono&#8221; theme from the same site instead)</li>
</ul>
<p>Parallels went out of there way to email today and say that my old copy of Parallels Desktop 4 won&#8217;t work in Lion, though I&#8217;m yet to try it. VMWare only refers to version 3.1.3 being fine, but I still seem to be able to run Fusion 2 just fine as a host &#8211; though it&#8217;s falling behind on guest support. I should be able to keep using that. I&#8217;m not inclined to pay for an upgrade, so it might be time to try VirtualBox again.</p>
<p>Some other things that I had previously been using (like MailTags and Mail Act-on) didn&#8217;t survive the Snow Leopard upgrade, so that made things simpler. One or two (like Dovecot) I won&#8217;t find out until I try again on the iMac.</p>
<h2>Xcode Command Line Tools</h2>
<p>This has been a problem for a while &#8211; each new release you could get a smaller download from Software Update, or the multi-gigabyte one from the Developer Center. Putting the smaller download on multiple machines meant intercepting the download to copy it before the update got erased, though &#8211; and it felt like it wouldn&#8217;t last forever.</p>
<p>That seems to be the case now &#8211; with Xcode 3 not working on Lion, I bit the bullet and got Xcode 4.1 from the App Store. It&#8217;s a large download, but the good news is that after &#8220;installing&#8221;, it just puts an &#8220;Install Xcode&#8221; application in place, like Lion itself. You can then copy that around to install elsewhere (though I&#8217;m yet to try &#8211; we&#8217;ll see if the App Store still recognises it).</p>
<p>This installs Xcode as well as the command line tools &#8211; I&#8217;m not sure at this point if there is a leaner option.</p>
<p>The installer has some oddities though. First, it requires that you close iTunes even if it isn&#8217;t running &#8211; to correct that I had to kill iTunesHelper from the command line. Beyond that, it seems to get stuck at the very end of the progress bar and never ends. I closed the window and everything seems installed, but it hasn&#8217;t removed the installer application.</p>
<h2>Homebrew</h2>
<p>After updating Xcode, <code>brew doctor</code> seemed happy again, so nothing more to do there.</p>
<h2>Java</h2>
<p>The concern about Java not being installed on Lion seemed to have died down, and it was pretty much a non-event in this case. After installation, I immediately went to a terminal and typed &#8220;java&#8221;, at which point it prompted to download it for me, and worked just fine after that.</p>
<h2>Java Applets</h2>
<p>It was a bit unclear at first why, but pages with applets weren&#8217;t working in either Safari or Chrome. I found that I had to go to the &#8220;Java Preferences&#8221; panel and check the box that allows applets, as they had been disabled by default.</p>
<h1>Bugs</h1>
<p>I&#8217;m sure I&#8217;ll find several issues as I go along, but for now it has been fairly limited.</p>
<ul>
<li>Chrome has the button to go fullscreen, but not the one to go back and permanent scrollbars (this has <a href="http://techcrunch.com/2011/07/21/chrome-os-x-lion/">now been written about</a>)</li>
<li>Colloquy 2.3 has the same scrollbar problem, and displays all times in UTC. The 2.4 release from http://colloquy.info/downloads/ seems to resolve them but hasn&#8217;t been announced yet (but must be close!)</li>
<li>My original desktop background disappeared on the iMac (fine on the Macbook), replaced by a starfield, and today replaced by a blank blue background. This seems to be a result of setting it from iPhoto &#8217;09 &#8211; exporting and setting by right clicking on the JPEG worked</li>
</ul>
<h1>The Verdict</h1>
<p>My initial impression of Lion seems to fit with the majority of the observers &#8211; a worthwhile upgrade for the price. I haven&#8217;t used it enough to really say yet. The feature I&#8217;m most looking forward to seeing in practice is the document versioning and application state restoration, but it&#8217;s not that useful when it&#8217;s only in TextEdit right now. </p>
<p>The UI changes make sense to me so far, though I had to forcefully hide the scrollbars for the reverse swiping to make sense again (the default for the old Macbook trackpad was always on). Honestly the UI changes don&#8217;t really excite me a lot either &#8211; it overall doesn&#8217;t feel too different to Snow Leopard. </p>
<p>The new 3-pane interface and threaded view in Mail is welcome, though otherwise there doesn&#8217;t seem to be too much different in this release. I might try iChat over Adium for a while again to compare, since it now supports all those old Yahoo messenger buddies I have.</p>
<p>Aside from that, I&#8217;m not going to bother reviewing the features, as plenty have done that so far (the most detailed as always being <a href="http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars">John Siracusa at Ars Technica</a>).</p>
<p>Hope this helps someone!</p>
<br />Filed under: <a href='http://brettporter.wordpress.com/category/mac-os-x/'>Mac OS X</a>, <a href='http://brettporter.wordpress.com/category/tech/'>Tech</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettporter.wordpress.com/640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettporter.wordpress.com/640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettporter.wordpress.com/640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettporter.wordpress.com/640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/640/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=640&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2011/07/21/obligatory-os-x-lion-installation-post/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b22e25826c23c2c65f9d4f21ad21c684?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 Archiva 1.3.3 released: performance improvements!</title>
		<link>http://brettporter.wordpress.com/2010/12/20/apache-archiva-1-3-3-released-performance-improvements/</link>
		<comments>http://brettporter.wordpress.com/2010/12/20/apache-archiva-1-3-3-released-performance-improvements/#comments</comments>
		<pubDate>Mon, 20 Dec 2010 11:57:08 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Archiva]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Syndicated]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[releases]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=627</guid>
		<description><![CDATA[If you&#8217;re using Archiva for your repository management needs, you should definitely upgrade to the latest release. Download it now! The 1.3.x series has focused on the biggest offenders in memory usage and performance problems, and Archiva 1.3.3 brings the biggest improvements yet: &#8230; <a href="http://brettporter.wordpress.com/2010/12/20/apache-archiva-1-3-3-released-performance-improvements/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=627&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re using <a href="http://archiva.apache.org/">Archiva</a> for your repository management needs, you should definitely <a href="http://archiva.apache.org/docs/1.3.3/adminguide/upgrade.html">upgrade</a> to the latest release. <a href="http://archiva.apache.org/download.html">Download it now!</a></p>
<p>The 1.3.x series has focused on the biggest offenders in memory usage and performance problems, and Archiva 1.3.3 brings the biggest improvements yet:</p>
<ul>
<li>Full scans should take about 1/3rd of the time and consume far less memory</li>
<li>Removed one-off memory hits at the end of a scan</li>
<li>File descriptor use during concurrent deployments are better managed</li>
</ul>
<p>In addition, a new system status page is available for assessing the cause of potential performance issues at runtime, giving better insight into how to tune memory or scanning settings appropriately.</p>
<p>This work is in advance of the upcoming Archiva 1.4 release which has revived the internals more significantly, with further performance improvements and a series of new features.</p>
<p>It&#8217;s also worth noting that we dropped support for Archiva 1.1.x and Archiva 1.2.x in November, so there&#8217;s no reason left to remain on older versions.</p>
<p>I&#8217;d like to thank <a href="http://www.yourkit.com/">YourKit</a>, who provided a free license for their profiler, which was of great assistance in tracking down these issues. I&#8217;ve used it on occasion for a number of years, and it is one of the easiest tools to use that I&#8217;ve ever encountered.</p>
<p>The full set of issues resolved follow:</p>
<ul>
<li>[<a href='http://jira.codehaus.org/browse/MRM-1097'>MRM-1097</a>] &#8211;         Error 500 &quot;too many open files&quot;</li>
<li>[<a href='http://jira.codehaus.org/browse/MRM-1369'>MRM-1369</a>] &#8211;         Editing user roles in archiva clobbers continuum redback roles</li>
<li>[<a href='http://jira.codehaus.org/browse/MRM-1396'>MRM-1396</a>] &#8211;         Purge task problem : Not enough parts to the path</li>
<li>[<a href='http://jira.codehaus.org/browse/MRM-1421'>MRM-1421</a>] &#8211;         Archiva repository purge incorrectly purges based on file timestamps even when the snapshot timestamp is known</li>
<li>[<a href='http://jira.codehaus.org/browse/MRM-1443'>MRM-1443</a>] &#8211;         repository statistics collection can cause server to hang</li>
<li>[<a href='http://jira.codehaus.org/browse/MRM-1416'>MRM-1416</a>] &#8211;         upgrade to Redback 1.2.5</li>
<li>[<a href='http://jira.codehaus.org/browse/MRM-1439'>MRM-1439</a>] &#8211;         improve indexing performance</li>
<li>[<a href='http://jira.codehaus.org/browse/MRM-1440'>MRM-1440</a>] &#8211;         system status page</li>
<li>[<a href='http://jira.codehaus.org/browse/MRM-1441'>MRM-1441</a>] &#8211;         monitor repository scanning progress</li>
<li>[<a href='http://jira.codehaus.org/browse/MRM-1442'>MRM-1442</a>] &#8211;         track time spent in each consumer during a scan, to help diagnose poor scanning performance</li>
<li>[<a href='http://jira.codehaus.org/browse/MRM-1445'>MRM-1445</a>] &#8211;         disable referrer check by default</li>
</ul>
<br />Filed under: <a href='http://brettporter.wordpress.com/category/apache/'>Apache</a>, <a href='http://brettporter.wordpress.com/category/archiva/'>Archiva</a>, <a href='http://brettporter.wordpress.com/category/maven/'>Maven</a>, <a href='http://brettporter.wordpress.com/category/syndicated/'>Syndicated</a> Tagged: <a href='http://brettporter.wordpress.com/tag/announcement/'>announcement</a>, <a href='http://brettporter.wordpress.com/tag/apache/'>Apache</a>, <a href='http://brettporter.wordpress.com/tag/archiva/'>Archiva</a>, <a href='http://brettporter.wordpress.com/tag/maven/'>Maven</a>, <a href='http://brettporter.wordpress.com/tag/releases/'>releases</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettporter.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettporter.wordpress.com/627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettporter.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettporter.wordpress.com/627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/627/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=627&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2010/12/20/apache-archiva-1-3-3-released-performance-improvements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b22e25826c23c2c65f9d4f21ad21c684?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>BarCamp Apache Sydney is this Saturday!</title>
		<link>http://brettporter.wordpress.com/2010/12/09/barcamp-apache-sydney-is-this-saturday/</link>
		<comments>http://brettporter.wordpress.com/2010/12/09/barcamp-apache-sydney-is-this-saturday/#comments</comments>
		<pubDate>Thu, 09 Dec 2010 01:05:36 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[MaestroDev]]></category>
		<category><![CDATA[Syndicated]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[barcamp]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[maestrodev]]></category>
		<category><![CDATA[sydney]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=622</guid>
		<description><![CDATA[Great news &#8211; we seem to be getting quite a few last minute registrations for the BarCamp. There&#8217;s still time to sign up, or invite a colleague, if you&#8217;re coming along! Here&#8217;s the details in a nutshell&#8230; BarCamp Date: Saturday, &#8230; <a href="http://brettporter.wordpress.com/2010/12/09/barcamp-apache-sydney-is-this-saturday/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=622&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Great news &#8211; we seem to be getting quite a few last minute registrations for the BarCamp. There&#8217;s still time to sign up, or invite a colleague, if you&#8217;re coming along!</p>
<p>Here&#8217;s the details in a nutshell&#8230;</p>
<h3>BarCamp</h3>
<p><em>Date</em>: Saturday, 11th December<br />
<em>Time</em>: Registration is at 9:30am, for a 10am start.<br />
<em>Venue</em>: <a href="http://www.facilities.usyd.edu.au/fmo/services/venue.shtml">The Darlington Centre, University of Sydney, at 174 City Road, Darlington</a><br />
<em>Cost</em>: free<br />
<em>Food</em>: coffee, snacks and lunch provided by the sponsors<br />
<em>Other</em>: free wifi available<br />
<em>Sign up and details</em>: <a href="http://barcamp.org/BarCampApacheSydney">http://barcamp.org/BarCampApacheSydney</a></p>
<h3>Pre-BarCamp Dinner and Drinks</h3>
<p><em>Date</em>: Friday, 10th December<br />
<em>Time</em>: Meeting at 7:30pm, reservation is for 8:30pm<br />
<em>Venue</em>: <a href="http://www.bankhotel.com.au/#/Contact/Location">Sumalee Thai, in The Bank Hotel, Newtown</a><br />
<em>Cost</em>: $30pp for a variety of dishes, includes a vegetarian option<br />
<em>Sign up</em>: indicate it on <a href="http://barcamp.org/BarCampApacheSydney">the wiki</a> or <a href="http://groups.google.com/group/barcamp-sydney">the barcamp-sydney Google group</a></p>
<p>See you there!</p>
<br />Filed under: <a href='http://brettporter.wordpress.com/category/apache/'>Apache</a>, <a href='http://brettporter.wordpress.com/category/maestrodev/'>MaestroDev</a>, <a href='http://brettporter.wordpress.com/category/syndicated/'>Syndicated</a>, <a href='http://brettporter.wordpress.com/category/tech/'>Tech</a> Tagged: <a href='http://brettporter.wordpress.com/tag/apache/'>Apache</a>, <a href='http://brettporter.wordpress.com/tag/barcamp/'>barcamp</a>, <a href='http://brettporter.wordpress.com/tag/conferences/'>conferences</a>, <a href='http://brettporter.wordpress.com/tag/events/'>events</a>, <a href='http://brettporter.wordpress.com/tag/maestrodev-2/'>maestrodev</a>, <a href='http://brettporter.wordpress.com/tag/sydney/'>sydney</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettporter.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettporter.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettporter.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettporter.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/622/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/622/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/622/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=622&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2010/12/09/barcamp-apache-sydney-is-this-saturday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b22e25826c23c2c65f9d4f21ad21c684?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>Using a GPG agent for signing Maven releases on Mac OS X</title>
		<link>http://brettporter.wordpress.com/2010/11/26/using-a-gpg-agent-for-signing-maven-releases-on-mac-os-x/</link>
		<comments>http://brettporter.wordpress.com/2010/11/26/using-a-gpg-agent-for-signing-maven-releases-on-mac-os-x/#comments</comments>
		<pubDate>Fri, 26 Nov 2010 00:41:13 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Syndicated]]></category>
		<category><![CDATA[gpg]]></category>
		<category><![CDATA[gpg-agent]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=618</guid>
		<description><![CDATA[Using the Maven GPG Plugin makes it easy to sign a large number of artifacts when performing a release with Maven. However, one of the annoying parts is that interactive password entry is not particularly easy, and you often have &#8230; <a href="http://brettporter.wordpress.com/2010/11/26/using-a-gpg-agent-for-signing-maven-releases-on-mac-os-x/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=618&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Using the <a href="http://maven.apache.org/plugins/maven-gpg-plugin/">Maven GPG Plugin</a> makes it easy to sign a large number of artifacts when performing a release with Maven.</p>
<p>However, one of the annoying parts is that interactive password entry is not particularly easy, and you often have to put it on the command line or into your settings file in plaintext, which is not very comfortable. The better alternative is to use gpg-agent, and if you&#8217;re not using GPG 2.0 this needs to be configured in the POM:</p>
<p><pre class="brush: xml;">
  &lt;plugin&gt;
    &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
    &lt;artifactId&gt;maven-gpg-plugin&lt;/artifactId&gt;
    &lt;version&gt;1.1&lt;/version&gt;
    &lt;configuration&gt;
      &lt;useAgent&gt;true&lt;/useAgent&gt;
    &lt;/configuration&gt;
  &lt;/plugin&gt;
</pre></p>
<p>GPG will fallback to the same password entry if it is not running or if it is provided via the property, so there&#8217;s no particular downside to enabling the option.</p>
<p>The problem on Mac is that the situation with GPG is a little confusing. There seem to be several different projects floating around to provide it.</p>
<p>I&#8217;m a big fan of <a href="https://github.com/mxcl/homebrew">Homebrew</a>, and previously I&#8217;d been using that to install GnuPG and gpg-agent. It worked quite well, but the password entry required curses, and also didn&#8217;t work in an interactive session &#8211; so you&#8217;d need to make sure to have entered it manually before starting a release. If it failed mid-release, you&#8217;d need to restart the agent. None of this was Homebrew&#8217;s fault &#8211; I just hadn&#8217;t been able to find a native pinentry app for the Mac that stood alone and didn&#8217;t crash on use.</p>
<p>After fiddling with it for a while, I decided to try one of the native Mac GPG installers again. This is where it got confusing, since there are several efforts floating around. Others may work, but the one I had success with is the <a href="http://www.gpgmail.org/">revived GPGMail</a> project. After uninstalling all the packages using Homebrew, I installed GPGTools from the <a href="http://www.gpgmail.org/download/">download page</a>. Since this includes a native pinentry application, and pre-configures gpg and the agent to run once on login, it worked much better.</p>
<p>The only catch if you&#8217;re trying this is that you need to logout, or in your shell run this until you have:<br />
<pre class="brush: bash;">
open /usr/local/libexec/start-gpg-agent.app/
. ~/.gpg-agent-info
export GPG_AGENT_INFO
</pre></p>
<p>You can test that it is working outside of Maven by running: <code>gpg -ab</code> (ending with <code>Ctrl-D</code>),</p>
<br />Filed under: <a href='http://brettporter.wordpress.com/category/mac-os-x/'>Mac OS X</a>, <a href='http://brettporter.wordpress.com/category/maven/'>Maven</a>, <a href='http://brettporter.wordpress.com/category/syndicated/'>Syndicated</a> Tagged: <a href='http://brettporter.wordpress.com/tag/gpg/'>gpg</a>, <a href='http://brettporter.wordpress.com/tag/gpg-agent/'>gpg-agent</a>, <a href='http://brettporter.wordpress.com/tag/howto/'>howto</a>, <a href='http://brettporter.wordpress.com/tag/mac-os-x/'>Mac OS X</a>, <a href='http://brettporter.wordpress.com/tag/maven/'>Maven</a>, <a href='http://brettporter.wordpress.com/tag/release/'>release</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettporter.wordpress.com/618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettporter.wordpress.com/618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettporter.wordpress.com/618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettporter.wordpress.com/618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/618/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/618/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/618/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=618&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2010/11/26/using-a-gpg-agent-for-signing-maven-releases-on-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b22e25826c23c2c65f9d4f21ad21c684?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>Will you be at BarCamp Apache Sydney, December 11?</title>
		<link>http://brettporter.wordpress.com/2010/11/16/will-you-be-at-barcamp-apache-sydney-december-11/</link>
		<comments>http://brettporter.wordpress.com/2010/11/16/will-you-be-at-barcamp-apache-sydney-december-11/#comments</comments>
		<pubDate>Tue, 16 Nov 2010 00:29:23 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[MaestroDev]]></category>
		<category><![CDATA[Syndicated]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[barcamp]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[maestrodev]]></category>
		<category><![CDATA[sydney]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=605</guid>
		<description><![CDATA[In case you&#8217;ve missed it, we&#8217;ve announced a BarCamp that will be running at the University of Sydney on Saturday 11th December, with a meal the night beforehand. It is a free event, so you just need to signup on &#8230; <a href="http://brettporter.wordpress.com/2010/11/16/will-you-be-at-barcamp-apache-sydney-december-11/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=605&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="font-family:Georgia, 'Bitstream Charter', serif;line-height:23px;font-size:14px;">In case you&#8217;ve missed it, we&#8217;ve announced a BarCamp that will be running at the University of Sydney on Saturday 11th December, with a meal the night beforehand. It is a free event, so you just need to signup on the BarCamp wiki at <a href="http://barcamp.org/BarCampApacheSydney">http://barcamp.org/BarCampApacheSydney</a>. You should also join the <a href="http://groups.google.com/group/barcamp-sydney">barcamp-sydney google group</a> for updates.</span></p>
<p>The venue is <a href="http://www.facilities.usyd.edu.au/fmo/services/venue.shtml">The Darlington Centre, University of Sydney, at 174 City Road, Darlington</a>. Registration is at 9:30am, for a 10am start.</p>
<p>The BarCamp is being run in conjunction with the Apache Software Foundation, and several Apache committers will be there proposing talks. However it is still run like a normal BarCamp, and given we haven&#8217;t had one in Sydney in the last year we&#8217;re expecting a diverse turn out. If you&#8217;re interested in BarCamps, want to know more about how the ASF develops software, or want to learn more about a particular Apache project, we hope you&#8217;ll join us! Even better, bring a topic to talk about of your own.</p>
<p>We&#8217;ve ensured that wifi, snacks and some other goodies will be provided on the day and are looking into options for lunch, depending on sponsorship levels.</p>
<p>If you&#8217;re not familiar with the format, you can find out more on the BarCamp site:</p>
<ul>
<li><a href="http://barcamp.org/w/page/402984/FrontPage">About BarCamp</a></li>
<li><a href="http://barcamp.org/w/page/405512/WhatToExpect">What to Expect</a></li>
</ul>
<p>MaestroDev is pleased to be joining University of Sydney, Apache Software Foundation, Alfresco and IBM as sponsors of the event. If your company is interested in sponsoring the event, please let one of the organisers know via the details at the bottom of the <a href="http://barcamp.org/BarCampApacheSydney">BarCamp page</a>.</p>
<p>Please help us to get the word out about the event. Hope to see you there!</p>
<br />Filed under: <a href='http://brettporter.wordpress.com/category/apache/'>Apache</a>, <a href='http://brettporter.wordpress.com/category/maestrodev/'>MaestroDev</a>, <a href='http://brettporter.wordpress.com/category/syndicated/'>Syndicated</a>, <a href='http://brettporter.wordpress.com/category/tech/'>Tech</a> Tagged: <a href='http://brettporter.wordpress.com/tag/apache/'>Apache</a>, <a href='http://brettporter.wordpress.com/tag/barcamp/'>barcamp</a>, <a href='http://brettporter.wordpress.com/tag/conferences/'>conferences</a>, <a href='http://brettporter.wordpress.com/tag/maestrodev-2/'>maestrodev</a>, <a href='http://brettporter.wordpress.com/tag/sydney/'>sydney</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/605/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/605/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/605/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/605/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettporter.wordpress.com/605/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettporter.wordpress.com/605/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettporter.wordpress.com/605/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettporter.wordpress.com/605/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/605/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/605/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/605/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/605/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/605/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/605/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=605&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2010/11/16/will-you-be-at-barcamp-apache-sydney-december-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b22e25826c23c2c65f9d4f21ad21c684?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>Last chance to register for Training and Receive Maven Book Free</title>
		<link>http://brettporter.wordpress.com/2010/10/15/last-chance-to-register-for-training-by-oct-14-and-receive-maven-book-free/</link>
		<comments>http://brettporter.wordpress.com/2010/10/15/last-chance-to-register-for-training-by-oct-14-and-receive-maven-book-free/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 17:04:59 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Syndicated]]></category>
		<category><![CDATA[apachecon]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[packt]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=596</guid>
		<description><![CDATA[Packt Publishing, the publishers of Apache Maven 2: Effective Implementation, will be present at ApacheCon North America, coming up on November 1 &#8211; 5, 2010. They&#8217;ll have an exhibitors table with information about their books on Apache projects such as &#8230; <a href="http://brettporter.wordpress.com/2010/10/15/last-chance-to-register-for-training-by-oct-14-and-receive-maven-book-free/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=596&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-574" title="Apache Maven 2: Effective Implementation" src="http://brettporter.files.wordpress.com/2010/10/4541_mockupcover.jpg?w=236&#038;h=300" alt="" width="236" height="300" /><br />
<a href="http://www.packtpub.com/">Packt Publishing</a>, the publishers of <em><a href="http://www.packtpub.com/apache-maven-2-effective-implementations/book">Apache Maven 2: Effective Implementation</a></em>, will be present at <a href="http://www.us.apachecon.com/">ApacheCon North America</a>, coming up on November 1 &#8211; 5, 2010. They&#8217;ll have an exhibitors table with information about their books on Apache projects such as OFBiz, Tomcat, MyFaces, jMeter, Maven, and more.</p>
<p>They&#8217;ve generously offered to sponsor free copies of the Maven book for attendees to the <a href="http://na.apachecon.com/c/acna2010/sessions/628">Maven training course</a> on November 1. However, this could be extended until today only, so that the correct number can be ordered. Please <a href="http://guest.cvent.com/d/sdqfjv">register</a> now!</p>
<p>One of the attractions of writing for Packt was their involvement in open source, such as through their Open Source Royalties program, and their <a href="http://www.packtpub.com/open-source-awards-home">Open Source Awards</a>. I&#8217;m glad to see that they&#8217;ll be at ApacheCon.</p>
<br />Filed under: <a href='http://brettporter.wordpress.com/category/apache/'>Apache</a>, <a href='http://brettporter.wordpress.com/category/maven/'>Maven</a>, <a href='http://brettporter.wordpress.com/category/syndicated/'>Syndicated</a> Tagged: <a href='http://brettporter.wordpress.com/tag/apache/'>Apache</a>, <a href='http://brettporter.wordpress.com/tag/apachecon/'>apachecon</a>, <a href='http://brettporter.wordpress.com/tag/book/'>book</a>, <a href='http://brettporter.wordpress.com/tag/conferences/'>conferences</a>, <a href='http://brettporter.wordpress.com/tag/maven/'>Maven</a>, <a href='http://brettporter.wordpress.com/tag/packt/'>packt</a>, <a href='http://brettporter.wordpress.com/tag/training/'>training</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/596/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/596/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettporter.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettporter.wordpress.com/596/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettporter.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettporter.wordpress.com/596/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/596/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/596/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/596/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/596/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=596&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2010/10/15/last-chance-to-register-for-training-by-oct-14-and-receive-maven-book-free/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b22e25826c23c2c65f9d4f21ad21c684?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://brettporter.files.wordpress.com/2010/10/4541_mockupcover.jpg?w=236" medium="image">
			<media:title type="html">Apache Maven 2: Effective Implementation</media:title>
		</media:content>
	</item>
		<item>
		<title>Apache Maven 3.0 Released: a Few Important Tips</title>
		<link>http://brettporter.wordpress.com/2010/10/09/apache-maven-3-0-released-a-few-important-tips/</link>
		<comments>http://brettporter.wordpress.com/2010/10/09/apache-maven-3-0-released-a-few-important-tips/#comments</comments>
		<pubDate>Fri, 08 Oct 2010 14:19:38 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Syndicated]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=579</guid>
		<description><![CDATA[Just short of the 5 year anniversary of the Maven 2.0 release (Oct 19, 2005), Maven 3.0 has shipped today. You can download it from the Maven website. I&#8217;ve now been using it for about 6 months for all but &#8230; <a href="http://brettporter.wordpress.com/2010/10/09/apache-maven-3-0-released-a-few-important-tips/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=579&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just short of the 5 year anniversary of the Maven 2.0 release (Oct 19, 2005), <a href="http://maven.apache.org/release-notes-3.0.x.html">Maven 3.0 has shipped today</a>. You can <a href="http://maven.apache.org/download.html">download it from the Maven website</a>. I&#8217;ve now been using it for about 6 months for all but one project, by which point it was already quite stable. Luckily it also arrives just in time for ApacheCon, since I have updated my <a href="http://guest.cvent.com/d/sdqfjv">training</a> to cover it! All-in-all it&#8217;s a great release &#8211; quite a bit faster and in places more predictable.</p>
<h3>New Features</h3>
<p>For the most part, this is not a feature release, but a performance and architectural release. Much has already been written about underlying technology changes (like switching from Plexus to Guice). The main points of interest for me are:</p>
<ul>
<li><em>parallel builds</em> &#8211; build modules in parallel when enabled to utilise multiple cores and get even more performance gains. It&#8217;s optional, so take some time to try it out</li>
<li><em>improved performance &amp; predictability</em> &#8211; while maintaining and documenting compatibility</li>
<li><em>improved reactor</em> &#8211; behaves more consistently between building multi-module projects and subsets of them</li>
<li><em>validation and error reporting</em> &#8211; unrecommended and deprecated behaviour is now pointed out and error reporting improved</li>
<li><em>improved classloading</em> &#8211; extensions and plugins are loaded in a more self-contained fashion to allow more flexibility</li>
</ul>
<p>There are still some &#8220;gotchas&#8221;, tips and tricks to take note of, however.</p>
<h3>Check the Compatibility Notes</h3>
<p>There is a <a href="https://cwiki.apache.org/MAVEN/maven-3x-compatibility-notes.html">page dedicated to compatibility notes</a> between Maven 2 and Maven 3. This should be considered required reading for anyone making the switch, as it highlights some changes that you may need to adjust your projects or environment for. In most cases there&#8217;ll be no major issues, and only some quick fixes. In my opinion, the key ones to keep an eye on:</p>
<ul>
<li><em>Stricter POM validation</em> &#8211; many projects will need to quickly tighten up their POMs to get running</li>
<li><em>Site plugin</em> &#8211; if you&#8217;re using this for reporting, you may have work to do to get the same results</li>
<li><em>Metadata updates</em> &#8211; Maven 3 checks remote repositories less often in most cases. Intermittent remote failures can be cached for a period of time &#8211; so check error messages carefully</li>
<li><em>Plugin compatibility matrix</em> &#8211; check this for any plugins you&#8217;re using that might not be updated yet</li>
</ul>
<h3>Watch the Start of the Build</h3>
<p>As mentioned above, POM validation is stricter and you may see a few failures on some projects that need updating. A much larger number of projects will probably see warnings about unrecommended behaviour or deprecated features. Watch the start of your builds carefully on the first run of a project for any warnings, and take care of the reported issues as soon as you can.</p>
<h3>Make Switching Easy</h3>
<p>I highly recommend a script such as the one <a href="http://jira.codehaus.org/browse/MNG-2730">attached to MNG-2730</a> to make it easy to switch between Maven versions. This has always been quite useful for adopting new releases, but even more so in this case as you may on rare occasions need to drop back to Maven 2.2.1 for a particular project.</p>
<h3>A Few Words</h3>
<p>I&#8217;ll admit there were long periods of time where I thought this release would never happen. Particular congratulations go to Benjamin for his effort over the last year and a bit to pick it up and methodically drive it home &#8211; I&#8217;ve been there before and I know that it is full of both fun and frustration!</p>
<p>Implementation of parallel builds was also a big job. I recall Dan hacking away at it last ApacheCon, and from there Kristian put in a huge effort to get a production-ready implementation and work through nasty thread safety issues in some plugins and components. I hope this is something that gains more traction going forward.</p>
<p>It&#8217;s also worth acknowledging the guys plugging away at getting the Site plugin infrastructure back in place &#8211; Olivier, Hervé, and Dennis in particular.</p>
<p>And congrats to all the Maven developers and contributors that had a hand in this release, and all those that got Maven where it is today. Hopefully more great things to come, and perhaps a little faster next time! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />Filed under: <a href='http://brettporter.wordpress.com/category/apache/'>Apache</a>, <a href='http://brettporter.wordpress.com/category/maven/'>Maven</a>, <a href='http://brettporter.wordpress.com/category/syndicated/'>Syndicated</a> Tagged: <a href='http://brettporter.wordpress.com/tag/announcement/'>announcement</a>, <a href='http://brettporter.wordpress.com/tag/maven/'>Maven</a>, <a href='http://brettporter.wordpress.com/tag/releases/'>releases</a>, <a href='http://brettporter.wordpress.com/tag/tips/'>tips</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettporter.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettporter.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettporter.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettporter.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/579/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=579&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2010/10/09/apache-maven-3-0-released-a-few-important-tips/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b22e25826c23c2c65f9d4f21ad21c684?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>Register for Training by Oct 13 and Receive Maven Book Free</title>
		<link>http://brettporter.wordpress.com/2010/10/08/register-for-training-by-oct-13-and-receive-maven-book-free/</link>
		<comments>http://brettporter.wordpress.com/2010/10/08/register-for-training-by-oct-13-and-receive-maven-book-free/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 13:27:57 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[apachecon]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=572</guid>
		<description><![CDATA[As I posted earlier this week, I will be running a full day Maven training course at ApacheCon on November 1. I&#8217;ve now been able to confirm that I can offer a free copy of the book Apache Maven 2: &#8230; <a href="http://brettporter.wordpress.com/2010/10/08/register-for-training-by-oct-13-and-receive-maven-book-free/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=572&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://brettporter.files.wordpress.com/2010/10/4541_mockupcover.jpg?w=236&#038;h=300" alt="" title="Apache Maven 2: Effective Implementation" width="236" height="300" class="alignright size-medium wp-image-574" />As I posted earlier this week, I will be running a <a href="http://brettporter.wordpress.com/2010/10/05/apache-maven-training-in-atlanta-nov-1-2010/">full day Maven training course at ApacheCon on November 1</a>.</p>
<p>I&#8217;ve now been able to confirm that I can offer a <strong>free</strong> copy of the book <em><a href="http://www.packtpub.com/apache-maven-2-effective-implementations/book">Apache Maven 2: Effective Implementation</a></em> to everyone that completes the course. However, to ensure the right amount can be ordered and shipped in time, you must have registered before October 13.</p>
<p>There are still discounted rates for the training and conference for today, so all the more reason to <a href="http://guest.cvent.com/d/sdqfjv">register</a> as soon as possible!</p>
<br />Filed under: <a href='http://brettporter.wordpress.com/category/apache/'>Apache</a>, <a href='http://brettporter.wordpress.com/category/maven/'>Maven</a> Tagged: <a href='http://brettporter.wordpress.com/tag/apachecon/'>apachecon</a>, <a href='http://brettporter.wordpress.com/tag/book/'>book</a>, <a href='http://brettporter.wordpress.com/tag/conferences/'>conferences</a>, <a href='http://brettporter.wordpress.com/tag/maven/'>Maven</a>, <a href='http://brettporter.wordpress.com/tag/training/'>training</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettporter.wordpress.com/572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettporter.wordpress.com/572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettporter.wordpress.com/572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettporter.wordpress.com/572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/572/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/572/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=572&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2010/10/08/register-for-training-by-oct-13-and-receive-maven-book-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b22e25826c23c2c65f9d4f21ad21c684?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://brettporter.files.wordpress.com/2010/10/4541_mockupcover.jpg?w=236" medium="image">
			<media:title type="html">Apache Maven 2: Effective Implementation</media:title>
		</media:content>
	</item>
		<item>
		<title>Creating a Custom Build Extension for Maven 3.0</title>
		<link>http://brettporter.wordpress.com/2010/10/05/creating-a-custom-build-extension-for-maven-3-0/</link>
		<comments>http://brettporter.wordpress.com/2010/10/05/creating-a-custom-build-extension-for-maven-3-0/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 12:45:45 +0000</pubDate>
		<dc:creator>Brett</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Syndicated]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[howto]]></category>

		<guid isPermaLink="false">http://brettporter.wordpress.com/?p=558</guid>
		<description><![CDATA[In the process of testing the Maven 3.0 release that&#8217;s being voted on, I wanted to try out the additional extension capability, and have a little fun with it in the process. The result is an old friend of mine: &#8230; <a href="http://brettporter.wordpress.com/2010/10/05/creating-a-custom-build-extension-for-maven-3-0/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=558&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In the process of testing the <a href="http://s.apache.org/jK8">Maven 3.0 release that&#8217;s being voted on</a>, I wanted to try out the additional extension capability, and have a little fun with it in the process.</p>
<p>The result is an old friend of mine:</p>
<p><pre class="brush: plain;">
[INFO] Scanning for projects...
[INFO]  __  __
[INFO] |  \/  |__ _Apache__ ___
[INFO] | |\/| / _` \ V / -_) ' \  ~ intelligent projects ~
[INFO] |_|  |_\__,_|\_/\___|_||_|  v. 3.0
[INFO] 
[INFO] --------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] retro-example
[INFO] retro-example-1
[INFO] retro-example-2
[INFO]                             
</pre></p>
<p>This is a trivial example of course, but it shows that you can jump into the startup process much earlier than in the past. This is useful for those that want to extend Maven in a consistent way for a given project or type of project. I believe it is already in use by Tycho, and is a likely mechanism to simplify and enhance <a href="http://incubator.apache.org/npanday/">NPanday</a> in the future.</p>
<p>While plugins and extensions could already offer additional components, it is now possible load components from within a project that can be set up before the build starts at all. The feature would most often be used to perform additional validation or processing of an entire set of projects in the reactor before they are executed. It is possible that it might also be used to adjust settings, execution properties or dependency resolution &#8211; though bearing in mind that these may already have been used to load the projects.</p>
<p>The above example makes use of the <code>afterProjectsRead</code> method (the <a href="http://svn.apache.org/viewvc/maven/sandbox/trunk/examples/extensions/retro-maven-extension/">whole project is in Subversion</a>):</p>
<p><pre class="brush: java;">
package org.apache.maven.examples.retro;

import org.apache.maven.AbstractMavenLifecycleParticipant;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.execution.RuntimeInformation;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.Logger;

@Component( role = AbstractMavenLifecycleParticipant.class, hint = &quot;retro&quot; )
public class RetroMavenExtension
  extends AbstractMavenLifecycleParticipant
{
  @Requirement
  private Logger logger;

  @Requirement
  private RuntimeInformation runtime;

  public void afterProjectsRead( MavenSession session ) {
    logger.info( &quot; __  __&quot; );
    logger.info( &quot;|  \\/  |__ _Apache__ ___&quot; );
    logger.info( &quot;| |\\/| / _` \\ V / -_) ' \\  ~ intelligent projects ~&quot; );
    logger.info( &quot;|_|  |_\\__,_|\\_/\\___|_||_|  v. &quot; + runtime.getApplicationVersion() );
    logger.info( &quot;&quot; );
  }
}
</pre></p>
<p>There are a couple of things to note here, particularly if you are familiar with writing components for Maven. Firstly, there are now some real annotations to use instead of the Javadoc-based version (though both would continue to work). This example still uses the Plexus annotations and the generated descriptor from the <a href="http://svn.apache.org/repos/asf/maven/sandbox/trunk/examples/extensions/retro-maven-extension/pom.xml">corresponding POM</a>, though in the future it could use the JSR-330 equivalents.</p>
<p>Obtaining a logger is much easier than before, using a simple <code>@Requirement</code> to inject it instead of the <code>LogEnabled</code> interface or abstract class. Other requirements (in this case, the legacy <code>RuntimeInformation</code> class) continue to be injected as they have before.</p>
<p>The rest is self explanatory &#8211; based on the &#8220;role&#8221; and the abstract class, the method is called by the Maven core after the projects have been assembled but before they have been sorted and executed. We just output the ASCII art, however the method has the <a href="http://maven.apache.org/ref/3.0-beta-3/maven-core/apidocs/org/apache/maven/execution/MavenSession.html">MavenSession</a> object available to it to obtain the projects, as well as execution properties, repository access and settings.</p>
<p>To use the extension in a project, the following would need to appear somewhere in the POM hierarchy:</p>
<p><pre class="brush: xml;">
&lt;build&gt;
  &lt;extensions&gt;
    &lt;extension&gt;
      &lt;groupId&gt;org.apache.maven.examples&lt;/groupId&gt;
      &lt;artifactId&gt;retro-maven-extension&lt;/artifactId&gt;
      &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
    &lt;/extension&gt;
  &lt;/extensions&gt;
&lt;/build&gt;
</pre></p>
<p>It&#8217;s worth noting that Maven 3.0&#8242;s extension handling and classloading is significantly better than Maven 2.x &#8211; you can now feel relatively free to use extensions and plugin dependencies in a multi-module project without conflicts.</p>
<p>That&#8217;s it! Every Maven command on a project with the extension will carry the banner lost for the last 5 years.</p>
<br />Filed under: <a href='http://brettporter.wordpress.com/category/java/'>Java</a>, <a href='http://brettporter.wordpress.com/category/maven/'>Maven</a>, <a href='http://brettporter.wordpress.com/category/syndicated/'>Syndicated</a> Tagged: <a href='http://brettporter.wordpress.com/tag/custom/'>custom</a>, <a href='http://brettporter.wordpress.com/tag/extension/'>extension</a>, <a href='http://brettporter.wordpress.com/tag/howto/'>howto</a>, <a href='http://brettporter.wordpress.com/tag/maven/'>Maven</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettporter.wordpress.com/558/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettporter.wordpress.com/558/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettporter.wordpress.com/558/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettporter.wordpress.com/558/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettporter.wordpress.com/558/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettporter.wordpress.com/558/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettporter.wordpress.com/558/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettporter.wordpress.com/558/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettporter.wordpress.com/558/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettporter.wordpress.com/558/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettporter.wordpress.com/558/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettporter.wordpress.com/558/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettporter.wordpress.com/558/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettporter.wordpress.com/558/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettporter.wordpress.com&amp;blog=2438532&amp;post=558&amp;subd=brettporter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettporter.wordpress.com/2010/10/05/creating-a-custom-build-extension-for-maven-3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b22e25826c23c2c65f9d4f21ad21c684?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>
