You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Max Bowsher (JIRA)" <ji...@codehaus.org> on 2007/11/30 16:05:57 UTC

[jira] Reopened: (MECLIPSE-294) Sort items in the generated .classpath

     [ http://jira.codehaus.org/browse/MECLIPSE-294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Max Bowsher reopened MECLIPSE-294:
----------------------------------


Reopening. Not a duplicate of MECLIPSE-152. Related, but the fix applied for that does not fix the issue here.

The MECLIPSE-152 fix sorts only by artifactId. A proper fix for this issue must define an ordering taking into account (groupId, artifactId, type, classifier) - i.e. all the components of a dependencyConflictId. There's no particular need for these 4 sort keys to be in any particular order, though, so this issue isn't in conflict with MECLIPSE-152, which requires that artifactId have a higher sort priority than groupId.

I propose that this issue should be fixed by extending the logic introduced for MECLIPSE-152 to sort not just on artifactId, but on artifactId+classifier+type+groupId in that order.

> Sort items in the generated .classpath
> --------------------------------------
>
>                 Key: MECLIPSE-294
>                 URL: http://jira.codehaus.org/browse/MECLIPSE-294
>             Project: Maven 2.x Eclipse Plugin
>          Issue Type: Improvement
>    Affects Versions: 2.3
>            Reporter: Max Bowsher
>            Assignee: Arnaud Heritier
>             Fix For: 2.5
>
>         Attachments: eclipse-sort.patch
>
>
> Currently, the ordering of items on the generated .classpath is controlled by the JVM's HashSet ordering.
> One effect of this is that the project-07 and project-33 tests are currently commented out, because it's impossible to write an expected/.classpath file that works everywhere.
> More generally, it's bad that the classpath ordering can vary between platforms and JVM orderings.
> Therefore, I think it would be a good idea to sort the classpath. This would be done by invoking Collections.sort in AbstractIdeSupportMojo.doDependencyResolution. IdeDependency already implements Comparable, on the basis of groupId+artifactId+type. Classifier should be added to the properties considered in compareTo.
> Patch attached as described above.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira