<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CUYFQHcyeip7ImA9WhBXEkQ.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360</id><updated>2013-03-26T03:18:31.992-07:00</updated><category term="hudson maven3 plugin" /><category term="hudson maven3 plugin olamy" /><title>olamy open source hacker</title><subtitle type="html">French OpenSource addict living in Melbourne, Australia. Apache committer/Member, Jenkins committer and others.
I&amp;#39;m an Managing Consultant &amp;amp;&amp;amp; OpenSource Hacker working at Ecetera.com.au. 
Disclaimer: the views expressed on this site are mine and do not necessarily reflect the views of Ecetera.com.au .
Also the father of some :-) (four) beautiful kids and husband of a wonderful wife.
http://people.apache.org/~olamy/resume and https://twitter.com/#!/olamy</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://olamy.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>74</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/OlamyAtApacheDotOrg" /><feedburner:info uri="olamyatapachedotorg" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;D04FQ388fyp7ImA9WhNUGUw.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-5781504482760460796</id><published>2013-01-11T06:38:00.001-08:00</published><updated>2013-01-11T06:51:52.177-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-11T06:51:52.177-08:00</app:edited><title>Huge Refactoring: Relocating to Melbourne, Australia</title><content type="html">&lt;b&gt;NOTE:&lt;/b&gt; Not usual but this blog entry is not technical, you won't see any xml or java code :-)
&lt;br/&gt;&lt;br/&gt;
That's how my 9 yo daughter see our new future life :-)
&lt;br/&gt;&lt;br/&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/--BhHSO9agrA/UO_zkiW_4lI/AAAAAAAACIU/mL5G7beYDiA/s1600/dessin_jeanne_aus.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="233" width="320" src="http://3.bp.blogspot.com/--BhHSO9agrA/UO_zkiW_4lI/AAAAAAAACIU/mL5G7beYDiA/s320/dessin_jeanne_aus.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;b&gt;NOTE:&lt;/b&gt; I tried to explain to her it's not possible to have kangaroo as pet. So she answered to me: "Ok I prefer a koala" :-)
&lt;br/&gt;
&lt;br/&gt;
So we wanted to move to an english speaking country.
&lt;br/&gt;
We merged our specs:
&lt;ul&gt;
&lt;li&gt;wife specs: country with good cupcakes and some beaches.&lt;/li&gt;
&lt;li&gt;my specs: sunny country and good beer/wine&lt;/li&gt;
&lt;/ul&gt;
&lt;br/&gt;&lt;/br&gt;
The short list was:
&lt;ul&gt;
&lt;li&gt;US: but no due to too much guns&lt;/li&gt;
&lt;li&gt;UK: too much rain (and I'm French and you know the history :-) )&lt;/li&gt;
&lt;li&gt;Canada: too cold !&lt;/li&gt;
&lt;li&gt;Australie: cupcakes, beers, beaches and sun etc...&lt;/li&gt;
&lt;/ul&gt;
&lt;br/&gt;&lt;br/&gt;
In fact the choice was pretty easy :-).
&lt;br/&gt;
So we will relocate around mi march to Melbourne, Australia (Yes The most livable city in the world see &lt;a href="http://en.wikipedia.org/wiki/World's_most_livable_cities" target="_blank"&gt;http://en.wikipedia.org/wiki/World's_most_livable_cities&lt;/a&gt;).
&lt;br/&gt;&lt;br/&gt;
While my wife will go to the beach, I will work for a small/medium company (I don't know yet what is small/medium/huge in this country): &lt;a href="http://ecetera.com.au" target="_blank"&gt;http://ecetera.com.au&lt;/a&gt;. (see smart people &lt;a href="http://youtu.be/HGSg2kfW2sA" target="_blank"&gt;http://youtu.be/HGSg2kfW2sA&lt;/a&gt;).
&lt;br/&gt;
The good news is 50% of my $DAYJOB will be continuing hacking on open source ! and the other 50% will be consulting/training on this open source.
&lt;br/&gt;&lt;br/&gt;
&amp;lt;marketing&amp;gt
&lt;br/&gt;
If you need some consulting on open source in the Australia area contact me :-)
&lt;br/&gt;
&amp;lt;/marketing&amp;gt;
&lt;br/&gt;&lt;br/&gt;
I'd like to thanks @Talend for the crazy 1,5 year dedicated to Apache hacking !
&lt;br/&gt;
It was a really great pleasure to work with so &lt;a href="http://coders.talend.com/members" href="_target"&gt;amazing team&lt;/a&gt; !!
&lt;br/&gt;
(@glenmazza this relocation will help me to reduce my english typos :P )
&lt;br/&gt;&lt;br/&gt;
&amp;lt;personnal marketing in French&amp;gt;
&lt;br/&gt;
Je vends ma maison située &lt;a href="http://goo.gl/maps/Kht3s" target="_blank"&gt;ici&lt;/a&gt;
&lt;br/&gt;
Pas encore eu le temps de faire annonce dans un circuit de vente officielle.
&lt;br/&gt;
L'annonce sera:
&lt;br/&gt;
Maison individuelle de 140m2 sur un terrain de 650 m2 avec 5 chambres, 1 bureau, sous sol total.
Située dans secteur calme, proche écoles, à 5 min du RER C.
&lt;br/&gt;
Rez de chaussée: 1 chambre, 1 bureau, salle à manger, cuisine, salle de bains (refaite en 2006) et WC.
&lt;br/&gt;
Etage (construit en 2008): 4 chambres, salle de bains et WC.
&lt;br/&gt;Libre Juillet 2013.
&lt;br/&gt;
Si vous êtes intéressé envoyez moi un email: olamy AT apache DOT org
&lt;br/&gt;
&amp;lt;/personnal marketing in French&amp;gt;
&lt;br/&gt;&lt;br/&gt;
&lt;b&gt;NOTE:&lt;/b&gt; I'm looking for a small apartment only for myself @Melbourne for mid march until august. Contact me if you have some proposals.
&lt;br/&gt;&lt;br/&gt;
Next blog entry will be probably from the other side of the world :-)

&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/qfIjS25BHy8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/5781504482760460796/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=5781504482760460796" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/5781504482760460796?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/5781504482760460796?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/qfIjS25BHy8/huge-refactoring-relocating-to.html" title="Huge Refactoring: Relocating to Melbourne, Australia" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/--BhHSO9agrA/UO_zkiW_4lI/AAAAAAAACIU/mL5G7beYDiA/s72-c/dessin_jeanne_aus.jpg" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://olamy.blogspot.com/2013/01/huge-refactoring-relocating-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIARHs4eSp7ImA9WhNSEkg.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-1784887458510977072</id><published>2012-10-26T05:26:00.001-07:00</published><updated>2012-10-26T05:29:05.531-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-26T05:29:05.531-07:00</app:edited><title>Apache Maven site support Markdown !</title><content type="html">Maybe you don't know because that's not very well documented :-) but Maven site support Markdown format !

It's just a matter of configuring the site plugin !

&lt;pre&gt;
      &amp;lt;plugin&gt;
        &amp;lt;groupId&gt;org.apache.maven.plugins&amp;lt;/groupId&gt;
        &amp;lt;artifactId&gt;maven-site-plugin&amp;lt;/artifactId&gt;
        &amp;lt;version&gt;3.2&amp;lt;/version&gt;
        &amp;lt;dependencies&gt;
          &amp;lt;dependency&gt;
            &amp;lt;groupId&gt;org.apache.maven.doxia&amp;lt;/groupId&gt;
            &amp;lt;artifactId&gt;doxia-module-markdown&amp;lt;/artifactId&gt;
            &amp;lt;version&gt;1.3&amp;lt;/version&gt;
          &amp;lt;/dependency&gt;
        &amp;lt;/dependencies&gt;
      &amp;lt;/plugin&gt;
&lt;/pre&gt;

