[
https://issues.apache.org/jira/browse/FELIX-5501?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nikolas Falco updated FELIX-5501:
---------------------------------
Attachment: FELIX-5501.patch
> Pom dependency are not reduced when embedding is inline
> -------------------------------------------------------
>
> Key: FELIX-5501
> URL: https://issues.apache.org/jira/browse/FELIX-5501
> Project: Felix
> Issue Type: Bug
> Components: Maven Bundle Plugin
> Affects Versions: maven-bundle-plugin-3.2.0
> Environment: Maven 3.3.9
> Windows OS
> Reporter: Nikolas Falco
> Attachments: FELIX-5501.patch
>
>
> Looking the code (DependencyEmbedder#processDependencies) seems that pom
> reduction is not performed when embedding is marked as inline.
> Let me explain with use cases.
> *Use case 1 (inline)*
> I would embed a third party (for example commons-io) dependency inline into
> my project P1 means that all commons-io classes are placed into the P1.jar.
> Classes are visible throught export package manifest header in a OSGi
> environment and to the compiler at compile time (javac).
> When I build with maven a project P2 that has P1 as dependency, maven lookup
> also P1 dependencies, so in the classpath I have (P1 + commons-io) classes
> from P1 jar and commons-io classes again from commons-io jar. _Duplicate
> classes in classpath_.
> I think that this is the use case that more benefits from pom reduction.
> *Use case 2 (not inline)*
> I would embed a third party (for example commons-lang) dependency into my
> project P1 as jar in a _lib/_ folder that means commons-lang.jar is placed as
> nested jar of the P1.jar and it is added to Bundle-Classpath manifest header.
> Classes are visible throught export package manifest header in a OSGi
> environment but *NO* to the compiler at compile time (javac) because it's a
> jar into jar.
> When I build with maven a project P2 that has P1 as dependency, maven looks
> also for P1 dependencies (empty because stripped by reduction), so I have in
> the classpath only P1 classes from P1 jar and no commons-lang classes so
> build fails.
> So I think that this is the use case that have should no benefit of pom
> reduction.
> Seems the actual behaviour is reversed or at least should be performed also
> in inline use case
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)