POM packaging not always mapped to main artifact file extension correctly
-------------------------------------------------------------------------

                 Key: IVY-899
                 URL: https://issues.apache.org/jira/browse/IVY-899
             Project: Ivy
          Issue Type: Bug
          Components: Maven Compatibility
    Affects Versions: 2.0.0-beta-2
            Reporter: Tom Widmer


POM files contain a packaging element that Ivy attempts to map to an extension 
for the main artifact of the module in question. In 2.0.0beta2, it maps as 
follows:

ejb->jar
bundle->jar only for org.apache.felix#maven-bundle-plugin
[other]->[other]

That mapping is not sufficient to cover common POM files. For a start:

1. maven-plugin is a standard packaging type, which should map to the extension 
jar.
 - e.g. Ivy erroneously searches for 
org.apache.axis2#axis2-ant-plugin;1.4.1!axis2-ant-plugin.maven-plugin 
rather than: 
org.apache.axis2#axis2-ant-plugin;1.4.1!axis2-ant-plugin.jar
2. bundle seems to be used by various things, and is a jar in the cases I've 
seen:
org.apache.geronimo.specs#geronimo-activation_1.1_spec;1.0.1!geronimo-activation_1.1_spec.bundle
should be
org.apache.geronimo.specs#geronimo-activation_1.1_spec;1.0.1!geronimo-activation_1.1_spec.jar

Also, apparently POMs can have custom packaging which might need to map to some 
other arbitrary file extension, or possibly potentially to multiple files?

The ideal solution is to provide customisable mapping of POM packaging to file 
extensions that can be specified somewhere in the Ivy settings (it is somewhat 
similar to namespaces).

An interim solution is to change the mapping as follows:

ejb->jar
ejb[N]->jar?? e.g. ejb3->jar
maven-plugin->jar
bundle->jar if and only if .bundle does not exist but .jar does (it may not be 
easy to check for file existence in the relevant code - I'd be happy to always 
map bundle to jar, but others might not be - might be fine for an interim 
solution though?).
[other]->[other]

The interim solution could perhaps be done for 2.0 (it is only a few minutes 
work I think), though the properly customisable solution might take longer than 
that.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to