Yes I view the spring style different artifactIds as a temporary thing as things make the transition to OSGi  - that would be fair to say? <br><br><div class="gmail_quote">On Wed, Jan 20, 2010 at 8:09 AM, Geoffrey De Smet <span dir="ltr">&lt;<a href="mailto:ge0ffrey.spam@gmail.com">ge0ffrey.spam@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi guys,<br>
<br>
 From the Maven book:<br>
&quot;when groupId  or artifactId are different, Maven will consider this to<br>
be two different libraries&quot;<br>
<br>
&quot;The groupId or artifactId of the artifact has changed, where the<br>
current project requires an alternately named version from a<br>
dependency&#39;s version - resulting in 2 copies of the same project in the<br>
classpath. Normally Maven would capture this conflict and use a single<br>
version of the project, but when groupId  or artifactId are different,<br>
Maven will consider this to be two different libraries.&quot;<br>
from<br>
<a href="http://www.sonatype.com/books/mvnref-book/reference/pom-relationships-sect-conflict.html" target="_blank">http://www.sonatype.com/books/mvnref-book/reference/pom-relationships-sect-conflict.html</a><br>
<br>
I&#39;ve seen the classifierId for osgi dependencies of mule etc.<br>
<br>
The maven guys are definitely taking the OSGi story serious:<br>
<a href="http://www.sonatype.com/people/2009/03/the-future-of-maven-osgi-join-the-tycho-users-mailing-list/" target="_blank">http://www.sonatype.com/people/2009/03/the-future-of-maven-osgi-join-the-tycho-users-mailing-list/</a><br>

and surely there must be a better way then duplicating everything under<br>
a different groupId-artifactId like SpringSource&#39;s workaround for now?<br>
<div class="im"><br>
With kind regards,<br>
Geoffrey De Smet<br>
<br>
<br>
</div>Mark Proctor schreef:<br>
<div class="im">&gt; On 17/01/2010 22:53, Michael Neale wrote:<br>
&gt;&gt; hmm... I wonder if a script can automate that.<br>
&gt; it can yes. Actually you could make a script to automate the re-packing<br>
&gt; of all our depencies, without having to point to springsource ones. The<br>
&gt; main thing to remember is the main jar you are wrapping must be<br>
&gt; unzipped, but just look at the jxls, smooks and mvel examples I did to<br>
&gt; see what i mean. PaxConstruct attempts to help with this automation:<br>
&gt; <a href="http://wiki.ops4j.org/display/paxconstruct/Pax+Construct" target="_blank">http://wiki.ops4j.org/display/paxconstruct/Pax+Construct</a><br>
&gt;<br>
&gt; Geoffrey feels we should differentiate the repackaged bundles by a<br>
&gt; classifier and not by an artifactid prefix.<br>
&gt;<br>
&gt; Mark<br>
&gt;&gt;<br>
&gt;&gt; On Mon, Jan 18, 2010 at 9:48 AM, Mark Proctor &lt;<a href="mailto:mproctor@codehaus.org">mproctor@codehaus.org</a><br>
</div><div class="im">&gt;&gt; &lt;mailto:<a href="mailto:mproctor@codehaus.org">mproctor@codehaus.org</a>&gt;&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;     On 17/01/2010 21:57, Michael Neale wrote:<br>
&gt;&gt;&gt;     I don&#39;t understand why the groupIds had to change - I assume it<br>
&gt;&gt;&gt;     is to pick up the osgi-ified versions - but why do the names have<br>
&gt;&gt;&gt;     to change so dramatically? (and I don&#39;t think it should break<br>
&gt;&gt;&gt;     things - that seems a mistake).<br>
&gt;&gt;     I can revert trunk back to the origianl deps, and maintain a<br>
&gt;&gt;     module by hand that has all the osgi versions. We just need to<br>
&gt;&gt;     remember to keep them in sync.<br>
&gt;&gt;<br>
&gt;&gt;     Mark<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;     On Mon, Jan 18, 2010 at 6:02 AM, Geoffrey De Smet<br>
</div><div><div></div><div class="h5">&gt;&gt;&gt;     &lt;<a href="mailto:ge0ffrey.spam@gmail.com">ge0ffrey.spam@gmail.com</a> &lt;mailto:<a href="mailto:ge0ffrey.spam@gmail.com">ge0ffrey.spam@gmail.com</a>&gt;&gt; wrote:<br>

