[ 
https://issues.apache.org/jira/browse/FELIX-954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13055365#comment-13055365
 ] 

Holger Hoffstätte commented on FELIX-954:
-----------------------------------------

IMHO this is one of those kinds of ideas that "look" good at first sight, but 
really are unfixable, at least on this level.

In practice it is not enough to declare an "optional" dependency, because it 
says nothing about the required bundle state or any further requirements on 
that particular resolution. It's also not difficult to see how this will wreak 
havoc with resolvers & OBR (much of which has changed in CPEG since this bug 
was filed) and result in unreproducible runtime behaviour in different 
environments. It also gives off the impression that a legacy integration 
"works" when in reality it probably will not, or at least not correctly.

Ultimately "optional dependencies" are modularity bugs and a cop-out: they push 
the problem onto someone else, with no indication why the dependency is 
optional, or what that even means.


> Import-Package should include packages from optional Maven dependencies with 
> resolution=optional
> ------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-954
>                 URL: https://issues.apache.org/jira/browse/FELIX-954
>             Project: Felix
>          Issue Type: New Feature
>          Components: Maven Bundle Plugin
>    Affects Versions: maven-bundle-plugin-1.4.3
>            Reporter: Pavol Juhos
>             Fix For: maven-bundle-plugin-2.4.0
>
>
> It would be great if maven-bundle-plugin used resolution=optional for 
> packages that are coming from _optional_ Maven dependencies.
> The current behavior causes problems e.g. when embedding libraries with lots 
> of optional dependencies. As described by Detelin Yordanov: "[I]t seems that 
> BND finds the
> references to [the optional packages] and assumes them to be mandatory adding 
> a bunch of imports in the manifest." This can easily result in hundreds of 
> import-package declarations importing packages that are actually not required 
> by the application. In these cases it is not practical to handle this 
> manually in the plug-in / BND configuration.
> This issue was already discussed on felix-users list in Jan 2009 -- see 
> thread "Maven bundle plugin: Is it possible to mark optional Maven 
> dependencies to be imported with resolition=optional"
> http://mail-archives.apache.org/mod_mbox/felix-users/200901.mbox/%[email protected]%3E

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to