Now add your markdown files with .md extension in src/site/markdown
&lt;br/&gt;
&lt;br/&gt;
And that's it ! You are now "à la mode" and you use markdown :-)
&lt;br/&gt;
&lt;br/&gt;
I agree that must be per default and no need of extra xml to write
&lt;br/&gt;
&lt;br/&gt;
See the documentation of under incubation Helix project, we use Markdown (&lt;a href="http://helix.incubator.apache.org" target="_blank"&gt;http://helix.incubator.apache.org&lt;/a&gt;)

&lt;br/&gt;
&lt;br/&gt;
Have Fun&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/EXIuwN4RlkA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/1784887458510977072/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=1784887458510977072" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/1784887458510977072?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/1784887458510977072?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/EXIuwN4RlkA/apache-maven-site-support-markdown.html" title="Apache Maven site support Markdown !" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://olamy.blogspot.com/2012/10/apache-maven-site-support-markdown.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EERHg8eCp7ImA9WhNTEEs.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-3406814399581055328</id><published>2012-10-10T09:36:00.002-07:00</published><updated>2012-10-12T10:06:45.670-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-12T10:06:45.670-07:00</app:edited><title>Test your local patch on a remote Jenkins with Maven</title><content type="html">Recently Kohsuke (@kohsukekawa) wrote a plugin to let you apply a patch on Jenkins job for testing purpose. 
&lt;br/&gt;
See &lt;a href="http://kohsuke.org/2012/10/08/potd-submit-a-patch-to-jenkins-and-let-him-test-it-for-you/"&gt;Blog entry&lt;/a&gt;.
&lt;br/&gt;
&lt;br/&gt;
That's a pretty good idea as most of the time, you can have very long build.
Integrations tests with selenium running on various os/browsers (some you don't have or don't want to install) or tests on various databases.
&lt;br/&gt;
&lt;br/&gt;
So usually hack, commit/push the change and cross fingers for not break the build on your Jenkins instance (don't tell me you never did that :-) ).
&lt;br/&gt;&lt;br/&gt;
While ago I started a Maven plugin to be able to interact with github/jira (see &lt;a href="http://olamy.blogspot.fr/2011/11/from-pull-request-to-jira-issue.html"&gt;blog entry&lt;/a&gt;).
&lt;br/&gt;&lt;br/&gt;
So I have enhanced this plugin a bit to generate a diff/patch (I have tested on both svn/git) and post it to Jenkins to run the job with applying the patch on the job workspace.
&lt;br/&gt;&lt;br/&gt;
&lt;b&gt;NOTE:&lt;/b&gt; you need to install the Jenkins plugin first &lt;a href="https://wiki.jenkins-ci.org/display/JENKINS/Patch+Parameter+Plugin"&gt;Patch Parameter Plugin&lt;/a&gt;.
&lt;br/&gt;&lt;/br&gt;
Then run the following Maven cli:
&lt;pre&gt;
mvn patch-tracker:post -Dpatch.serverUrl=http://localhost:8080/job/maven-dependency-update-trigger-plugin -Dpatch.patchTrackerSystem=jenkins
Maven will ask you user/password etc..
&lt;/pre&gt;
&lt;br/&gt;&lt;br/&gt;
Now that's cool you can keep your local cpu/memory to listen musics, watch videos, play games etc... while your patch is tested on a remote Jenkins instance.
&lt;br/&gt;&lt;br/&gt;
&lt;b&gt;NOTE:&lt;/b&gt; The maven plugin is still in sandbox without any release. So you need to install it manually (sources are here: https://svn.apache.org/repos/asf/maven/sandbox/trunk/plugins/maven-patch-tracker-plugin) or consume it from this snapshot repository: https://repository.apache.org/content/repositories/snapshots
&lt;br/&gt;&lt;br/&gt;

BTW you can use curl too :-)
curl --user uid:password -X POST -F "patch.diff=@patch.txt" https://jenkinshost/job/X/buildWithParameters?delay=0sec
&lt;br/&gt;
Don't miss to add a build parameter patch file.
&lt;br/&gt;
If you use svn, configure checkout-strategy to "Emulate clean checkout by first ...."

&lt;br/&gt;&lt;br/&gt;
All feedbacks are welcome!
&lt;br/&gt;&lt;br/&gt;
So Have Fun !

 &lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/dZvORBeyNqA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/3406814399581055328/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=3406814399581055328" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/3406814399581055328?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/3406814399581055328?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/dZvORBeyNqA/test-your-local-patch-on-remote-jenkins.html" title="Test your local patch on a remote Jenkins with Maven" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://olamy.blogspot.com/2012/10/test-your-local-patch-on-remote-jenkins.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UEQng5eSp7ImA9WhJUFkg.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-8596525934773335957</id><published>2012-09-14T13:36:00.002-07:00</published><updated>2012-09-14T13:40:03.621-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-14T13:40:03.621-07:00</app:edited><title>Publishing a Maven site to a scm (ease Apache svnpubsub usage)</title><content type="html">The Apache Maven team just released a first version of a new plugin to be able to publish Maven websites to a scm. (&lt;a href="http://maven.apache.org/plugins/maven-scm-publish-plugin/" target="_blank"&gt;Maven SCM Publish Plugin&lt;/a&gt;)
&lt;br/&gt;
The first goal was to be able to commit web sites to the svnpubsub Apache infra for websites. 
&lt;br/&gt;&lt;br/&gt;
&lt;b&gt;Remember the migration to svnpubsub is mandatory for the end of the year.&lt;/b&gt;
&lt;br/&gt;&lt;br/&gt;
Yes you remember as (if you are an Apache committer) how long it can take to have a *.apache.org website live updated :-). 
&lt;br/&gt;&lt;br/&gt;
You usually scp to people.a.o and wait the end of rsync (long coffee break possible!)
But now (thanks to Apache infra !), just commit your website to svn and the site is up2date within minutes !!
&lt;br/&gt;&lt;br/&gt;
Note: as we have a &lt;a href="http://maven.apache.org/scm" target="_blank"&gt;Maven Scm Api&lt;/a&gt; we can support most of the supported scm by the Maven scm (honestly I have tested only svn and git :-)). 
&lt;br/&gt;
So it works too for git (github gh-pages included see &lt;a href="http://maven.apache.org/plugins/maven-scm-publish-plugin/various-tips.html" target="_blank"&gt;documentation git branch section&lt;/a&gt;)
&lt;br/&gt;&lt;br/&gt;
The trick is you must use different configuration and command line if you publish a mono module or multi modules build.
See samples and documentation here:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://maven.apache.org/plugins/maven-scm-publish-plugin/examples/one-module-configuration.html" target="_blank"&gt;mono module&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://maven.apache.org/plugins/maven-scm-publish-plugin/examples/multi-module-configuration.html" target="_blank"&gt;multi modules&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br/&gt;&lt;br/&gt;
Nice feature is the cleanup(delete) of not anymore generated files. They are now deleted from the scm. The plugin simply compare your generated website and the content from scm and take care of removing not anymore produced files.
&lt;br/&gt;&lt;br/&gt;
Have a look at the other tips in this &lt;a href="http://maven.apache.org/plugins/maven-scm-publish-plugin/various-tips.html" target="_blank"&gt;page&lt;/a&gt;.
&lt;br/&gt;
The most important is to use the tryUpdate mode (not the default).
&lt;pre&gt;
&amp;lt;tryUpdate&gt;true&amp;lt;/tryUpdate&gt;
&lt;/pre&gt;

So have fun writing documentation on Apache projects and publish it to live very fast :P
&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/5k557s6USJY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/8596525934773335957/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=8596525934773335957" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/8596525934773335957?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/8596525934773335957?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/5k557s6USJY/publishing-maven-site-to-scm-ease.html" title="Publishing a Maven site to a scm (ease Apache svnpubsub usage)" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://olamy.blogspot.com/2012/09/publishing-maven-site-to-scm-ease.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUDSXg6eip7ImA9WhJVEEU.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-2209424254808675019</id><published>2012-08-27T06:40:00.001-07:00</published><updated>2012-08-27T08:44:38.612-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-08-27T08:44:38.612-07:00</app:edited><title>Maven Assembly/Dependency plugins useJvmChmod field WTF ?</title><content type="html">It looks not a lot folks knows a strange named option &amp;nbsp;from the Assembly and Dependency Maven plugins.&lt;br /&gt;
The name is useJvmChmod. Sure when reading this name you can say: "WTF ?????".&lt;br /&gt;
Both plugins use a component called plexus-archiver (which pack,unpack files and can set files permissions).&lt;br /&gt;
By default&amp;nbsp;on unix platform, this component will fork a process to do chmod command line call and for each files (ouch&amp;nbsp;!!!!&amp;nbsp;for large distributions or unpack goal).&lt;br /&gt;
So long ago now (yup 2 years is long in our world :-)), I added a configurable mode to use file permission methods from jdk1.6 and not using anymore forked command line call to chmod.&lt;br /&gt;
This is why it's called&amp;nbsp;useJvmChmod (sorry I'm sometimes not really good on naming marketing :-)).&lt;br /&gt;
By the way, if your build is still 1.5 that will works as it's done trough reflection (see &lt;a href="https://github.com/sonatype/plexus-archiver/commit/aa74285f7a0cc87054e0ce2b0920916bda18299d" target="_blank"&gt;initial commit&lt;/a&gt;&amp;nbsp;).&lt;br /&gt;
Note this option is available since assembly plugin 2.2 and it's now available in the fresh release of dependency plugin 2.5.1 (thanks to @atlassian folks for the issue report:&amp;nbsp;&lt;a href="https://jira.codehaus.org/browse/MDEP-368" target="_blank"&gt;https://jira.codehaus.org/browse/MDEP-368&lt;/a&gt;).&lt;br /&gt;
So if you assembly plugin or use unpack goal from the dependency don't miss this attribute to true!&lt;br /&gt;
&lt;pre&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;plugin&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;artifactId&amp;gt;maven-assembly-plugin&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; or&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;artifactId&amp;gt;maven-dependency-plugin&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;configuration&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;useJvmChmod&amp;gt;true&amp;lt;/useJvmChmod&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;/plugin&amp;gt;&lt;br /&gt;
&lt;/pre&gt;
&lt;b&gt;NOTE&lt;/b&gt;: if you use useJvmChmod special permissions at group level won't be apply as it doesn't exists in java&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/US48IoV5xNk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/2209424254808675019/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=2209424254808675019" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/2209424254808675019?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/2209424254808675019?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/US48IoV5xNk/maven-assemblydependency-plugins.html" title="Maven Assembly/Dependency plugins useJvmChmod field WTF ?" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://olamy.blogspot.com/2012/08/maven-assemblydependency-plugins.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcAQnk-eyp7ImA9WhJQGUw.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-4526613031717708463</id><published>2012-08-02T07:17:00.000-07:00</published><updated>2012-08-02T07:17:23.753-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-08-02T07:17:23.753-07:00</app:edited><title>Maven Surefire configuration for CI server</title><content type="html">I used this configuration for long time now but not sure you know that.&lt;br /&gt;
The use case is an application creating a temp file to store values (File.createTempFile( "wine.txt", "wine" ); )&lt;br /&gt;
Running it locally no problem.&lt;br /&gt;
But now you have a ci server running the same Maven project with various parameters:&lt;br /&gt;
* one fast only executing unit tests&lt;br /&gt;
* one longer running selenium integration tests.&lt;br /&gt;
&lt;br /&gt;
On Unix server, the temp directory is shared for all users (usually /tmp, /var/tmp etc...).&lt;br /&gt;
So if your build runs in parallel they will share the same file (can go to weird results ..)&lt;br /&gt;
&lt;br /&gt;
To avoid such case, you can configure surefire plugin as it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;plugin&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;artifactId&amp;gt;maven-surefire-plugin&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;configuration&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;systemPropertyVariables&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;java.io.tmpdir&amp;gt;${project.build.directory}&amp;lt;/java.io.tmpdir&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;/systemPropertyVariables&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;/plugin&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As it each build will use a separate tmp directory and temporary files won't be shared anymore.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/p-dtLew0Yjc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/4526613031717708463/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=4526613031717708463" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/4526613031717708463?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/4526613031717708463?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/p-dtLew0Yjc/maven-surefire-configuration-for-ci.html" title="Maven Surefire configuration for CI server" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://olamy.blogspot.com/2012/08/maven-surefire-configuration-for-ci.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEEQXk4fyp7ImA9WhVbFEQ.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-2380789148335142631</id><published>2012-05-09T13:34:00.001-07:00</published><updated>2012-05-31T12:30:00.737-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-31T12:30:00.737-07:00</app:edited><title>Java5 annotations support for Maven plugins</title><content type="html">So finally or at least (depends on your POV :-)), I have pushed some code to support Java5 annotations support for Maven plugins.
&lt;br/&gt;
The "specs" are here &lt;a href="https://cwiki.apache.org/confluence/display/MAVEN/Java+5+Annotations+for+Plugins" target="_blank"&gt;https://cwiki.apache.org/confluence/display/MAVEN/Java+5+Annotations+for+Plugins&lt;/a&gt;.
&lt;br/&gt;
The code is available in the branch &lt;a href="http://svn.apache.org/repos/asf/maven/plugin-tools/branches/MPLUGIN-189/" target="_blank"&gt;http://svn.apache.org/repos/asf/maven/plugin-tools/branches/MPLUGIN-189/&lt;/a&gt;.
&lt;br/&gt;
Snapshot are deployed to: https://repository.apache.org/content/repositories/snapshot .
&lt;br/&gt;
You can have a look at it tests to see some samples: http://svn.apache.org/repos/asf/maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-plugin/src/it/annotation-with-inheritance/ 
&lt;br/&gt;
Basically you need to setup your pom as it:
&lt;pre&gt;
    &amp;lt;dependency&gt;
      &amp;lt;groupId&gt;org.apache.maven.plugin-tools&amp;lt;/groupId&gt;
      &amp;lt;artifactId&gt;maven-plugin-annotations&amp;lt;/artifactId&gt;
      &amp;lt;version&gt;3.0-SNAPSHOT&amp;lt;/version&gt;
      &amp;lt;scope&gt;compile&amp;lt;/scope&gt;
    &amp;lt;/dependency&gt;


  &amp;lt;build&gt;
    &amp;lt;plugins&gt;
      &amp;lt;plugin&gt;
        &amp;lt;groupId&gt;org.apache.maven.plugins&amp;lt;/groupId&gt;
        &amp;lt;artifactId&gt;maven-plugin-plugin&amp;lt;/artifactId&gt;
        &amp;lt;version&gt;3.0-SNAPSHOT&amp;lt;/version&gt;
        &amp;lt;configuration&gt;
          &amp;lt;skipErrorNoDescriptorsFound&gt;true&amp;lt;/skipErrorNoDescriptorsFound&gt;
        &amp;lt;/configuration&gt;
        &amp;lt;executions&gt;
          &amp;lt;execution&gt;
            &amp;lt;id&gt;mojo-descriptor&amp;lt;/id&gt;
            &amp;lt;phase&gt;process-classes&amp;lt;/phase&gt;
            &amp;lt;goals&gt;
              &amp;lt;goal&gt;descriptor&amp;lt;/goal&gt;
            &amp;lt;/goals&gt;
          &amp;lt;/execution&gt;
        &amp;lt;/executions&gt;
      &amp;lt;/plugin&gt;
    &amp;lt;/plugins&gt;
  &amp;lt;/build&gt;
  &lt;!-- if you don't add Apache snapshot repository to your settings --&gt;
  &amp;lt;repositories&gt;
    &amp;lt;repository&gt;
      &amp;lt;id&gt;apache.snapshots&amp;lt;/id&gt;
      &amp;lt;name&gt;Apache Snapshot Repository&amp;lt;/name&gt;
      &amp;lt;url&gt;http://repository.apache.org/snapshots&amp;lt;/url&gt;
      &amp;lt;releases&gt;
        &amp;lt;enabled&gt;false&amp;lt;/enabled&gt;
      &amp;lt;/releases&gt;
    &amp;lt;/repository&gt;
  &amp;lt;/repositories&gt;
  &amp;lt;pluginRepositories&gt;
    &amp;lt;pluginRepository&gt;
      &amp;lt;id&gt;apache.snapshots&amp;lt;/id&gt;
      &amp;lt;name&gt;Apache Snapshot Repository&amp;lt;/name&gt;
      &amp;lt;url&gt;http://repository.apache.org/snapshots&amp;lt;/url&gt;
      &amp;lt;releases&gt;
        &amp;lt;enabled&gt;false&amp;lt;/enabled&gt;
      &amp;lt;/releases&gt;
    &amp;lt;/pluginRepository&gt;
  &amp;lt;/pluginRepositories&gt;