&gt;&gt;&gt;<br>
&gt;&gt;&gt;         Hi guys,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;         The OSGi ready commit on trunk of a couple of days ago,<br>
&gt;&gt;&gt;         changed many<br>
&gt;&gt;&gt;         pom.xml files, including the Drools core and Drools Planner<br>
&gt;&gt;&gt;         pom.xml&#39;s.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;         For example, something like this:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;         &lt;dependency&gt;<br>
&gt;&gt;&gt;           &lt;groupId&gt;commons-lang&lt;/groupId&gt;<br>
&gt;&gt;&gt;           &lt;artifactId&gt;commons-lang&lt;/artifactId&gt;<br>
&gt;&gt;&gt;         &lt;/dependency&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;         Became:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;         &lt;dependency&gt;<br>
&gt;&gt;&gt;           &lt;groupId&gt;org.apache.commons&lt;/groupId&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;         &lt;artifactId&gt;com.springsource.org.apache.commons.lang&lt;/artifactId&gt;<br>
&gt;&gt;&gt;         &lt;/dependency&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;         See for example this pom.xml file:<br>
&gt;&gt;&gt;         <a href="http://fisheye.jboss.org/browse/JBossRules/trunk/drools-planner/drools-planner-core/pom.xml?r1=30817&amp;r2=31054" target="_blank">http://fisheye.jboss.org/browse/JBossRules/trunk/drools-planner/drools-planner-core/pom.xml?r1=30817&amp;r2=31054</a><br>

&gt;&gt;&gt;         &lt;<a href="http://fisheye.jboss.org/browse/JBossRules/trunk/drools-planner/drools-planner-core/pom.xml?r1=30817&amp;r2=31054" target="_blank">http://fisheye.jboss.org/browse/JBossRules/trunk/drools-planner/drools-planner-core/pom.xml?r1=30817&amp;r2=31054</a>&gt;<br>

