You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Matthew Watson (JIRA)" <ji...@codehaus.org> on 2009/05/04 04:39:45 UTC

[jira] Issue Comment Edited: (MECLIPSE-557) eclipse:to-maven produces unusable jars (jars containing jars)

    [ http://jira.codehaus.org/browse/MECLIPSE-557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=175010#action_175010 ] 

Matthew Watson edited comment on MECLIPSE-557 at 5/3/09 9:38 PM:
-----------------------------------------------------------------

This patch (patch3) creates another plugin and model for each contained jar and adds them as a dependency on the containing model.

This works around the jar signing issues by leaving the jars alone.

Each sub-jar is given the group id of the parent with the artifact id appended (with a ".") and their own artifact id is the name of the jar.

For junit, this produces (along with appropriate poms:
org/junit/3.8.2/junit.jar (which is simply a zip of the eclipse plugin directory)
org/junit/junit/3.8.2/junit.jar (which is the contained jar itself)

for org.eclipse.emf.teneo.hibernate we get:
org/eclipse/emf/teneo/hibernate/1.0.1/hibernate-1.0.1.jar: the zipped plugin directory
org/eclipse/emf/teneo/hibernate/org.eclipse.emf.teneo.hibernate/1.0.1/org.eclipse.emf.teneo.hibernate-1.0.1.jar
org/eclipse/emf/teneo/hibernate/org.eclipse.emf.teneo.hibernate.extra/1.0.1/org.eclipse.emf.teneo.hibernate.extra-1.0.1.jar

The idea is that no-one should depend on the sub-jar poms directly, only transitively via the containing pom.
This works for all my usage cases.

      was (Author: mattw_watson):
    This patch creates another plugin and model for each contained jar and adds them as a dependency on the containing model.

This works around the jar signing issues by leaving the jars alone.

Each sub-jar is given the group id of the parent with the artifact id appended (with a ".") and their own artifact id is the name of the jar.

For junit, this produces (along with appropriate poms:
org/junit/3.8.2/junit.jar (which is simply a zip of the eclipse plugin directory)
org/junit/junit/3.8.2/junit.jar (which is the contained jar itself)

for org.eclipse.emf.teneo.hibernate we get:
org/eclipse/emf/teneo/hibernate/1.0.1/hibernate-1.0.1.jar: the zipped plugin directory
org/eclipse/emf/teneo/hibernate/org.eclipse.emf.teneo.hibernate/1.0.1/org.eclipse.emf.teneo.hibernate-1.0.1.jar
org/eclipse/emf/teneo/hibernate/org.eclipse.emf.teneo.hibernate.extra/1.0.1/org.eclipse.emf.teneo.hibernate.extra-1.0.1.jar

The idea is that no-one should depend on the sub-jar poms directly, only transitively via the containing pom.
This works for all my usage cases.
  
> eclipse:to-maven produces unusable jars (jars containing jars)
> --------------------------------------------------------------
>
>                 Key: MECLIPSE-557
>                 URL: http://jira.codehaus.org/browse/MECLIPSE-557
>             Project: Maven 2.x Eclipse Plugin
>          Issue Type: Bug
>          Components: Core : .project, OSGi, Manifest
>    Affects Versions: 2.6
>         Environment: Linux, Suse 10.x, maven 2.0.x. jdk 1.6.0_10, eclipse-jee-ganymede-SR2-linux-gtk (3.4.2)
>            Reporter: Matthew Watson
>         Attachments: patch, patch2, patch3
>
>
> The eclipse install contains plugins that are actually directories, which contain the plugin.xml etc and a jar file (for example: org.hibernate.eclipse_3.2.3.GA, org.junit4_4.3.1) or more than one jar file (e.g. org.eclipse.emf.teneo.hibernate_1.0.1.v200809211527)
> eclipse:to-maven simply jars up the directory when it puts it in the repository, which means all the classes in the jar(s) inside are unreachable.
> I am not sure what a suitable behaviour is - I have expanded the jars in org.eclipse.emf.teneo.hibernate_1.0.1.v200809211527 and re-jarred it and it then works fine in maven, so this may be a (optional) solution.

-- 
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