&lt;/pre&gt;

Annotations to use are:
&lt;pre&gt;
@Mojo( name = "foo", 
       defaultPhase = LifecyclePhase.COMPILE, 
       threadSafe = true )
@Execute( goal = "compiler", 
          lifecycle = "my-lifecycle", 
          phase = LifecyclePhase.PACKAGE )

public class FooMojo extends AbstractMojo
{
    /**
     * the cool bar to go
     * @since 1.0
     */
    @Parameter( expression = "${thebar}", 
                required = true, 
                defaultValue = "coolbar" )
    protected String bar;

    /**
     * beer for non french folks
     * @deprecated wine is better
     */
    @Parameter( expression = "${thebeer}", 
                defaultValue = "coolbeer" )
    protected String beer;

    /**
     * Plexus compiler manager.
     */
    @Component
    protected CompilerManager compilerManager;

    /**
     *
     */
    @Component( role = "org.apache.maven.artifact.metadata.ArtifactMetadataSource", 
                roleHint = "maven" )
    protected ArtifactMetadataSource artifactMetadataSource;

    public void execute()
        throws MojoExecutionException, MojoFailureException
    {
        // nothing
    }
}
&lt;/pre&gt;

&lt;b&gt;Note:&lt;/b&gt; the help generation doesn't work yet !!&lt;br/&gt;
A new feature is your parent annotated classes can come from reactor project and from your project dependencies.
&lt;br/&gt;
And don't complain yet too much in case of issues, it's a work in progress :-)
&lt;br/&gt;

&lt;b&gt;12 May 2012 UPDATE&lt;/b&gt;: Help generation done and code merged in trunk YEAHH :-)
&lt;br/&gt;
&lt;b&gt;25 May 2012 UPDATE&lt;/b&gt;: Few annotations has changed have a look at documentation page: &lt;a href="https://cwiki.apache.org/confluence/display/MAVEN/Java+5+Annotations+for+Plugins" target="_blank"&gt;https://cwiki.apache.org/confluence/display/MAVEN/Java+5+Annotations+for+Plugins&lt;/a&gt;
&lt;br/&gt;

&lt;b&gt;31 May 2012 UPDATE&lt;/b&gt;: release 3.0 deployed and now available.
&lt;br/&gt;
Have Fun!&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/xMefo-TDYm0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/2380789148335142631/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=2380789148335142631" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/2380789148335142631?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/2380789148335142631?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/xMefo-TDYm0/java5-annotations-support-for-maven.html" title="Java5 annotations support for Maven plugins" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://olamy.blogspot.com/2012/05/java5-annotations-support-for-maven.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IMQXkycSp7ImA9WhVRFU8.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-7569125134765467735</id><published>2012-03-23T09:50:00.000-07:00</published><updated>2012-03-23T09:53:00.799-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-23T09:53:00.799-07:00</app:edited><title>Search and browse with Archiva new UI</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
If you follow me, you probably know I'm working on a new UI for &lt;a href="http://archiva.apache.org/" target="_blank"&gt;Apache Archiva&lt;/a&gt; using plain html/javascript technologies (one page load app).&lt;br/&gt;
Here some screenshot about new Search and Browsing screens.
&lt;br/&gt;&lt;br/&gt;
&lt;h3&gt;The new browsing&lt;/h3&gt;
&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/OkWuxmQjXq8" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;br/&gt;&lt;br/&gt;
&lt;h3&gt;The new search&lt;/h3&gt;
&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/XbpXX0XV6Ts" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;

&lt;br/&gt;
To test it just download:
&lt;ul&gt;
&lt;li&gt;zip with self contained jetty: http://s.apache.org/LAST_ARCHIVABUILD_ZIP&lt;/li&gt;
&lt;li&gt;war to install in your favorite servlet container: http://s.apache.org/LAST_ARCHIVABUILD_WAR&lt;/li&gt;
&lt;/ul&gt;
&lt;br/&gt;
So all comments are welcome :-)
&lt;br/&gt;
And have Fun !&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/6Ik8TplXypw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/7569125134765467735/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=7569125134765467735" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/7569125134765467735?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/7569125134765467735?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/6Ik8TplXypw/search-and-browse-with-archiva-new-ui.html" title="Search and browse with Archiva new UI" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/OkWuxmQjXq8/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://olamy.blogspot.com/2012/03/search-and-browse-with-archiva-new-ui.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcCR3k6eSp7ImA9WhRaE0w.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-4976492656119537646</id><published>2012-02-15T05:53:00.001-08:00</published><updated>2012-02-15T05:54:26.711-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-15T05:54:26.711-08:00</app:edited><title>Apache Archiva UI rewrite progress (How it works ? )</title><content type="html">&lt;div&gt;Recently I proposed to rewrite the Apache Archiva UI. 
The goal was to have a new fresh/modern UI :-). 
&lt;br/&gt;
So as IANAD (D for designer) using Twitter Bootstrap was a good solution to help to start.
&lt;br/&gt;
Regarding web framework buzz :-), I proposed to have a plain html/javascript (without any complicated Java web framework stack) maybe because it's "à la mode" :-). 
&lt;br/&gt;
At the end, it will be a one page load application with only javascript (data transfer with the server only tru REST call) and rendering with html/js template mechanism.
&lt;br/&gt;
But here too there is some buzz around: which one to choose ? 

To have an easy UI automatic refresh, the data binding was something mandatory. 
&lt;br/&gt;
That's why &lt;a href="http://knockoutjs.com/" target="_blank"&gt;http://knockoutjs.com/&lt;/a&gt; was choosen !!
&lt;br/&gt;
Furthermore it's a very active community, people are helping very quickly to help on mailing list and very documentation (something not usual on Open Source project :P ).
&lt;br/&gt;
And definitely we didn't want waste time on philosophical discussions on various frameworks.
&lt;br/&gt;
I promise I will write a blog entry soon on some tips to use this framework :-)
&lt;br/&gt;
&lt;br/&gt;
&lt;/div&gt;
So the rewrite is in progress (see &lt;a target="_blank" href="http://www.screencast.com/t/KX93fcKhHvE"&gt;http://www.screencast.com/t/KX93fcKhHvE&lt;/a&gt;)
&lt;br/&gt;
And some documentation on how it works has been started &lt;a href="http://people.apache.org/~olamy/archiva/doc/ref/1.4-M3-SNAPSHOT/archiva-web/archiva-webapp-js/index.html" target="_blank"&gt;here&lt;/a&gt;
&lt;br/&gt;
The top jira issue is here &lt;a href="http://jira.codehaus.org/browse/MRM-1497" target="_blank"&gt;http://jira.codehaus.org/browse/MRM-1497&lt;/a&gt;.
&lt;br/&gt;
Yes some job to do :-).
&lt;br/&gt;
We are hiring :-) to complete all. So if you want to have fun with nice javascript framework. Do not hesitate to propose patches or pull requests tru &lt;a href="https://github.com/apache/archiva" target="_blank"&gt;https://github.com/apache/archiva&lt;/a&gt;.
&lt;br/&gt;   
Note: during the interview process, we won't ask complicated puzzle or scholar questions :-) you will be judged only on your patches proposal.
&lt;br/&gt;
&lt;br/&gt;
If you want to test the new UI, you can try the following steps :
&lt;pre&gt;
svn co https://svn.apache.org/repos/asf/archiva/all/ archiva-all-sources
cd archiva-all-sources/archiva
mvn tomcat7:run -pl :archiva-webapp-js -Pjs -Pdev -am
&lt;/pre&gt;
Hit your browser : http://localhost:9091/archiva/index.html?request_lang=en