&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;         This gives rise to 2 problems:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;         1) It uses different groupId:artifactId&#39;s!<br>
&gt;&gt;&gt;         The ramifications of this are big &amp; very backward incompatible:<br>
&gt;&gt;&gt;         Lets say project X depends on drools:<br>
&gt;&gt;&gt;         - X excludes commons-lang:commons-lang from the drools<br>
&gt;&gt;&gt;         dependency, now<br>
&gt;&gt;&gt;         he&#39;ll get it anyway, because<br>
&gt;&gt;&gt;         org.apache.commons:com.springsource.org.apache.commons.lang<br>
&gt;&gt;&gt;         is something<br>
&gt;&gt;&gt;         else<br>
&gt;&gt;&gt;         - X depends on commons-lang:commons-lang, now he&#39;ll get it twice<br>
&gt;&gt;&gt;         - X depends on commons-lang:commons-lang in a different<br>
&gt;&gt;&gt;         version, now<br>
&gt;&gt;&gt;         he&#39;ll get it twice and maven will not get a change to do version<br>
&gt;&gt;&gt;         conflict resolution (picking the highest), now he&#39;ll get it twice<br>
&gt;&gt;&gt;         and drools might end up being run with a too low commons-lang<br>
&gt;&gt;&gt;         version!<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;         Remember: most users don&#39;t use OSGi and don&#39;t like a<br>
&gt;&gt;&gt;         &quot;com.springsource&quot;<br>
&gt;&gt;&gt;         in their artifactId&#39;s.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;         2) Build problems too apparently:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;         &lt;nheron&gt; Project ID: org.drools.planner:drools-planner-core<br>
&gt;&gt;&gt;         &lt;nheron&gt; POM Location:<br>
&gt;&gt;&gt;         /home/nheron/workspace-IntellJ-planner/drools-planner-core/pom.xml<br>
&gt;&gt;&gt;         &lt;nheron&gt; Validation Messages:<br>
&gt;&gt;&gt;         &lt;nheron&gt;     [0]  &#39;dependencies.dependency.version&#39; is<br>
&gt;&gt;&gt;         missing for<br>
&gt;&gt;&gt;         org.apache.commons:com.springsource.org.apache.commons.lang<br>
&gt;&gt;&gt;         &lt;nheron&gt;     [1]  &#39;dependencies.dependency.version&#39; is<br>
&gt;&gt;&gt;         missing for<br>
&gt;&gt;&gt;         org.apache.commons:<a href="http://com.springsource.org.apache.commons.io" target="_blank">com.springsource.org.apache.commons.io</a><br>
</div></div>&gt;&gt;&gt;         &lt;<a href="http://com.springsource.org.apache.commons.io" target="_blank">http://com.springsource.org.apache.commons.io</a>&gt;<br>
<div class="im">&gt;&gt;&gt;         &lt;nheron&gt;     [2]  &#39;dependencies.dependency.version&#39; is<br>
&gt;&gt;&gt;         missing for<br>
&gt;&gt;&gt;         com.thoughtworks.xstream:com.springsource.com.thoughtworks.xstream<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;         Because it is backward incompatible, I propose to shelve the<br>
&gt;&gt;&gt;         OSGi ready<br>
&gt;&gt;&gt;         changes till drools 6.0?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;         --<br>
&gt;&gt;&gt;         With kind regards,<br>
&gt;&gt;&gt;         Geoffrey De Smet<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;         _______________________________________________<br>
&gt;&gt;&gt;         rules-dev mailing list<br>
</div>&gt;&gt;&gt;         <a href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a>&gt;<br>
<div class="im">&gt;&gt;&gt;         <a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;     --<br>
&gt;&gt;&gt;     Michael D Neale<br>
</div>&gt;&gt;&gt;     home: <a href="http://www.michaelneale.net" target="_blank">www.michaelneale.net</a> &lt;<a href="http://www.michaelneale.net" target="_blank">http://www.michaelneale.net</a>&gt;<br>
&gt;&gt;&gt;     blog: <a href="http://michaelneale.blogspot.com" target="_blank">michaelneale.blogspot.com</a> &lt;<a href="http://michaelneale.blogspot.com" target="_blank">http://michaelneale.blogspot.com</a>&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;     _______________________________________________<br>
&gt;&gt;&gt;     rules-dev mailing list<br>
&gt;&gt;&gt;     <a href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a>&gt;<br>
<div class="im">&gt;&gt;&gt;     <a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;     _______________________________________________<br>
&gt;&gt;     rules-dev mailing list<br>
</div>&gt;&gt;     <a href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a>&gt;<br>
<div class="im">&gt;&gt;     <a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Michael D Neale<br>
</div>&gt;&gt; home: <a href="http://www.michaelneale.net" target="_blank">www.michaelneale.net</a> &lt;<a href="http://www.michaelneale.net" target="_blank">http://www.michaelneale.net</a>&gt;<br>
&gt;&gt; blog: <a href="http://michaelneale.blogspot.com" target="_blank">michaelneale.blogspot.com</a> &lt;<a href="http://michaelneale.blogspot.com" target="_blank">http://michaelneale.blogspot.com</a>&gt;<br>
<div class="im">&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; rules-dev mailing list<br>
&gt;&gt; <a href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; ------------------------------------------------------------------------<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; rules-dev mailing list<br>
&gt; <a href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a><br>
<br>
</div><div><div></div><div class="h5">_______________________________________________<br>
rules-dev mailing list<br>
<a href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Michael D Neale<br>home: <a href="http://www.michaelneale.net">www.michaelneale.net</a><br>blog: <a href="http://michaelneale.blogspot.com">michaelneale.blogspot.com</a><br>