<?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>eskatos&#039;s thoughts</title>
	<atom:link href="http://eskatos.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://eskatos.wordpress.com</link>
	<description></description>
	<lastBuildDate>Tue, 16 Aug 2011 07:28:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='eskatos.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>eskatos&#039;s thoughts</title>
		<link>http://eskatos.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://eskatos.wordpress.com/osd.xml" title="eskatos&#039;s thoughts" />
	<atom:link rel='hub' href='http://eskatos.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Findbugs, PMD, Checkstyle &amp; Dependency Finder in Netbeans</title>
		<link>http://eskatos.wordpress.com/2011/07/28/findbugs-pmd-checkstyle-dependency-finder-in-netbeans/</link>
		<comments>http://eskatos.wordpress.com/2011/07/28/findbugs-pmd-checkstyle-dependency-finder-in-netbeans/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 10:15:42 +0000</pubDate>
		<dc:creator>eskatos</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[checkstyle]]></category>
		<category><![CDATA[code-quality]]></category>
		<category><![CDATA[findbugs]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[pmd]]></category>

		<guid isPermaLink="false">http://eskatos.wordpress.com/?p=343</guid>
		<description><![CDATA[The Software Quality Environment project provides Netbeans plugins related to code quality. Findbugs PMD Checkstyle Dependency Finder Unfortunately they are not in the default Update Centers so you have to add the SQE Update Center Manually. Unfortunately again, at the time of writing, the SQE web site provide a wrong Update Center URL that leads [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=343&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-346" title="Netbeans" src="http://eskatos.files.wordpress.com/2011/07/netbeans.png?w=700" alt=""  /></p>
<p>The <a href="http://java.net/projects/sqe/">Software Quality Environment</a> project provides <a href="http://netbeans.org/">Netbeans</a> plugins related to code quality.</p>
<ul>
<li><a href="http://findbugs.sourceforge.net/">Findbugs</a></li>
<li><a href="http://pmd.sourceforge.net/">PMD</a></li>
<li><a href="http://checkstyle.sourceforge.net/">Checkstyle</a></li>
<li><a href="http://depfind.sourceforge.net/">Dependency Finder</a></li>
</ul>
<p>Unfortunately they are not in the default Update Centers so you have to add the SQE Update Center Manually.</p>
<p>Unfortunately again, at the time of writing, the SQE web site provide a wrong Update Center URL that leads to a 404. Who mentionned java.net ? :)</p>
<p>So, without further ado, here is the SQE Update Center URL:</p>
<p><a href="http://deadlock.netbeans.org/hudson/job/sqe/lastStableBuild/artifact/build/full-sqe-updatecenter/updates.xml">http://deadlock.netbeans.org/hudson/job/sqe/lastStableBuild/artifact/build/full-sqe-updatecenter/updates.xml</a></p>
<p>Once the Update Center is added, the Available Plugin catalog contains a <em>Quality</em> category that contains cited plugins.</p>
<p>All the plugins are working fine on Netbeans 7.0.</p>
<p><a href="http://eskatos.files.wordpress.com/2011/07/netbeans-firebug.png"><img class="aligncenter size-medium wp-image-352" title="Firebug inside Netbeans" src="http://eskatos.files.wordpress.com/2011/07/netbeans-firebug.png?w=300&#038;h=179" alt="" width="300" height="179" /></a></p>
<br /> Tagged: <a href='http://eskatos.wordpress.com/tag/checkstyle/'>checkstyle</a>, <a href='http://eskatos.wordpress.com/tag/code-quality/'>code-quality</a>, <a href='http://eskatos.wordpress.com/tag/findbugs/'>findbugs</a>, <a href='http://eskatos.wordpress.com/tag/java/'>java</a>, <a href='http://eskatos.wordpress.com/tag/netbeans/'>netbeans</a>, <a href='http://eskatos.wordpress.com/tag/pmd/'>pmd</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eskatos.wordpress.com/343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eskatos.wordpress.com/343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eskatos.wordpress.com/343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eskatos.wordpress.com/343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eskatos.wordpress.com/343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eskatos.wordpress.com/343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eskatos.wordpress.com/343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eskatos.wordpress.com/343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eskatos.wordpress.com/343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eskatos.wordpress.com/343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eskatos.wordpress.com/343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eskatos.wordpress.com/343/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eskatos.wordpress.com/343/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eskatos.wordpress.com/343/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=343&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eskatos.wordpress.com/2011/07/28/findbugs-pmd-checkstyle-dependency-finder-in-netbeans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdc4f36b549c1066a3b47bcfa85d40da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eskatos</media:title>
		</media:content>

		<media:content url="http://eskatos.files.wordpress.com/2011/07/netbeans.png" medium="image">
			<media:title type="html">Netbeans</media:title>
		</media:content>

		<media:content url="http://eskatos.files.wordpress.com/2011/07/netbeans-firebug.png?w=300" medium="image">
			<media:title type="html">Firebug inside Netbeans</media:title>
		</media:content>
	</item>
		<item>
		<title>tango-resizable-icons-0.8.90.1 released!</title>
		<link>http://eskatos.wordpress.com/2011/06/26/tango-resizable-icons-0-8-90-1/</link>
		<comments>http://eskatos.wordpress.com/2011/06/26/tango-resizable-icons-0-8-90-1/#comments</comments>
		<pubDate>Sun, 26 Jun 2011 13:05:23 +0000</pubDate>
		<dc:creator>eskatos</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[swing]]></category>
		<category><![CDATA[user-interfaces]]></category>

		<guid isPermaLink="false">http://eskatos.wordpress.com/?p=337</guid>
		<description><![CDATA[The Tango Icon Set as resizeable Java2D objects. The project is hosted in maven central. here you&#8217;ll find a quick copy/paste for the dependency. See them all at a bigger size at Wikimedia Commons Tango icons page Tagged: java, swing, user-interfaces<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=337&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://tango.freedesktop.org/">Tango</a> Icon Set as resizeable Java2D objects.</p>
<p>The project is hosted in maven central. <a href="http://search.maven.org/#search%7Cga%7C1%7Ctango-resizable-icons">here</a> you&#8217;ll find a quick copy/paste for the dependency.</p>
<p><img src="https://a248.e.akamai.net/assets.github.com/img/dfd144a01e1370d89367b0265f2fb874ba43d4d4/687474703a2f2f74616e676f2e667265656465736b746f702e6f72672f696d616765732f322f32302f54616e676f2d666565742e706e67" alt="Tango Icon Set" /></p>
<p>See them all at a bigger size at Wikimedia Commons <a href="http://commons.wikimedia.org/wiki/Tango_icons">Tango icons</a> page</p>
<br /> Tagged: <a href='http://eskatos.wordpress.com/tag/java/'>java</a>, <a href='http://eskatos.wordpress.com/tag/swing/'>swing</a>, <a href='http://eskatos.wordpress.com/tag/user-interfaces/'>user-interfaces</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eskatos.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eskatos.wordpress.com/337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eskatos.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eskatos.wordpress.com/337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eskatos.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eskatos.wordpress.com/337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eskatos.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eskatos.wordpress.com/337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eskatos.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eskatos.wordpress.com/337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eskatos.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eskatos.wordpress.com/337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eskatos.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eskatos.wordpress.com/337/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=337&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eskatos.wordpress.com/2011/06/26/tango-resizable-icons-0-8-90-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdc4f36b549c1066a3b47bcfa85d40da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eskatos</media:title>
		</media:content>

		<media:content url="https://a248.e.akamai.net/assets.github.com/img/dfd144a01e1370d89367b0265f2fb874ba43d4d4/687474703a2f2f74616e676f2e667265656465736b746f702e6f72672f696d616765732f322f32302f54616e676f2d666565742e706e67" medium="image">
			<media:title type="html">Tango Icon Set</media:title>
		</media:content>
	</item>
		<item>
		<title>flamingo-maven-plugin-1.1 released!</title>
		<link>http://eskatos.wordpress.com/2011/06/26/flamingo-maven-plugin-1-1/</link>
		<comments>http://eskatos.wordpress.com/2011/06/26/flamingo-maven-plugin-1-1/#comments</comments>
		<pubDate>Sun, 26 Jun 2011 12:14:29 +0000</pubDate>
		<dc:creator>eskatos</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[swing]]></category>
		<category><![CDATA[user-interfaces]]></category>

		<guid isPermaLink="false">http://eskatos.wordpress.com/?p=332</guid>
		<description><![CDATA[flamingo-maven-plugin transcode SVG files into Java2D classes that can implement ResizableIcon from the Flamingo / Insubstantial projects The project is hosted in maven central. here you&#8217;ll find a quick copy/paste for the dependency. Transcode SVG files Use the following goal: transcode Configuration inside the POM Here is a quick example: &#60;plugin&#62; &#60;groupId&#62;org.codeartisans&#60;/groupId&#62; &#60;artifactId&#62;flamingo-maven-plugin&#60;/artifactId&#62; &#60;version&#62;1.1&#60;/version&#62; &#60;executions&#62; &#60;execution&#62; &#60;id&#62;icons&#60;/id&#62; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=332&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a title="flamingo-maven-plugin" href="https://github.com/eskatos/flamingo-maven-plugin" target="_blank">flamingo-maven-plugin</a> transcode SVG files into Java2D classes that can implement ResizableIcon from the <a title="Flamingo" href="http://java.net/projects/flamingo" target="_blank">Flamingo</a> / <a title="Insubstantial" href="https://github.com/Insubstantial" target="_blank">Insubstantial</a> projects</p>
<p>The project is hosted in maven central. <a href="http://search.maven.org/#search%7Cga%7C1%7Cflamingo-maven-plugin">here</a> you&#8217;ll find a quick copy/paste for the dependency.</p>
<h2>Transcode SVG files</h2>
<p>Use the following goal: transcode</p>
<h3>Configuration inside the POM</h3>
<p>Here is a quick example:</p>
<pre>
&lt;plugin&gt;
 &lt;groupId&gt;org.codeartisans&lt;/groupId&gt;
 &lt;artifactId&gt;flamingo-maven-plugin&lt;/artifactId&gt;
 &lt;version&gt;1.1&lt;/version&gt;
 &lt;executions&gt;
  &lt;execution&gt;
   &lt;id&gt;icons&lt;/id&gt;
   &lt;phase&gt;generate-sources&lt;/phase&gt;
   &lt;goals&gt;&lt;goal&gt;transcode&lt;/goal&gt;&lt;/goals&gt;
   &lt;configuration&gt;
    &lt;sourceDirectory&gt;${project.basedir}/src/main/svg&lt;/sourceDirectory&gt;
    &lt;outputPackage&gt;com.example.icons&lt;/outputPackage&gt;
    &lt;implementsResizableIcon&gt;true&lt;/implementsResizableIcon&gt;&lt;!-- Defaults to false --&gt;
    &lt;stopOnFailure&gt;false&lt;/stopOnFailure&gt; &lt;!-- Defaults to true --&gt;
   &lt;/configuration&gt;
  &lt;/execution&gt;
 &lt;/executions&gt;
&lt;/plugin&gt;
</pre>
<br /> Tagged: <a href='http://eskatos.wordpress.com/tag/build/'>build</a>, <a href='http://eskatos.wordpress.com/tag/java/'>java</a>, <a href='http://eskatos.wordpress.com/tag/maven/'>maven</a>, <a href='http://eskatos.wordpress.com/tag/svg/'>svg</a>, <a href='http://eskatos.wordpress.com/tag/swing/'>swing</a>, <a href='http://eskatos.wordpress.com/tag/user-interfaces/'>user-interfaces</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eskatos.wordpress.com/332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eskatos.wordpress.com/332/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eskatos.wordpress.com/332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eskatos.wordpress.com/332/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eskatos.wordpress.com/332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eskatos.wordpress.com/332/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eskatos.wordpress.com/332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eskatos.wordpress.com/332/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eskatos.wordpress.com/332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eskatos.wordpress.com/332/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eskatos.wordpress.com/332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eskatos.wordpress.com/332/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eskatos.wordpress.com/332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eskatos.wordpress.com/332/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=332&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eskatos.wordpress.com/2011/06/26/flamingo-maven-plugin-1-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdc4f36b549c1066a3b47bcfa85d40da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eskatos</media:title>
		</media:content>
	</item>
		<item>
		<title>thirdparties-maven-plugin-1.0 released!</title>
		<link>http://eskatos.wordpress.com/2011/06/22/thirdparties-maven-plugin-1-0/</link>
		<comments>http://eskatos.wordpress.com/2011/06/22/thirdparties-maven-plugin-1-0/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 18:04:36 +0000</pubDate>
		<dc:creator>eskatos</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://eskatos.wordpress.com/?p=321</guid>
		<description><![CDATA[Use thirdparties-maven-plugin to easily copy/download external files and attach them as classified artifacts. The project is hosted in maven central so no special setup is needed to use it. Here is the snippet for the 1.0 version : &#60;plugin&#62; &#60;groupId&#62;org.codeartisans&#60;/groupId&#62; &#60;artifactId&#62;thirdparties-maven-plugin&#60;/artifactId&#62; &#60;version&#62;1.0&#60;/version&#62; &#60;/plugin&#62; Usage This plugin has only one goal : attached. Configuration using a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=321&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Use <a href="https://github.com/eskatos/thirdparties-maven-plugin">thirdparties-maven-plugin</a> to easily copy/download external files and attach them as classified artifacts.</p>
<p>The project is hosted in maven central so no special setup is needed to use it.</p>
<p>Here is the snippet for the 1.0 version :</p>
<pre>&lt;plugin&gt;
 &lt;groupId&gt;org.codeartisans&lt;/groupId&gt;
 &lt;artifactId&gt;thirdparties-maven-plugin&lt;/artifactId&gt;
 &lt;version&gt;1.0&lt;/version&gt;
&lt;/plugin&gt;</pre>
<p></p>
<h2>Usage</h2>
<p>This plugin has only one goal : attached.</p>
<h3>Configuration using a property file</h3>
<pre><code>&lt;configuration&gt;
</code><span class="Apple-style-span" style="font-family:monospace;"> &lt;thirdPartiesFile&gt;${project.basedir}/path/to/yours.properties&lt;/thirdPartiesFile&gt;
&lt;/configuration&gt; </span></pre>
<p></p>
<p>Property file syntax is as follow:</p>
<pre><code>[classifier].[type].src=[url]
[classifier].[type].md5=[md5] </code></pre>
<p></p>
<p>Here is a quick example:</p>
<pre><code>foo.tar.gz.src=http://example.com/Foo-1.2.3-r5635.tar.gz
foo.tar.gz.md5=94c331b029ab45d7db5d39cccacdf0e1 </code></pre>
<p></p>
<p>The md5 statement is optional and used only if present. If absent a file that already exists is not downloaded.</p>
<h3>Configuration inside the POM</h3>
<p>Here is a quick example:</p>
<pre><code>&lt;configuration&gt;
 &lt;thirdParties&gt;
 &lt;thirdParty&gt;
 &lt;classifier&gt;foo&lt;/classifier&gt;
 &lt;type&gt;tar.gz&lt;/type&gt;
 &lt;src&gt;http://example.com/Foo-1.2.3-r5635.tar.gz&lt;/src&gt;
 &lt;md5&gt;94c331b029ab45d7db5d39cccacdf0e1&lt;/md5&gt;
 &lt;/thirdParty&gt;
 &lt;/thirdParties&gt;
&lt;/configuration&gt;</code>
<code>
</code></pre>
<br /> Tagged: <a href='http://eskatos.wordpress.com/tag/build/'>build</a>, <a href='http://eskatos.wordpress.com/tag/java/'>java</a>, <a href='http://eskatos.wordpress.com/tag/maven/'>maven</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eskatos.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eskatos.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eskatos.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eskatos.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eskatos.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eskatos.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eskatos.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eskatos.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eskatos.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eskatos.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eskatos.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eskatos.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eskatos.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eskatos.wordpress.com/321/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=321&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eskatos.wordpress.com/2011/06/22/thirdparties-maven-plugin-1-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdc4f36b549c1066a3b47bcfa85d40da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eskatos</media:title>
		</media:content>
	</item>
		<item>
		<title>artifactinfo-maven-plugin-1.0 released!</title>
		<link>http://eskatos.wordpress.com/2011/06/22/artifactinfo-maven-plugin-1-0/</link>
		<comments>http://eskatos.wordpress.com/2011/06/22/artifactinfo-maven-plugin-1-0/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 17:38:15 +0000</pubDate>
		<dc:creator>eskatos</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://eskatos.wordpress.com/?p=312</guid>
		<description><![CDATA[artifactinfo-maven-plugin generate java code with constants containing maven project metadata for use in your code. The project is hosted in maven central so no special setup is needed to use it. Here is the snippet for the 1.0 version : &#60;plugin&#62; &#60;groupId&#62;org.codeartisans&#60;/groupId&#62; &#60;artifactId&#62;artifactinfo-maven-plugin&#60;/artifactId&#62; &#60;version&#62;1.0&#60;/version&#62; &#60;/plugin&#62; It is very simple to use: it has only one [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=312&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="https://github.com/eskatos/artifactinfo-maven-plugin">artifactinfo-maven-plugin</a> generate java code with constants containing maven project metadata for use in your code.</p>
<p>The project is hosted in maven central so no special setup is needed to use it.</p>
<p>Here is the snippet for the 1.0 version :</p>
<pre>
&lt;plugin&gt;
 &lt;groupId&gt;org.codeartisans&lt;/groupId&gt;
 &lt;artifactId&gt;artifactinfo-maven-plugin&lt;/artifactId&gt;
 &lt;version&gt;1.0&lt;/version&gt;
&lt;/plugin&gt;
</pre>
<p></p>
<p>It is very simple to use:</p>
<ul>
<li>it has only one goal : artifactinfo</li>
<li>without configuration it use sensible defaults reusing groupId and artifactId for package and class name</li>
<li>you can override default package name with the packageName configuration parameter</li>
<li>you can override default class name with the className configuration parameter</li>
</ul>
<br /> Tagged: <a href='http://eskatos.wordpress.com/tag/build/'>build</a>, <a href='http://eskatos.wordpress.com/tag/java/'>java</a>, <a href='http://eskatos.wordpress.com/tag/maven/'>maven</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eskatos.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eskatos.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eskatos.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eskatos.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eskatos.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eskatos.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eskatos.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eskatos.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eskatos.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eskatos.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eskatos.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eskatos.wordpress.com/312/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eskatos.wordpress.com/312/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eskatos.wordpress.com/312/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=312&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eskatos.wordpress.com/2011/06/22/artifactinfo-maven-plugin-1-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdc4f36b549c1066a3b47bcfa85d40da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eskatos</media:title>
		</media:content>
	</item>
		<item>
		<title>Swing On Steroïds 1.2 Released</title>
		<link>http://eskatos.wordpress.com/2011/05/23/swing-on-steroids-1-2-released/</link>
		<comments>http://eskatos.wordpress.com/2011/05/23/swing-on-steroids-1-2-released/#comments</comments>
		<pubDate>Mon, 23 May 2011 12:11:38 +0000</pubDate>
		<dc:creator>eskatos</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[eventbus]]></category>
		<category><![CDATA[guice]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mvp]]></category>
		<category><![CDATA[patterns]]></category>
		<category><![CDATA[Qi4j]]></category>
		<category><![CDATA[swing]]></category>
		<category><![CDATA[user-interfaces]]></category>

		<guid isPermaLink="false">http://eskatos.wordpress.com/?p=300</guid>
		<description><![CDATA[Today I released Swing On Steroïds 1.2 under the Apache Licence 2.0. Swing On Steroïds is a micro-framework bringing awesomness to Swing development with Supervising Presenters and Passive Views (aka. MVP), a MessageBus and optionaly Guice or Qi4j. It&#8217;s largely inspired by the work of Ray Ryan at Google on the GWT Wave client and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=300&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I released <a href="https://github.com/Codeartisans/swing-on-steroids" title="Swing On Steroïds" target="_blank">Swing On Steroïds</a> 1.2 under the Apache Licence 2.0.</p>
<p>Swing On Steroïds is a micro-framework bringing awesomness to Swing development with <a href="http://martinfowler.com/eaaDev/SupervisingPresenter.html" title="Supervising Presenter" target="_blank">Supervising Presenters</a> and <a href="http://martinfowler.com/eaaDev/PassiveScreen.html" title="Passive View" target="_blank">Passive Views</a> (aka. <a href="http://en.wikipedia.org/wiki/Model-view-presenter" title="MVP" target="_blank">MVP</a>), a <a href="http://martinfowler.com/eaaDev/EventCollaboration.html" title="Event Collaboration" target="_blank">MessageBus</a> and optionaly <a href="//code.google.com/p/google-guice/" title="Guice" target="_blank">Guice</a> or <a href="http://qi4j.org" title="Qi4j" target="_blank">Qi4j</a>.</p>
<p>It&#8217;s largely inspired by the work of Ray Ryan at Google on the GWT Wave client and his presentation at Google IO 2009 titled <a href="http://www.youtube.com/watch?v=PDuhR18-EdM" target="_blank">Best Practices for Architecting GWT App</a>.<br />
I&#8217;d say that watching this video is the first step to understanding Swing On Steroids.</p>
<p>It&#8217;s been used in production apps for about a year now with success : it&#8217;s modular, refactorable and work for small or big applications.</p>
<p>Among some enchancements, this release is the first one where non-ui related code (threading, forking, messagebus etc&#8230;) is available in a separate jar.</p>
<p>At this time the documentation is really poor. I hope to find time to write some.<br />
If you&#8217;re interested, read about the patterns mentionned above and then dig into the code. If you understand the patterns it won&#8217;t be hard to understand and get started.</p>
<p>As a bonus, a versatile wizard api using the same patterns, a graph model and commodities such as BlockingView easing in and out smoothly thanks to <a href="http://kenai.com/projects/trident" title="Trident" target="_blank">Trident</a> is provided.</p>
<p>You can find the jars and dependency snippets in <a href="http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.codeartisans.swing-on-steroids%22" title="Search Swing On Steroids in Maven Central" target="_blank">Maven Central</a>.</p>
<p>Tell me what you think.</p>
<br /> Tagged: <a href='http://eskatos.wordpress.com/tag/eventbus/'>eventbus</a>, <a href='http://eskatos.wordpress.com/tag/guice/'>guice</a>, <a href='http://eskatos.wordpress.com/tag/java/'>java</a>, <a href='http://eskatos.wordpress.com/tag/mvp/'>mvp</a>, <a href='http://eskatos.wordpress.com/tag/patterns/'>patterns</a>, <a href='http://eskatos.wordpress.com/tag/qi4j-2/'>Qi4j</a>, <a href='http://eskatos.wordpress.com/tag/swing/'>swing</a>, <a href='http://eskatos.wordpress.com/tag/user-interfaces/'>user-interfaces</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eskatos.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eskatos.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eskatos.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eskatos.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eskatos.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eskatos.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eskatos.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eskatos.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eskatos.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eskatos.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eskatos.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eskatos.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eskatos.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eskatos.wordpress.com/300/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=300&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eskatos.wordpress.com/2011/05/23/swing-on-steroids-1-2-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdc4f36b549c1066a3b47bcfa85d40da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eskatos</media:title>
		</media:content>
	</item>
		<item>
		<title>Getting used to gradle, a case study : developing Qi4j</title>
		<link>http://eskatos.wordpress.com/2011/04/10/gradle-qi4j/</link>
		<comments>http://eskatos.wordpress.com/2011/04/10/gradle-qi4j/#comments</comments>
		<pubDate>Sat, 09 Apr 2011 23:54:30 +0000</pubDate>
		<dc:creator>eskatos</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[gradle]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[Qi4j]]></category>

		<guid isPermaLink="false">http://eskatos.wordpress.com/?p=288</guid>
		<description><![CDATA[Lately Qi4j moved from maven to gradle: Qi4j community migrated away from Maven after several years of frustration, especially around release management, versioning and cross-module dependency resolution issues, in Feb 2011. The tool of choice is now Gradle. What ? The case study I want to describe today is quite simple. I&#8217;m writing an application [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=288&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Lately <a href="http://qi4j.org/">Qi4j</a> moved from <a href="http://maven.apache.org/">maven</a> to <a href="http://gradle.org/">gradle</a>:</p>
<blockquote><p>Qi4j community migrated away from Maven after several years of frustration, especially around release management, versioning and cross-module dependency resolution issues, in Feb 2011. The tool of choice is now Gradle.</p></blockquote>
<p><strong>What ?</strong></p>
<p>The case study I want to describe today is quite simple. I&#8217;m writing an application using Qi4j, it&#8217;s build is maven based. As I am contributing to Qi4j alongside the development of my own application I&#8217;m using the development branch of Qi4j most of the time. In maven terms it means my application depends on the last version SNAPSHOT. I want to continue working this way so I&#8217;ll describe here how to use the Qi4j build system for this use case.</p>
<p>In other words, you&#8217;ll learn how to manage the Qi4j build system for developing Qi4j and use it in maven projects.</p>
<p><strong>What not ?</strong></p>
<p>I will not talk about IDE support here, only build systems, namely maven and gradle.</p>
<p><strong>Making it work</strong></p>
<p>The main goal is to find gradle commands for different aims and make their run as short as possible.</p>
<p>I used the same computer for all time mesures present in this post, a Samsung netbook N150 with 2GB RAM and a Vetrex II solid state drive from OCZ.</p>
<p>Commands described here last from 45 minutes to 5 minutes for building and installing the whole Qi4j ecosystem in the local maven repository. When dealing with single modules all this gets very quick. For example org.qi4j.core.api can run in 20 seconds when skipping tests and javadoc.</p>
<p>Here are some example gradle commands. I use the gradle daemon to get rid of the startup time.</p>
<p><code>$ gradle install -Dversion=1.3.0-SNAPSHOT</code></p>
<p>This one takes forever, it will buid and install locally all artifacts (main, -sources, -javadoc),run tests and then generate the qi4j-sdk distribution archives. Took my netbook ~40 minutes.</p>
<p><code>$ gradle -x test -x javadoc -x javadocJar -x sourceJar -x :javadocs -x :distLayout -x :tarBinaries -x :tarSources -x :zipBinaries -x :zipSources install -Dversion=1.3.0-SNAPSHOT</code></p>
<p>This one build and locally install all main artifacts skipping tests, javadocs, sources and distribution archives. Took ~5 minutes on my netbook.</p>
<p><code>$ gradle -a -x test -x javadoc -x javadocJar -x sourceJar -x :javadocs -x :distLayout -x :tarBinaries -x :tarSources -x :zipBinaries -x :zipSources :org.qi4j.libraries:org.qi4j.library.servlet install -Dversion=1.3.0-SNAPSHOT</code></p>
<p>This one build and install only the org.qi4j.library.servlet artifact, skipping tests, javadocs and sources archives and ignoring changes in other modules. Took ~15 seconds, now that gets usable !</p>
<p>Theses are quite hairy, aren&#8217;t they?</p>
<p><strong>Getting easy</strong></p>
<p>To ease my work I wrote some shell scripts around gradle. They are available on github here: <a href="https://github.com/eskatos/qi4j-dev-scripts">https://github.com/eskatos/qi4j-dev-scripts</a></p>
<p>Here is the help of the qi4j-build command:</p>
<pre>paul@petit:~/src/github/qi4j-sdk$ qi4j-build
qi4j-build [-p group:project] command [flags]

  -p Select the target project
    group can be core, library, extension, tool, sample or tutorial
    project is the base name of the targeted submodule

  Available commands
    clean            Clean output
    test             Run tests
    install          Install only main artifacts
    devinstall       Install javadoc and sources artifacts
    distinstall      Install distributions archives

  Available flags
    skipTests        Skip tests

  Examples
    qi4j-build clean
    qi4j-build devinstall
    qi4j-build library:servlet test
    qi4j-build libraries install
    qi4j-build distinstall
</pre>
<p>Feel free to report issues, fork and request pull.</p>
<br /> Tagged: <a href='http://eskatos.wordpress.com/tag/build/'>build</a>, <a href='http://eskatos.wordpress.com/tag/gradle/'>gradle</a>, <a href='http://eskatos.wordpress.com/tag/java/'>java</a>, <a href='http://eskatos.wordpress.com/tag/maven/'>maven</a>, <a href='http://eskatos.wordpress.com/tag/qi4j-2/'>Qi4j</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eskatos.wordpress.com/288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eskatos.wordpress.com/288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eskatos.wordpress.com/288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eskatos.wordpress.com/288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eskatos.wordpress.com/288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eskatos.wordpress.com/288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eskatos.wordpress.com/288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eskatos.wordpress.com/288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eskatos.wordpress.com/288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eskatos.wordpress.com/288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eskatos.wordpress.com/288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eskatos.wordpress.com/288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eskatos.wordpress.com/288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eskatos.wordpress.com/288/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=288&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eskatos.wordpress.com/2011/04/10/gradle-qi4j/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdc4f36b549c1066a3b47bcfa85d40da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eskatos</media:title>
		</media:content>
	</item>
		<item>
		<title>Another scpresume alias with rsync</title>
		<link>http://eskatos.wordpress.com/2009/11/27/another-scpresume-alias-with-rsync/</link>
		<comments>http://eskatos.wordpress.com/2009/11/27/another-scpresume-alias-with-rsync/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 21:04:30 +0000</pubDate>
		<dc:creator>eskatos</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[quickie]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://eskatos.wordpress.com/?p=276</guid>
		<description><![CDATA[File copy over ssh is nice but it has no resume support. That can be a pain if dealing with big files and/or poor connectivity. As a reminder to myself here is a shell alias I use : alias scpresume='rsync -Pazhv -e ssh' -P is the same as &#8211;partial &#8211;progress, this enable progress indication and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=276&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>File copy over ssh is nice but it has no resume support. That can be a pain if dealing with big files and/or poor connectivity.</p>
<p>As a reminder to myself here is a shell alias I use :</p>
<p><code>alias scpresume='rsync -Pazhv -e ssh'</code></p>
<ul>
<li>-P is the same as &#8211;partial &#8211;progress, this enable progress indication and partially downloaded files transfer to be resumed </li>
<li>-a activate archive mode to be recursive</li>
<li>-z enable compression</li>
<li>-h outputs human readable units</li>
<li>-v add more verbosity, especially reassuring with poor connectivity</li>
<li>&#8216;-e ssh&#8217; is needed to use ssh as transport, you can change this to &#8216;-e &#8220;ssh -p XXXX&#8221;&#8216; if you need to change used port or any other ssh options</li>
</ul>
<br /> Tagged: network, quickie, rsync, ssh <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eskatos.wordpress.com/276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eskatos.wordpress.com/276/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eskatos.wordpress.com/276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eskatos.wordpress.com/276/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eskatos.wordpress.com/276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eskatos.wordpress.com/276/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eskatos.wordpress.com/276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eskatos.wordpress.com/276/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eskatos.wordpress.com/276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eskatos.wordpress.com/276/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eskatos.wordpress.com/276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eskatos.wordpress.com/276/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eskatos.wordpress.com/276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eskatos.wordpress.com/276/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=276&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eskatos.wordpress.com/2009/11/27/another-scpresume-alias-with-rsync/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdc4f36b549c1066a3b47bcfa85d40da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eskatos</media:title>
		</media:content>
	</item>
		<item>
		<title>Maven, help-plugin and continuous integration</title>
		<link>http://eskatos.wordpress.com/2009/10/28/maven-help-plugin-and-continuous-integration/</link>
		<comments>http://eskatos.wordpress.com/2009/10/28/maven-help-plugin-and-continuous-integration/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 19:57:30 +0000</pubDate>
		<dc:creator>eskatos</dc:creator>
				<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[continuous-integration]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://eskatos.wordpress.com/?p=243</guid>
		<description><![CDATA[When a maven build fails in continuous integration you often end up reading the console output, sometimes browsing kilobytes of text (yes, maven outputs a lot and can seem chaotic). To ease build debugging you can tell maven to output some introspectional data. The idea is to use the maven-help-plugin a lot but you can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=243&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://eskatos.files.wordpress.com/2008/12/maven_logo.png?w=128&#038;h=29" alt="Maven" title="Maven" width="128" height="29" class="alignright size-thumbnail wp-image-135" />When a maven build fails in continuous integration you often end up reading the console output, sometimes browsing kilobytes of text (yes, maven outputs a lot and can seem chaotic). To ease build debugging you can tell maven to output some introspectional data.</p>
<p>The idea is to use the maven-help-plugin a lot but you can add others and home made ones to the mix. To quickly see what can easily get outputed my maven you can play with the following commands :</p>
<p><code><br />
mvn help:system<br />
mvn help:active-profiles<br />
mvn help:effective-settings<br />
mvn help:effective-pom<br />
</code></p>
<p>Here is a sample output of the active-profiles goal :</p>
<p><code>[INFO] ------------------------------------------------------------------------<br />
[INFO] Building my-project<br />
[INFO]    task-segment: [help:active-profiles] (aggregator-style)<br />
[INFO] ------------------------------------------------------------------------<br />
[INFO] [help:active-profiles]<br />
[INFO]<br />
Active Profiles for Project 'myGroupId:myArtifactId:jar:0.1.0-SNAPSHOT':</p>
<p>The following profiles are active:</p>
<p> - continuous-integration (source: settings.xml)<br />
 - libs-daily (source: pom)</p>
<p>[INFO] ------------------------------------------------------------------------<br />
[INFO] BUILD SUCCESSFUL<br />
[INFO] ------------------------------------------------------------------------</code></p>
<p>Adding such output at the very start of builds is really handy when setting up a CI service or during build refactorings.</p>
<p>Note that if a profile is defined in a parent pom it won&#8217;t be shown as activated in submodules by help:active-profiles but if you read the help:effective-pom output on one of the modules you&#8217;ll see it&#8217;s effectively activated, see <a href="http://jira.codehaus.org/browse/MNG-3228?focusedCommentId=162906&amp;page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_162906">this comment in MNG-3228</a>.</p>
<p>Hope this helps.</p>
<p>If you read this, you certainly want to read <a href="http://www.sonatype.com/people/2009/01/maven-continuous-integration-best-practices/">Maven Continuous Integration Best Practices</a>.</p>
<br /> Tagged: continuous-integration, documentation, maven <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eskatos.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eskatos.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eskatos.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eskatos.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eskatos.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eskatos.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eskatos.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eskatos.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eskatos.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eskatos.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eskatos.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eskatos.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eskatos.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eskatos.wordpress.com/243/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=243&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eskatos.wordpress.com/2009/10/28/maven-help-plugin-and-continuous-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdc4f36b549c1066a3b47bcfa85d40da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eskatos</media:title>
		</media:content>

		<media:content url="http://eskatos.files.wordpress.com/2008/12/maven_logo.png?w=128" medium="image">
			<media:title type="html">Maven</media:title>
		</media:content>
	</item>
		<item>
		<title>Unit test JPA Entities with in-memory Derby/JavaDB</title>
		<link>http://eskatos.wordpress.com/2009/10/26/unit-test-jpa-entities-with-in-memory-derby/</link>
		<comments>http://eskatos.wordpress.com/2009/10/26/unit-test-jpa-entities-with-in-memory-derby/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 15:52:43 +0000</pubDate>
		<dc:creator>eskatos</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[derby]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[jpa]]></category>
		<category><![CDATA[junit]]></category>

		<guid isPermaLink="false">http://eskatos.wordpress.com/?p=255</guid>
		<description><![CDATA[About two years ago I blogged about using HSQLDB to unit test JPA entities. This year, Apache released a Derby version allowing you to use an in memory backend. As I use Derby in software I write, being able to run unit tests on the very same SGBD but in memory is a real gift. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=255&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://eskatos.files.wordpress.com/2007/10/hibernate_logo.png?w=97&#038;h=96" alt="Hibernate" title="Hibernate" width="97" height="96" class="alignright size-thumbnail wp-image-160" />About two years ago I blogged about using HSQLDB to unit test JPA entities. This year, Apache released a Derby version allowing you to use an in memory backend. As I use Derby in software I write, being able to run unit tests on the very same SGBD but in memory is a real gift.</p>
<p>For reference, here is a link to my previous post titled <a href="http://eskatos.wordpress.com/2007/10/15/unit-test-jpa-entities-with-in-memory-database/">Unit test JPA Entities with in-memory database</a>. What follows is just the very same method applied to Derby.</p>
<p><span id="more-255"></span><br />
<strong>Dependencies</strong></p>
<p>Here are the dependencies I added to my project with the &#8220;test&#8221; scope :</p>
<pre>&lt;dependency&gt;
    &lt;groupId&gt;org.hibernate&lt;/groupId&gt;
    &lt;artifactId&gt;hibernate-entitymanager&lt;/artifactId&gt;
    &lt;version&gt;3.3.2.GA&lt;/version&gt;
    &lt;scope&gt;test&lt;/scope&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
    &lt;groupId&gt;org.apache.derby&lt;/groupId&gt;
    &lt;artifactId&gt;derby&lt;/artifactId&gt;
    &lt;version&gt;10.5.3.0&lt;/version&gt;
    &lt;scope&gt;test&lt;/scope&gt;
&lt;/dependency&gt;</pre>
<p><strong>Persistence Unit</strong></p>
<p>Here the interesting snippet of my META-INF/persistence.xml file :</p>
<pre>&lt;persistence-unit name="testPU" transaction-type="RESOURCE_LOCAL"&gt;
    &lt;provider&gt;org.hibernate.ejb.HibernatePersistence&lt;/provider&gt;
    &lt;class&gt;myapp.model.entities.Group&lt;/class&gt;
    &lt;class&gt;myapp.model.entities.User&lt;/class&gt;
    &lt;exclude-unlisted-classes&gt;true&lt;/exclude-unlisted-classes&gt;
    &lt;properties&gt;
        &lt;property name="hibernate.connection.url" value="jdbc:derby:memory:unit-testing-jpa"/&gt;
        &lt;property name="hibernate.connection.driver_class" value="org.apache.derby.jdbc.EmbeddedDriver"/&gt;
        &lt;property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/&gt;
        &lt;property name="hibernate.hbm2ddl.auto" value="create"/&gt;
        &lt;property name="hibernate.connection.username" value=""/&gt;
        &lt;property name="hibernate.connection.password" value=""/&gt;
    &lt;/properties&gt;
&lt;/persistence-unit&gt;</pre>
<p><strong>The unit test</strong></p>
<p>Here is a simple complete test case :</p>
<pre> public class PersistenceUnitTest extends TestCase {

    private static Logger logger = Logger.getLogger(PersistenceUnitTest.class.getName());

    private EntityManagerFactory emFactory;

    private EntityManager em;

    public PersistenceUnitTest(String testName) {
        super(testName);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        try {
            logger.info("Starting in-memory database for unit tests");
            Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
            DriverManager.getConnection("jdbc:derby:memory:unit-testing-jpa;create=true").close();
        } catch (Exception ex) {
            ex.printStackTrace();
            fail("Exception during database startup.");
        }
        try {
            logger.info("Building JPA EntityManager for unit tests");
            emFactory = Persistence.createEntityManagerFactory("testPU");
            em = emFactory.createEntityManager();
        } catch (Exception ex) {
            ex.printStackTrace();
            fail("Exception during JPA EntityManager instanciation.");
        }
    }

    @Override
    protected void tearDown() throws Exception {
        super.tearDown();
        logger.info("Shuting down Hibernate JPA layer.");
        if (em != null) {
            em.close();
        }
        if (emFactory != null) {
            emFactory.close();
        }
        logger.info("Stopping in-memory database.");
        try {
            DriverManager.getConnection("jdbc:derby:memory:unit-testing-jpa;shutdown=true").close();
        } catch (SQLNonTransientConnectionException ex) {
            if (ex.getErrorCode() != 45000) {
                throw ex;
            }
            // Shutdown success
        }
        VFMemoryStorageFactory.purgeDatabase(new File("unit-testing-jpa").getCanonicalPath());
    }

    public void testPersistence() {
        try {

            em.getTransaction().begin();

            User u = new User();
            u.setEmail("eskatos@yopmail.com");
            u.setFirstName("eskatos");
            u.setLastName("YOP");
            u.setOrganisation("Tagada");

            em.persist(u);
            assertTrue(em.contains(u));

            Group g = new Group();
            g1.addUser(u);

            em.persist(g);
            assertTrue(em.contains(g));

            g.removeUser(u);
            em.remove(u);
            em.merge(g);
            assertFalse(em.contains(u));

            em.getTransaction().commit();

        } catch (Exception ex) {
            em.getTransaction().rollback();
            ex.printStackTrace();
            fail("Exception during testPersistence");
        }
    }
}</pre>
<p>Et voila, now with Derby :)  !</p>
<br /> Tagged: derby, hibernate, jpa, junit <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eskatos.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eskatos.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eskatos.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eskatos.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/eskatos.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/eskatos.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/eskatos.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/eskatos.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eskatos.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eskatos.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eskatos.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eskatos.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eskatos.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eskatos.wordpress.com/255/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eskatos.wordpress.com&amp;blog=1874426&amp;post=255&amp;subd=eskatos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://eskatos.wordpress.com/2009/10/26/unit-test-jpa-entities-with-in-memory-derby/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fdc4f36b549c1066a3b47bcfa85d40da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eskatos</media:title>
		</media:content>

		<media:content url="http://eskatos.files.wordpress.com/2007/10/hibernate_logo.png?w=97" medium="image">
			<media:title type="html">Hibernate</media:title>
		</media:content>
	</item>
	</channel>
</rss>