&lt;br/&gt;
&lt;br/&gt;
And after this UI rewrite, what's else ?
&lt;br/&gt;
I'm thinking about plugins/extension points mechanism with UI part too. As the UI will be in full js, folks will have to write their plugins ui in js.
&lt;br/&gt;
Maybe not only, &lt;a href="https://vaadin.com/blog/-/blogs/embedding-vaadin-anywhere-with-vaadin-xs" target="_blank"&gt;Vaadin XS&lt;/a&gt; looks to be possible solution to study.
&lt;br/&gt;

So stay tune for coming next news :-)&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/6l-zGvU-vRY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/4976492656119537646/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=4976492656119537646" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/4976492656119537646?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/4976492656119537646?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/6l-zGvU-vRY/apache-archiva-ui-rewrite-progress-how.html" title="Apache Archiva UI rewrite progress (How it works ? )" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://olamy.blogspot.com/2012/02/apache-archiva-ui-rewrite-progress-how.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMGRXw4eyp7ImA9WhNaEEk.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-8535749127733545944</id><published>2012-01-21T07:08:00.000-08:00</published><updated>2013-01-24T08:03:44.233-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-24T08:03:44.233-08:00</app:edited><title>Unit tests with embeded tomcat artifacts</title><content type="html">In the 7.x releases of Apache Tomcat, some maven artifacts are now published which include a nice and fluent embeded api to run a Tomcat instance.&lt;br /&gt;&lt;br /&gt;So it's a  nice opportunity to use it writing units to test servlets, rest api etc..&lt;br /&gt;But until 7.0.25 it was only possible to do it with using a barcoding port which can cause some issues on ci servers where you are not sure ports are not used by something else running. &lt;br /&gt;&lt;br /&gt;I have personally sended a RFC to ITEF to have port allocation for only my personal use on my birthday year or zip code port but strangely this RFC was never approved :-).&lt;br /&gt;&lt;br /&gt;Now you can use the java ServerSocket port 0 feature to use any free port available on the machine. &lt;br /&gt;It has been fixed with the &lt;a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=52028" target="_blank"&gt;issue 52028&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So now you can write a unit test as it (here a test with a REST service provided by Apache CXF).&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;    @Before&lt;br /&gt;    public void startTomcat()&lt;br /&gt;        throws Exception&lt;br /&gt;    {&lt;br /&gt;        tomcat = new Tomcat();&lt;br /&gt;        tomcat.setBaseDir( System.getProperty( "java.io.tmpdir" ) );&lt;br /&gt;        tomcat.setPort( 0 );&lt;br /&gt;&lt;br /&gt;        Context context = tomcat.addContext( "", System.getProperty( "java.io.tmpdir" ) );&lt;br /&gt;&lt;br /&gt;        A context param in your web.xml:&lt;br /&gt;&lt;br /&gt;        &amp;lt;context-param&amp;gt;&lt;br /&gt;          &amp;lt;param-name&gt;contextConfigLocation&amp;lt;/param-name&gt;&lt;br /&gt;          &amp;lt;param-value&gt;classpath*:META-INF/spring-context.xml&amp;lt;/param-value&gt;&lt;br /&gt;        &amp;lt;/context-param&gt;&lt;br /&gt;        &lt;br /&gt;        In the code&lt;br /&gt;&lt;br /&gt;        ApplicationParameter applicationParameter = new ApplicationParameter();&lt;br /&gt;        applicationParameter.setName( "contextConfigLocation" );&lt;br /&gt;        applicationParameter.setValue( "classpath*:META-INF/spring-context.xml" );&lt;br /&gt;        context.addApplicationParameter( applicationParameter );&lt;br /&gt;&lt;br /&gt;        A listener class in your web.xml:&lt;br /&gt;&lt;br /&gt;        &amp;lt;listener&gt;&lt;br /&gt;          &amp;lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&amp;lt;/listener-class&gt;&lt;br /&gt;        &amp;lt;/listener&gt;&lt;br /&gt;&lt;br /&gt;        In the code&lt;br /&gt;&lt;br /&gt;        context.addApplicationListener( ContextLoaderListener.class.getName() );&lt;br /&gt;&lt;br /&gt;        CXF servlet declaration in your web.xml:&lt;br /&gt;&lt;br /&gt;        &amp;lt;servlet&gt;&lt;br /&gt;          &amp;lt;servlet-name&gt;CXFServlet&amp;lt;/servlet-name&gt;&lt;br /&gt;          &amp;lt;servlet-class&gt;org.apache.cxf.transport.servlet.CXFServlet&amp;lt;/servlet-class&gt;&lt;br /&gt;       &amp;lt;/servlet&gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;servlet-mapping&gt;&lt;br /&gt;         &amp;lt;servlet-name&gt;CXFServlet&amp;lt;/servlet-name&gt;&lt;br /&gt;         &amp;lt;url-pattern&gt;/restServices/*&amp;lt;/url-pattern&gt;&lt;br /&gt;       &amp;lt;/servlet-mapping&gt;&lt;br /&gt;&lt;br /&gt;       In the code:&lt;br /&gt;&lt;br /&gt;       tomcat.addServlet( context, "cxf", new CXFServlet() );&lt;br /&gt;       context.addServletMapping( "/restServices/*", "cxf" );&lt;br /&gt;&lt;br /&gt;        tomcat.start();&lt;br /&gt;&lt;br /&gt;        port = tomcat.getConnector().getLocalPort();&lt;br /&gt;&lt;br /&gt;        System.out.println("Tomcat started on port:"+port);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So now you can test/consume you REST services on localhost with the port.&lt;br /&gt;&lt;br /&gt;Don't miss to shutdown the tomcat instance on tearDown or @After&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;    @After&lt;br /&gt;    public void stopTomcat()&lt;br /&gt;        throws Exception&lt;br /&gt;    {&lt;br /&gt;        tomcat.stop();&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;If you use Maven you need the following dependencies:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;    &amp;lt;dependency&gt;&lt;br /&gt;      &amp;lt;groupId&gt;org.apache.tomcat.embed&amp;lt;/groupId&gt;&lt;br /&gt;      &amp;lt;artifactId&gt;tomcat-embed-core&amp;lt;/artifactId&gt;&lt;br /&gt;      &amp;lt;scope&gt;test&amp;lt;/scope&gt;&lt;br /&gt;      &amp;lt;version&gt;7.0.25&amp;lt;/version&gt;&lt;br /&gt;    &amp;lt;/dependency&gt;&lt;br /&gt;    &amp;lt;dependency&gt;&lt;br /&gt;      &amp;lt;groupId&gt;org.apache.tomcat&amp;lt;/groupId&gt;&lt;br /&gt;      &amp;lt;artifactId&gt;tomcat-juli&amp;lt;/artifactId&gt;&lt;br /&gt;      &amp;lt;scope&gt;test&amp;lt;/scope&gt;&lt;br /&gt;      &amp;lt;version&gt;7.0.25&amp;lt;/version&gt;&lt;br /&gt;    &amp;lt;/dependency&gt;&lt;br /&gt;    &amp;lt;dependency&gt;&lt;br /&gt;      &amp;lt;groupId&gt;org.apache.tomcat.embed&amp;lt;/groupId&gt;&lt;br /&gt;      &amp;lt;artifactId&gt;tomcat-embed-logging-juli&amp;lt;/artifactId&gt;&lt;br /&gt;      &amp;lt;scope&gt;test&amp;lt;/scope&gt;&lt;br /&gt;      &amp;lt;version&gt;7.0.25&amp;lt;/version&gt;&lt;br /&gt;    &amp;lt;/dependency&gt;&lt;br /&gt;    &amp;lt;dependency&gt;&lt;br /&gt;      &amp;lt;groupId&gt;org.apache.tomcat&amp;lt;/groupId&gt;&lt;br /&gt;      &amp;lt;artifactId&gt;tomcat-servlet-api&amp;lt;/artifactId&gt;&lt;br /&gt;      &amp;lt;scope&gt;test&amp;lt;/scope&gt;&lt;br /&gt;      &amp;lt;version&gt;7.0.25&amp;lt;/version&gt;&lt;br /&gt;    &amp;lt;/dependency&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;As samples talks more than long docs ("Code talks, bullshit walks" :-) ).&lt;br /&gt;The tomcat maven archetype has been improved with a sample. (see &lt;a href="http://olamy.blogspot.com/2012/01/tomcat-maven-plugin-archetype-sample.html"&gt;previous post&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Have Fun!&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/GPk6HAWkbbM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/8535749127733545944/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=8535749127733545944" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/8535749127733545944?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/8535749127733545944?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/GPk6HAWkbbM/unit-tests-with-embeded-tomcat.html" title="Unit tests with embeded tomcat artifacts" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://olamy.blogspot.com/2012/01/unit-tests-with-embeded-tomcat.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQNRXs-fSp7ImA9WhRVFEg.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-1733372425416126996</id><published>2012-01-13T02:35:00.000-08:00</published><updated>2012-01-13T02:59:54.555-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-13T02:59:54.555-08:00</app:edited><title>Tomcat Maven plugin archetype. Sample talks more than long documentation :-)</title><content type="html">As code sample talks more than long and borying documentation (or maybe because I don't like to write too long documentation :-) ), I have writen an archetype for the Apache Tomcat Maven Plugin.&lt;br /&gt;&lt;br /&gt;Some features describe in this &lt;a href="http://olamy.blogspot.com/2011/10/apache-tomcat-maven-plugin-features.html" target="_blank"&gt;post&lt;/a&gt; are now implemented.&lt;br /&gt;&lt;br /&gt;As it's not yet released but soon !, just use :&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;mvn archetype:generate \&lt;br /&gt;   -DarchetypeGroupId=org.apache.tomcat.maven \&lt;br /&gt;   -DarchetypeArtifactId=tomcat-maven-archetype \&lt;br /&gt;   -DarchetypeVersion=2.0-SNAPSHOT \&lt;br /&gt;   -DarchetypeRepository=https://repository.apache.org/content/repositories/snapshots/ &lt;br /&gt;....&lt;br /&gt;[INFO] Using property: groupId = org.apache.tomcat.maven&lt;br /&gt;Define value for property 'artifactId': : tomcat-sample (project will be created in ./tomcat-sample )&lt;br /&gt;...&lt;br /&gt;cd tomcat-sample&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;You can run your webapp with: mvn tomcat6:run or mvn tomcat7:run (depends on tomcat version you want)&lt;br /&gt;And hit your browser to http://localhost:9090 and you will use a very complicated hello world webapp sample :-)&lt;br /&gt;&lt;br /&gt;Now you can try: mvn clean install .&lt;br /&gt;You will see a selenium test running (by default firefox), use -Pchrome for using chrome should work too with -Piexplore (not tested :-) ).&lt;br /&gt;&lt;br /&gt;Note you have now an executable war.&lt;br /&gt;Try it !&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;cd basic-webapp-exec/target/&lt;br /&gt;java -jar basic-webapp-exec-1.0-SNAPSHOT-war-exec.jar -httpPort 9191&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And hit your browser to http://localhost:9191.&lt;br /&gt;So you have a tomcat7 running our fabulous application and without installing nothing !&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;More details on the project&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;This archetype build a simple project with some maven modules. IMHO it's nice layout to use.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;basic-api (service interface)&lt;br /&gt;basic-api-impl (service default impl)&lt;br /&gt;basic-webapp (our webapp module)&lt;br /&gt;basic-webapp-exec (module to generated executable war)&lt;br /&gt;basic-webapp-it (module to run selenium tests with generated war)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The application is exposing a REST service called HelloService (in basic-api module)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;@Path( "HelloService" )&lt;br /&gt;public interface HelloService&lt;br /&gt;{&lt;br /&gt;    @Path( "sayHello/{who}" )&lt;br /&gt;    @GET&lt;br /&gt;    @Produces( { MediaType.TEXT_PLAIN } )&lt;br /&gt;    String sayHello( @PathParam( "who" ) String who );&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The implementation is in the module basic-api-impl.&lt;br /&gt;Note we use Apache Cxf to provide REST services (for more details have a look at the various spring files).&lt;br /&gt;&lt;br /&gt;The webapp is a simple page based on jquery and twitter bootstrap.&lt;br /&gt;&lt;br /&gt;So have fun !&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/IeiuuX36cT8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/1733372425416126996/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=1733372425416126996" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/1733372425416126996?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/1733372425416126996?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/IeiuuX36cT8/tomcat-maven-plugin-archetype-sample.html" title="Tomcat Maven plugin archetype. Sample talks more than long documentation :-)" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://olamy.blogspot.com/2012/01/tomcat-maven-plugin-archetype-sample.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYBQnc4fCp7ImA9WhRRE0U.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-3089241231925488775</id><published>2011-11-26T15:56:00.000-08:00</published><updated>2011-11-27T01:29:13.934-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-27T01:29:13.934-08:00</app:edited><title>From a pull request to a jira issue</title><content type="html">After the &lt;a href="http://olamy.blogspot.com/2011/11/life-is-too-short-to-waste-time-loading.html" target="_blank"&gt;generate a patch and attach it to a jira issue&lt;/a&gt;, it's now the time to have a tool to create an issue from a patch request (the current implementation works only for github pull request).&lt;br /&gt;&lt;br /&gt;So the Patch Tracker plugin has now a new goal called to-issue. This goal will read a github pull request and create an issue in your issue tracker (currently only supported for jira).&lt;br /&gt;&lt;br /&gt;It's simple :-).&lt;br /&gt;As sample see pull request : &lt;a href="https://github.com/jenkinsci/jenkins/pull/320" target="_blank"&gt;https://github.com/jenkinsci/jenkins/pull/320&lt;/a&gt; and the created issue in jira: &lt;a href="https://issues.jenkins-ci.org/browse/JENKINS-11883" target="_blank"&gt;https://issues.jenkins-ci.org/browse/JENKINS-11883&lt;/a&gt;&lt;br /&gt;I have just used the cli:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;mvn patch-tracker:to-issue -Dpatch.request.id=320 -B&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;For easy configuration see the properties in the jenkins pom.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;    &amp;lt;project.patchManagement.system&gt;github&amp;lt;/project.patchManagement.system&gt;&lt;br /&gt;    &amp;lt;patch.request.organisation&gt;jenkinsci&amp;lt;/patch.request.organisation&gt;&lt;br /&gt;    &amp;lt;patch.request.repository&gt;jenkins&amp;lt;/patch.request.repository&gt;&lt;br /&gt;    &amp;lt;project.patchManagement.url&gt;https://api.github.com&amp;lt;/project.patchManagement.url&gt;&lt;br /&gt;   &lt;!-- need an entry in settings --&gt;&lt;br /&gt;    &amp;lt;patch.tracker.serverId&gt;jenkins-jira&amp;lt;/patch.tracker.serverId&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;entry in settings:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   &amp;lt;server&gt;&lt;br /&gt;     &amp;lt;id&gt;jenkins-jira&amp;lt;/id&gt;&lt;br /&gt;     &amp;lt;username&gt;uid&amp;lt;/username&gt;&lt;br /&gt;     &amp;lt;password&gt;password&amp;lt;/password&gt;&lt;br /&gt;   &amp;lt;/server&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And that's it :-).&lt;br /&gt;&lt;br /&gt;BTW if you need more features, patch (or pull requests) are welcome.&lt;br /&gt;&lt;br /&gt;This maven plugin  is in the maven sandbox @asf and not released, so if you want to try it you must have asf maven snapshot repo in your settings or buid it manually. &lt;br /&gt;Sources are here:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;https://github.com/apache/maven-sandbox (path plugins/maven-patch-tracker-plugin) yup no sparse checkout with git :P&lt;/li&gt;&lt;br /&gt;&lt;li&gt;http://svn.apache.org/repos/asf/maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Some docs has been started here &lt;a href="http://maven.apache.org/plugins/maven-patch-tracker-plugin" target="_blank"&gt;http://maven.apache.org/plugins/maven-patch-tracker-plugin&lt;/a&gt;  (maybe not yet in sync so wait a bit)&lt;br /&gt;&lt;br /&gt;Have fun !&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/ZIqofUX4gH4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/3089241231925488775/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=3089241231925488775" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/3089241231925488775?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/3089241231925488775?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/ZIqofUX4gH4/from-pull-request-to-jira-issue.html" title="From a pull request to a jira issue" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://olamy.blogspot.com/2011/11/from-pull-request-to-jira-issue.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YFQHs9fCp7ImA9WhRSGU0.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-4798609806008399311</id><published>2011-11-21T12:33:00.000-08:00</published><updated>2011-11-21T12:58:31.564-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-21T12:58:31.564-08:00</app:edited><title>Life is too short to waste time uploading a patch or Maven Patch Tracker plugin</title><content type="html">Life is too short and you don't want to waste time contributing to a project (creating a patch, a entry in the jira issue tracker then upload the patch).&lt;br /&gt;So the Maven Patch Tracker plugin is for you !&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You will be able with a maven plugin to do all of this in one command line !&lt;br /&gt;Without any configuration you have to write :&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;mvn patch-tracker:create&lt;br /&gt;-Dpatch.summary="foo summary"&lt;br /&gt;-Dpatch.serverUrl=http://localhost:8080/browse/MNG  -B&lt;br /&gt;-Dpatch.user=uid -Dpatch.password=pwd&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;If you find that boring or too long no problem, there is a solution for that (yes good developer are lasy developers they use tool to automate tasks :-) ).&lt;br /&gt;So configure you pom, with the issue tracker id&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  &amp;lt;issueManagement&gt;&lt;br /&gt;    &amp;lt;system&gt;jira&amp;lt;/system&gt;&lt;br /&gt;    &amp;lt;url&gt;http://host:ip/browse/projectKey&amp;lt;/url&gt;&lt;br /&gt;  &amp;lt;/issueManagement&gt;&lt;br /&gt;&lt;/pre&gt; &lt;br /&gt;&lt;br /&gt;Add a server entry in you settings.xml&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   &amp;lt;server&gt;&lt;br /&gt;     &amp;lt;id&gt;jira-maven&amp;lt;/id&gt;&lt;br /&gt;     &amp;lt;username&gt;olamy&amp;lt;/username&gt;&lt;br /&gt;     &amp;lt;password&gt;very complicated password for paranoiac security folks&amp;lt;/password&gt;&lt;br /&gt;   &amp;lt;/server&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Reference this jira server in your pom:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  &amp;lt;properties&gt;&lt;br /&gt;    ....&lt;br /&gt;    &amp;lt;patch.tracker.serverId&gt;jira-maven&amp;lt;/patch.tracker.serverId&gt;&lt;br /&gt;    ....&lt;br /&gt;  &amp;lt;/properties&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Et voilà, just run and save fingers:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;mvn patch-tracker:create -Dpatch.summary="foo summary" -B&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE: without -B the plugin will use a prompt mode to ask you confirmation on the values&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;An other mojo called update can add/update an issue with an other patch:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;mvn patch-tracker:update -Dpatch.description="update of the issue with an other patch" -Dpatch.patchId=MNG-5203 -B&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This command will update the issue MNG-5203 with an other patch.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE: currently only jira is supported&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The plugin will use the configured scm client configured tru your scm url to generate the patch/diff file.&lt;br /&gt;So your project is configured with svn but for some reasons you use git svn. &lt;br /&gt;No problem add the parameter: -Dscm.providerType=git&lt;br /&gt;&lt;br /&gt;Other improvement I think: load the patch to review board.&lt;br /&gt;&lt;br /&gt;Something else ?&lt;br /&gt;Ideas and patches are welcome :-) &lt;br /&gt;&lt;br /&gt;You can test it using the snapshot repo: https://repository.apache.org/content/groups/snapshots-group/ or build it yourself: http://svn.apache.org/repos/asf/maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/&lt;br /&gt;&lt;br /&gt;Have Fun and good hacking!&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/XbzfVHa-yWc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/4798609806008399311/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=4798609806008399311" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/4798609806008399311?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/4798609806008399311?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/XbzfVHa-yWc/life-is-too-short-to-waste-time-loading.html" title="Life is too short to waste time uploading a patch or Maven Patch Tracker plugin" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>7</thr:total><feedburner:origLink>http://olamy.blogspot.com/2011/11/life-is-too-short-to-waste-time-loading.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cHSHo5eCp7ImA9WhdaFk8.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-4527241966549478880</id><published>2011-10-26T04:32:00.000-07:00</published><updated>2011-10-26T04:37:19.420-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-26T04:37:19.420-07:00</app:edited><title>Archiva 1.4-M1 released</title><content type="html">The Apache Archiva 1.4-M1 has been released.&lt;br /&gt;Some nice features added:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;It is now possible to create a staging repository for any managed repository and later merge the results.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;You can now use REST services to control Archiva or search for artifacts. See REST Services for more information.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Database storage for repository metadata has been replaced with a JCR repository based on Apache Jackrabbit by default (other options such as a flat-file storage may be made available in the future).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The search interface provide now the capability to search on OSGI metadata (based on the update of the Apache Maven Indexer library).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;You can now download Maven index content from remote repositories to include artifacts which are not present locally in your search results&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Full release notes available here: &lt;a target="_blank" href="http://archiva.apache.org/docs/1.4-M1/release-notes.html"&gt;http://archiva.apache.org/docs/1.4-M1/release-notes.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Download page: &lt;a target="_blank" href="http://archiva.apache.org/download.html"&gt;http://archiva.apache.org/download.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Have Fun and some nice new features will come soon :-)&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Apache Archiva, Archiva, Apache Maven, Maven, Apache are trademarks of The Apache Software Foundation.&lt;/i&gt;&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/LrC_Yeu6BEI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/4527241966549478880/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=4527241966549478880" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/4527241966549478880?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/4527241966549478880?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/LrC_Yeu6BEI/archiva-14-m1-released.html" title="Archiva 1.4-M1 released" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://olamy.blogspot.com/2011/10/archiva-14-m1-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQBRXY8eyp7ImA9WhdaEUU.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-4785556850920841671</id><published>2011-10-21T00:31:00.001-07:00</published><updated>2011-10-21T00:49:14.873-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-21T00:49:14.873-07:00</app:edited><title>Apache Tomcat Maven Plugin Features</title><content type="html">Recently I posted some informations regarding the &lt;a href="http://olamy.blogspot.com/2011/09/tomcat-maven-plugin-new-home-at-apache.html" target="_blank"&gt;move&lt;/a&gt; from codehaus to ASF of the Tomcat Maven plugin and about &lt;a href="http://olamy.blogspot.com/2011/10/tomcat-maven-plugin-now-supports.html" target="_blank"&gt;the support of tomcat7&lt;/a&gt; in trunk code.&lt;br /&gt;&lt;br /&gt;So now in this post, I'd like to talk of the features I prefer.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Run goal in multi modules with Maven3&lt;/h3&gt;&lt;br /&gt;Usually with Apache Maven, your application code is splitted in some modules to respect the Separation Of Concern paradigm.&lt;br /&gt;Something like :&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;root&lt;br /&gt;      pom.xml&lt;br /&gt;      foo-api&lt;br /&gt;                 pom.xml&lt;br /&gt;      foo-impl&lt;br /&gt;                 pom.xml&lt;br /&gt;      foo-webapp&lt;br /&gt;                 pom.xml&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;So to test your webapp  module you have to install all other modules first which is time/io consuming.&lt;br /&gt;Now with Apache Maven 3 and the Tomcat Maven Plugin (from Codehaus version 1.1 or now the 2.0-SNAPSHOT from Apache), you can simple use the goal run from  the root directory and the plugin will see various modules build output and include those automatically in the embeded tomcat in the webapp class loader.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Build a standalone executable war/jar&lt;/h3&gt;&lt;br /&gt;You can now build a standalone jar which will contains Apache Tomcat needed classes and your wars.&lt;br /&gt;See &lt;a href="http://tomcat.apache.org/maven-plugin-2.0-SNAPSHOT/executable-war-jar.html" target="_blank"&gt;documentation&lt;/a&gt;.&lt;br /&gt;This will produce a similar jar as for the Jenkins distribution.&lt;br /&gt;At the end you will be able to run the produced jar with a simple:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;java -jar yourjar&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And that's will start Apache Tomcat without need of any installations !&lt;br /&gt;&lt;br /&gt;NOTE: it's very recent feature based on my need :-)&lt;br /&gt;So all issues/feedback or some RFE are really welcome!&lt;br /&gt;&lt;br /&gt;Have Fun!&lt;br /&gt;--&lt;br /&gt;Olivier&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Apache Maven, Maven, Apache Tomcat, Tomcat, Apache are trademarks of The Apache Software Foundation.&lt;/i&gt;&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/tfB2u0NYvoU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/4785556850920841671/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=4785556850920841671" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/4785556850920841671?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/4785556850920841671?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/tfB2u0NYvoU/apache-tomcat-maven-plugin-features.html" title="Apache Tomcat Maven Plugin Features" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://olamy.blogspot.com/2011/10/apache-tomcat-maven-plugin-features.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUNR385fSp7ImA9WhdbEUs.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-677101186479805796</id><published>2011-10-09T05:06:00.000-07:00</published><updated>2011-10-09T05:28:16.125-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-09T05:28:16.125-07:00</app:edited><title>Tomcat Maven Plugin now supports tomcat7</title><content type="html">Hello,&lt;br /&gt;After moving the Tomcat Maven Plugin from Codehaus to Apache in the Tomcat land (see previous &lt;a href="http://olamy.blogspot.com/2011/09/tomcat-maven-plugin-new-home-at-apache.html" target="_blank"&gt;post&lt;/a&gt;), I have found some time to start hacking on it.&lt;br /&gt;The first feature I wanted to add was support of Apache Tomcat 7.x. So it's now implemented in trunk.&lt;br /&gt;You can test it see how to configure that in your poms: &lt;a target="_blank" href="http://tomcat.apache.org/maven-plugin-2.0-SNAPSHOT/snapshot-test.html"&gt;http://tomcat.apache.org/maven-plugin-2.0-SNAPSHOT/snapshot-test.html&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NOTE&lt;/span&gt; the important changes with the move to Apache and the support of Apache Tomcat 7.x:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;  &lt;li&gt;You know have two "mojos": tomcat6:* and tomcat7:$&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;The groupId is now: org.apache.tomcat.maven&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;All goals are not supported: I will work on that :-)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;So you can know use tomcat7 in embedded way within your Apache Maven build with: tomcat7:run.&lt;br /&gt;&lt;br /&gt;Feel free to report any issues: &lt;a href="https://issues.apache.org/jira/browse/MTOMCAT" target="_blank"&gt;https://issues.apache.org/jira/browse/MTOMCAT&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Have Fun!&lt;br /&gt;&lt;br /&gt;Apache Maven, Maven, Apache Tomcat, Tomcat, Apache are trademarks of The Apache Software Foundation.&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/HsL9UVa5Ck0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/677101186479805796/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=677101186479805796" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/677101186479805796?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/677101186479805796?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/HsL9UVa5Ck0/tomcat-maven-plugin-now-supports.html" title="Tomcat Maven Plugin now supports tomcat7" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://olamy.blogspot.com/2011/10/tomcat-maven-plugin-now-supports.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cEQHk8fSp7ImA9WhdUFk4.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-2450498013533455315</id><published>2011-10-03T01:29:00.000-07:00</published><updated>2011-10-03T01:36:41.775-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-03T01:36:41.775-07:00</app:edited><title>New default http(s) transport layer in maven core 3.x</title><content type="html">In the current maven core dev trunk, we have recently replace the http(s) transport layer from lightweight wagon (based on default jdk http(s) mechanism) to the wagon http module based on Apache httpclient [1].&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://olamy.blogspot.com/2011/09/maven-download-time-improvement.html" target="_blank"&gt;related post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This change include two improvements:&lt;br /&gt;* connection pool mechanism (to avoid http(s) connection recreation for each artifacts download).&lt;br /&gt;* preemptive authz mechanism which will prevent uploading artifacts twice.&lt;br /&gt;&lt;br /&gt;As it's important change in the core distribution, we like to have some feedbacks from users a SNAPSHOT distribution (based on rev 1178324) is available here : http://people.apache.org/~olamy/core/maven-3-r1178324/&lt;br /&gt;&lt;br /&gt;mvn -v display:  Apache Maven 3.0.4-SNAPSHOT (r1178324; 2011-10-03 10:07:26+0200)&lt;br /&gt;&lt;br /&gt;An other way to test it with maven3 is to download the shaded jar [2] and copy it in $M2_HOME/lib/ext.&lt;br /&gt;&lt;br /&gt;Feel free to test it and report any issues you will have with this new default http(s) transport layer.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks in advance for your testing time and have fun !&lt;br /&gt;--&lt;br /&gt;Olivier&lt;br /&gt;&lt;br /&gt;[1] http://hc.apache.org/httpcomponents-client-ga/index.html&lt;br /&gt;[2] http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http/2.0/wagon-http-2.0-shaded.jar&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/BVv6_NqYJeo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/2450498013533455315/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=2450498013533455315" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/2450498013533455315?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/2450498013533455315?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/BVv6_NqYJeo/new-default-https-transport-layer-in.html" title="New default http(s) transport layer in maven core 3.x" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://olamy.blogspot.com/2011/10/new-default-https-transport-layer-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8BR3c5fSp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-6667097791693747883</id><published>2011-09-29T12:57:00.000-07:00</published><updated>2011-09-29T13:07:36.925-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:07:36.925-07:00</app:edited><title>Apache Maven Wagon 2.0 released</title><content type="html">Apache Maven Wagon 2.0 has been released with some nice fixes/features.&lt;br /&gt;See full &lt;a href="http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10335&amp;version=17379" target="_blank"&gt;changelog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The most important features are :&lt;br /&gt;* using http(s) connection pooling: see my previous &lt;a href="http://olamy.blogspot.com/2011/09/maven-download-time-improvement.html" target="_blank"&gt;post&lt;/a&gt;.&lt;br /&gt;* support of preemptive authentication: yes this will prevent your artifacts to be uploaded twice (as it was done until this release)&lt;br /&gt;&lt;br /&gt;You can test that now. Download the shaded jar: &lt;a href="http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http/2.0/wagon-http-2.0-shaded.jar" target="_blank"&gt;wagon-http-2.0-shaded.jar&lt;/a&gt; and put it in your $M2_HOME/lib/ext (for maven 3+)  &lt;br /&gt;&lt;br /&gt;Note this version will part of Apache Maven official distribution in the next 3.0.4 release.&lt;br /&gt;&lt;br /&gt;Have Fun !&lt;br /&gt;--&lt;br /&gt;Olivier &lt;br /&gt;&lt;br /&gt;Apache Maven, Maven, Apache are trademarks of The Apache Software Foundation.&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/tQ7w0ZYLulw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/6667097791693747883/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=6667097791693747883" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/6667097791693747883?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/6667097791693747883?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/tQ7w0ZYLulw/apache-maven-wagon-20-released.html" title="Apache Maven Wagon 2.0 released" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://olamy.blogspot.com/2011/09/apache-maven-wagon-20-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4BQX47eyp7ImA9WhdVEkU.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-8442874388142804098</id><published>2011-09-17T09:47:00.001-07:00</published><updated>2011-09-17T11:25:50.003-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-17T11:25:50.003-07:00</app:edited><title>Maven Download time Improvement</title><content type="html">While working a bit on wagon (the api used in Apache Maven to download/upload artifacts), I wanted to reduce the http(s) connection creation number (see &lt;a href="http://jira.codehaus.org/browse/WAGON-348" target="_blank"&gt;WAGON-348&lt;/a&gt;).&lt;br /&gt;The current embedded http wagon in Maven Core is the lightweight one based on standard java libraries, this means http(s) connection are created for each download requests. As you know this socket creation can be time and resources consuming.&lt;br /&gt;So as we are working on wagon 2.0 version, I have added a connection pooling mechanism in the wagon http (which is now based on &lt;a href="http://hc.apache.org/httpcomponents-client-ga" target="_blank"&gt;Apache Http Client&lt;/a&gt;).&lt;br /&gt;To prevent some classloading issues, the wagon jar to used is a shaded one.&lt;br /&gt;You can test that now (with a maven 3.x version) with adding the jar in $M2_HOME/lib/ext/ :&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;wget -O wagon-http-2.0-SNAPSHOT-shaded.jar "https://repository.apache.org/content/groups/snapshots-group/org/apache/maven/wagon/wagon-http/2.0-SNAPSHOT/wagon-http-2.0-20110917.172345-31-shaded.jar" &lt;br /&gt;&amp;&amp; cp wagon-http-2.0-SNAPSHOT-shaded.jar $M2_HOME/lib/ext/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Test build available here : http://people.apache.org/~olamy/maven/.&lt;br /&gt;&lt;br /&gt;So a little improvement, don't be afraid you still will have time to drink one or two coffee when building a maven project :-).&lt;br /&gt;Note download time will be improved if you use more than one repositories and especially https repositories.&lt;br /&gt;&lt;br /&gt;Vote here if you want to have this in next maven core release : &lt;a href="http://jira.codehaus.org/browse/MNG-5175" target="_blank"&gt;http://jira.codehaus.org/browse/MNG-5175&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And all feedbacks will be appreciate :-) (even if it's an issue :-) )&lt;br /&gt;&lt;br /&gt;Have Fun !&lt;br /&gt;--&lt;br /&gt;Olivier &lt;br /&gt;&lt;br /&gt;Apache Maven, Maven, Apache are trademarks of The Apache Software Foundation.&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/rns2Fpd9UEw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/8442874388142804098/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=8442874388142804098" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/8442874388142804098?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/8442874388142804098?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/rns2Fpd9UEw/maven-download-time-improvement.html" title="Maven Download time Improvement" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>7</thr:total><feedburner:origLink>http://olamy.blogspot.com/2011/09/maven-download-time-improvement.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQGQHo7fCp7ImA9WhdWFEQ.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-6437911087125967811</id><published>2011-09-08T06:50:00.000-07:00</published><updated>2011-09-08T06:58:41.404-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-08T06:58:41.404-07:00</app:edited><title>Tomcat Maven Plugin New Home at Apache Software Foundation</title><content type="html">The Tomcat Maven Plugin has now a new Home at Apache Software Foundation.&lt;br /&gt;The home is located &lt;a href="http://tomcat.apache.org/maven-plugin.html" target="_blank"&gt;here &lt;/a&gt;.&lt;br /&gt;You will find some details on :&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Sources location&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Bug Tracker location&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Some more cleanups need to be done to finish the Apache Branding.&lt;br /&gt;Next steps (new features) will be :&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Support of Apache Tomcat7 trough a new mojo : tomcat7:*&lt;/li&gt;&lt;br /&gt;&lt;li&gt;New mojo to be able to build an executable war with an embedded tomcat inside to be able to do : java -jar mywar.war&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;All feedbacks will be appreciate.&lt;br /&gt;Have Fun.&lt;br /&gt;&lt;br /&gt;Apache Maven, Maven, Apache Tomcat, Tomcat, Apache are trademarks of The Apache Software Foundation.&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/ew9CExyA210" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/6437911087125967811/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=6437911087125967811" title="11 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/6437911087125967811?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/6437911087125967811?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/ew9CExyA210/tomcat-maven-plugin-new-home-at-apache.html" title="Tomcat Maven Plugin New Home at Apache Software Foundation" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>11</thr:total><feedburner:origLink>http://olamy.blogspot.com/2011/09/tomcat-maven-plugin-new-home-at-apache.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8FRHw9eSp7ImA9WhdWEk0.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-2562769700181348722</id><published>2011-09-04T23:59:00.000-07:00</published><updated>2011-09-05T00:30:15.261-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-05T00:30:15.261-07:00</app:edited><title>Maven Archetype Plugin 2.1 very useful feature</title><content type="html">Maven Archetype Plugin 2.1 has just been released and contains a very (IMHO) useful feature.
&lt;br /&gt;Usually when you use this plugin with generate goal, you have a very huge list of available archetypes (a non human readable list :-) ).
&lt;br /&gt;&lt;pre&gt;
&lt;br /&gt;mvn archetype:generate 
&lt;br /&gt;here the output :
&lt;br /&gt;.....
&lt;br /&gt;444: remote -&gt; se.vgregion.javg.maven.archetypes:javg-minimal-archetype (-)
&lt;br /&gt;&lt;/pre&gt;
&lt;br /&gt;Yes around 450 possible archetypes. Do you have configured enough scrolling in your console to review all ?: -).
&lt;br /&gt;So now with 2.1 release it's possible to apply some filtering :
&lt;br /&gt;&lt;ul&gt;
&lt;br /&gt;  &lt;li&gt;with a mojo parameter&lt;/li&gt;
&lt;br /&gt;  &lt;li&gt;in the prompt&lt;/li&gt;
&lt;br /&gt;&lt;/ul&gt;
&lt;br /&gt;You can filter on the groupId and/or the artifactId. 
&lt;br /&gt;The documentation is available &lt;a href="http://maven.apache.org/archetype/maven-archetype-plugin/usage.html" target="_blank"&gt;here&lt;/a&gt;. 
&lt;br /&gt;My bad !. The official documentation has a typo.
&lt;br /&gt;You must read : mvn archetype:generate -Dfilter=org.apache:struts (and not mvn archetype:generate -Dorg.apache:struts).
&lt;br /&gt;So this feature is pretty cool to reduce the archetypes list when you know a part of what type of project type you want to create.
&lt;br /&gt;A sample, you want to create a gwt project. 
&lt;br /&gt;So simply use :
&lt;br /&gt;&lt;pre&gt;
&lt;br /&gt; mvn archetype:generate -Dfilter=:gwt
&lt;br /&gt;The output list is reduce :
&lt;br /&gt;Choose archetype:
&lt;br /&gt;1: remote -&gt; net.kindleit:gae-archetype-gwt (-)
&lt;br /&gt;2: remote -&gt; net.sf.mgp:maven-archetype-gwt (An archetype which contains a sample Maven GWT project.)
&lt;br /&gt;3: remote -&gt; org.codehaus.mojo:gwt-maven-plugin (Maven plugin for the Google Web Toolkit.)
&lt;br /&gt;4: remote -&gt; org.codehaus.sonar.archetypes:sonar-gwt-plugin-archetype (-)
&lt;br /&gt;5: remote -&gt; org.geomajas:geomajas-gwt-archetype (-)
&lt;br /&gt;Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 
&lt;br /&gt;&lt;/pre&gt;
&lt;br /&gt;Note you can enter an other filter to reduce the list
&lt;br /&gt;&lt;pre&gt;
&lt;br /&gt;Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : maven
&lt;br /&gt;Choose archetype:
&lt;br /&gt;1: remote -&gt; net.sf.mgp:maven-archetype-gwt (An archetype which contains a sample Maven GWT project.)
&lt;br /&gt;2: remote -&gt; org.codehaus.mojo:gwt-maven-plugin (Maven plugin for the Google Web Toolkit.)
&lt;br /&gt;Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): :
&lt;br /&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;You can filtering on groupId.
&lt;br /&gt;I want an artifact with gwt coming from codehaus :
&lt;br /&gt;&lt;pre&gt;
&lt;br /&gt;mvn archetype:generate -Dfilter=org.codehaus:gwt
&lt;br /&gt;The output list :
&lt;br /&gt;Choose archetype:
&lt;br /&gt;1: remote -&gt; org.codehaus.mojo:gwt-maven-plugin (Maven plugin for the Google Web Toolkit.)
&lt;br /&gt;2: remote -&gt; org.codehaus.sonar.archetypes:sonar-gwt-plugin-archetype (-)
&lt;br /&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;Have Fun !
&lt;br /&gt;
&lt;br /&gt;Apache Maven, Maven, Apache are trademarks of The Apache Software Foundation.&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/v5du7xELhKo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/2562769700181348722/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=2562769700181348722" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/2562769700181348722?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/2562769700181348722?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/v5du7xELhKo/maven-archetype-plugin-21-very-useful.html" title="Maven Archetype Plugin 2.1 very useful feature" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://olamy.blogspot.com/2011/09/maven-archetype-plugin-21-very-useful.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UHQHw_fSp7ImA9WhZbE00.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-1863690665938576547</id><published>2011-06-17T01:50:00.000-07:00</published><updated>2011-06-17T02:00:31.245-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-17T02:00:31.245-07:00</app:edited><title>Selenium Maven Plugin upgrade to Selenium Server 2.x</title><content type="html">The current selenium-maven-plugin from Codehaus Mojo has been updated to use selenium server 2.0rc2. So you will be able to use now selenium 2.x feature.&lt;br /&gt;The Mojo version has been upgraded to 2.0-SNAPSHOT.&lt;br /&gt;So feel free to test and report any issue.&lt;br /&gt;To test it :&lt;br /&gt;Add the codehaus snapshot repo in your pom :&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  &amp;lt;pluginRepositories&gt;&lt;br /&gt;    &amp;lt;pluginRepository&gt;&lt;br /&gt;      &amp;lt;id&gt;codehaus.snapshots&amp;lt;/id&gt;&lt;br /&gt;      &amp;lt;url&gt;https://nexus.codehaus.org/content/repositories/snapshots/&amp;lt;/url&gt;&lt;br /&gt;      &amp;lt;releases&gt;&lt;br /&gt;        &amp;lt;enabled&gt;false&amp;lt;/enabled&gt;&lt;br /&gt;      &amp;lt;/releases&gt;&lt;br /&gt;      &amp;lt;snapshots&gt;&lt;br /&gt;        &amp;lt;enabled&gt;true&amp;lt;/enabled&gt;&lt;br /&gt;      &amp;lt;/snapshots&gt;&lt;br /&gt;    &amp;lt;/pluginRepository&gt;&lt;br /&gt;  &amp;lt;/pluginRepositories&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Configure the mojo version&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  &amp;lt;pluginManagement&gt;&lt;br /&gt;    &amp;lt;plugins&gt;&lt;br /&gt;      &amp;lt;plugin&gt;&lt;br /&gt;        &amp;lt;groupId&gt;org.codehaus.mojo&amp;lt;/groupId&gt;&lt;br /&gt;        &amp;lt;artifactId&gt;selenium-maven-plugin&amp;lt;/artifactId&gt;&lt;br /&gt;        &amp;lt;version&gt;${seleniumPluginVersion}&amp;lt;/version&gt;&lt;br /&gt;      &amp;lt;/plugin&gt;&lt;br /&gt;    &amp;lt;/plugins&gt;&lt;br /&gt;  &amp;lt;/pluginManagement&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So have Fun.&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/GhVKAp0YWJY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/1863690665938576547/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=1863690665938576547" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/1863690665938576547?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/1863690665938576547?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/GhVKAp0YWJY/selenium-maven-plugin-upgrade-to.html" title="Selenium Maven Plugin upgrade to Selenium Server 2.x" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://olamy.blogspot.com/2011/06/selenium-maven-plugin-upgrade-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEEQ347eip7ImA9WhZRF0w.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-88509449067204792</id><published>2011-04-13T09:23:00.001-07:00</published><updated>2011-04-13T09:36:42.002-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-13T09:36:42.002-07:00</app:edited><title>Deploying in cloudbees @RUN with a Jenkins Plugin</title><content type="html">Currently the way to deploy your application in &lt;a href="http://cloudbees.com/" target="_blank"&gt;cloudbees&lt;/a&gt; @RUN was trough the &lt;a href="https://cloudbees.zendesk.com/entries/414109-cloudbees-sdk" target="_blank"&gt;cloudbees sdk&lt;/a&gt; or a &lt;a href="https://cloudbees.zendesk.com/entries/421064-maven-guide" target="_blank"&gt;maven plugin&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now you will be able to do it with a Jenkins Plugin configured in your Jenkins job.&lt;br /&gt;Currently it's not yet released but a build version is available &lt;a href="http://people.apache.org/~olamy/jenkins/cloudbees-deployer-plugin.hpi" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Have a look at this &lt;a href="http://people.apache.org/~olamy/jenkins/cloudbees/cloudbees-deployer-movie.htm" target="_blank"&gt;movie&lt;/a&gt;. Note it's a huge movie with some suspens : so take a pop corn box and be patient :-).&lt;br /&gt;&lt;br /&gt;Sources are available here : &lt;a href="https://github.com/olamy/cloudbees-deployer-plugin"&gt;https://github.com/olamy/cloudbees-deployer-plugin&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The plugin uses the cloudbess client api available here : &lt;a href="https://github.com/cloudbees/cloudbees-api-client"&gt;https://github.com/cloudbees/cloudbees-api-client&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Feel free to test it and report any issues or new features you'd like to see.&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://cloudbees.com/" target="_blank"&gt;cloudbees&lt;/a&gt; for the sponsorship of this developpement.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Have Fun and onward ! :-)&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/dGi0YnZBlLc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/88509449067204792/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=88509449067204792" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/88509449067204792?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/88509449067204792?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/dGi0YnZBlLc/deploying-in-cloudbees-run-with-jenkins.html" title="Deploying in cloudbees @RUN with a Jenkins Plugin" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://olamy.blogspot.com/2011/04/deploying-in-cloudbees-run-with-jenkins.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEHQns7fip7ImA9WhZRFU0.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-6531685809986867383</id><published>2011-03-25T04:00:00.001-07:00</published><updated>2011-04-11T00:40:33.506-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-11T00:40:33.506-07:00</app:edited><title>Maven buildnumber plugin will support other scm : git mercurial</title><content type="html">Some of you are probably using the &lt;a target="_blank" href="http://mojo.codehaus.org/buildnumber-maven-plugin/"&gt;buildnumber-maven-plugin&lt;/a&gt; from codehaus to get a scm id.&lt;br /&gt;The current released version 1.0-beta-4 is very svn centric.&lt;br /&gt;So the current trunk has been improved to be able to support more scm : git, hg (mercurial).&lt;br /&gt;The info command (yes an another svn centric name :-) ) has been implemented in &lt;a target="_blank" href="http://maven.apache.org/scm/"&gt;Apache Maven Scm&lt;/a&gt;. Sure all scms are not supported but having at least svn, git and hg is a good start.&lt;br /&gt;&lt;br /&gt;So you can test this new feature with a snapshot version : 1.0-beta-5-SNAPSHOT.&lt;br /&gt;&lt;br /&gt;Note : to test this, you must be able to download some snapshots from various places (yes Apache Maven download the whole internet :P ).&lt;br /&gt;So if you use a repo manager, you must add the following repositories :&lt;br /&gt;* https://repository.apache.org/content/groups/snapshots-group/ (for maven scm snapshots)&lt;br /&gt;* https://nexus.codehaus.org/content/repositories/snapshots (for the buildnumber plugin snapshot)&lt;br /&gt;* https://oss.sonatype.org/content/repositories/snapshots (for &lt;a href="http://code.google.com/a/apache-extras.org/p/maven-scm-provider-svnjava/"&gt;maven-scm-provider-svnjava&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Update 11 April 2011&lt;/span&gt; : version 1.0 released and available in central repo.&lt;br /&gt;&lt;br /&gt;So have Fun and do not hesitate to report any issues :-)&lt;br /&gt;--&lt;br /&gt;Olivier&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/Mw_Z31DFzPI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/6531685809986867383/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=6531685809986867383" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/6531685809986867383?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/6531685809986867383?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/Mw_Z31DFzPI/maven-buildnumber-plugin-will-support.html" title="Maven buildnumber plugin will support other scm : git mercurial" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://olamy.blogspot.com/2011/03/maven-buildnumber-plugin-will-support.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYCQnszeyp7ImA9Wx9aGUw.&quot;"><id>tag:blogger.com,1999:blog-2243705636208447360.post-9165126829942201467</id><published>2011-02-24T02:13:00.000-08:00</published><updated>2011-03-11T23:49:23.583-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-11T23:49:23.583-08:00</app:edited><title>Maven Surefire executing only one test method in a test class</title><content type="html">I have just worked on a improvement in Apache Maven Surefire Plugin.&lt;br /&gt;Most of the time you have a test class which contains a lot of test methods.&lt;br /&gt;When only one failed you have to execute all methods of the class (with -Dtest=MyClass) &lt;br /&gt;This can be long and boring :-).&lt;br /&gt;&lt;br /&gt;So now (see [1]), you will be able to use -Dtest=MyClass#myMethod to execute only the method called myMethod from the test class MyClass.&lt;br /&gt;&lt;br /&gt;The feature has been pushed in a github fork [2].&lt;br /&gt;Why in a github fork :  I'd like to have feedback fast :-)&lt;br /&gt;&lt;br /&gt;So how to test it ? :&lt;br /&gt;&lt;br /&gt;Get the sources :&lt;br /&gt;&lt;br /&gt;git clone git://github.com/olamy/maven-surefire.git&lt;br /&gt;cd maven-surefire&lt;br /&gt;mvn clean install (add -DskipTests if you don't want to execute all integration tests).&lt;br /&gt;&lt;br /&gt;Update you pom :&lt;br /&gt;&lt;br /&gt;&amp;lt;plugin&gt;&lt;br /&gt;  &amp;lt;groupId&gt;org.apache.maven.plugins&amp;lt;/groupId&gt;&lt;br /&gt;  &amp;lt;artifactId&gt;maven-surefire-plugin&amp;lt;/artifactId&gt;&lt;br /&gt;  &amp;lt;version&gt;2.7.3-SNAPSHOT&amp;lt;/version&gt;&lt;br /&gt;&amp;lt;/plugin&gt;&lt;br /&gt;&lt;br /&gt;And now test it :-)&lt;br /&gt;&lt;br /&gt;-Dtest=MyTestClass#myMethod (note the support of * : -Dtest=MyTestClass#*Method )&lt;br /&gt;&lt;br /&gt;NOTE : supported only for junit 4.x&lt;br /&gt;&lt;br /&gt;Update : now supported for testng too.&lt;br /&gt;&lt;br /&gt;Update 25 Feb : merged in ASF svn repo &lt;a href="http://svn.apache.org/viewvc?view=revision&amp;revision=1074633"&gt;http://svn.apache.org/viewvc?view=revision&amp;revision=1074633&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Update 12 March : released in surefire 2.8 (Yeahhh :-) )&lt;br /&gt;&lt;br /&gt;Have Fun ! (and don't miss to put feedback in case of issues)&lt;br /&gt;--&lt;br /&gt;Olivier&lt;br /&gt;&lt;br /&gt;[1] &lt;a target="_blank" href="http://jira.codehaus.org/browse/SUREFIRE-577"&gt;http://jira.codehaus.org/browse/SUREFIRE-577&lt;/a&gt;&lt;br /&gt;[2] &lt;a target="_blank" href="https://github.com/olamy/maven-surefire"&gt;https://github.com/olamy/maven-surefire&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/OlamyAtApacheDotOrg/~4/qgM_jbW_m4s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://olamy.blogspot.com/feeds/9165126829942201467/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2243705636208447360&amp;postID=9165126829942201467" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/9165126829942201467?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2243705636208447360/posts/default/9165126829942201467?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OlamyAtApacheDotOrg/~3/qgM_jbW_m4s/maven-surefire-executing-only-one-test.html" title="Maven Surefire executing only one test method in a test class" /><author><name>olamy</name><uri>http://www.blogger.com/profile/16588396647999780714</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/-UrL9Q2dPJjc/T7d0MAVvtLI/AAAAAAAAB-A/7VvJvQ-2eYc/s220/face.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://olamy.blogspot.com/2011/02/maven-surefire-executing-only-one-test.html</feedburner:origLink></entry></feed>
