felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carsten Ziegeler (Closed) (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (FELIX-3070) SCR Plugin and dependencies with classifier cause issue depending on the order of dependency in pom.xml
Date Tue, 15 Nov 2011 16:20:53 GMT

     [ https://issues.apache.org/jira/browse/FELIX-3070?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Carsten Ziegeler closed FELIX-3070.

> SCR Plugin and dependencies with classifier cause issue depending on the order of dependency
in pom.xml
> -------------------------------------------------------------------------------------------------------
>                 Key: FELIX-3070
>                 URL: https://issues.apache.org/jira/browse/FELIX-3070
>             Project: Felix
>          Issue Type: Bug
>          Components: Maven SCR Plugin
>    Affects Versions: maven-scr-plugin-1.7.2
>            Reporter: Chetan Mehrotra
>            Assignee: Carsten Ziegeler
>            Priority: Minor
>             Fix For: maven-scr-plugin-1.7.4
>         Attachments: scr-bug-log.txt, scr-bug.zip, scr-log.txt
> Here is the scenario. I have two modules 
> - ModuleA - It generates two artifact. One the main artifact and other a client artifact
which has classifier set to 'client' i.e. 
> -- scr-bug:moduleA:jar:1.0.0-SNAPSHOT
> -- scr-bug:moduleA:jar:client:1.0.0-SNAPSHOT
> - Module B - Has dependency on both artifacts.
> Module A has a abstract service class which has Component 's componentAbstract set to
true. This class has a service reference entry i.e. a variable with @Reference marked. Module
B has a ExampleService which extends the AbstractService and it has been marked aith Component
> Now when ModuleB has dependencies defined in order 
> -- scr-bug:moduleA:jar:client:1.0.0-SNAPSHOT
> -- scr-bug:moduleA:jar:1.0.0-SNAPSHOT
> Then SCR Plugin is able to locate the abstract component configuration and adds dependency
on the required service (referred in AbstractService). However if the order is changed (i.e.
classifier entry comes later) then SCR plguin ignores the config.
> I have also attached the debug log. 
> If you see scr-bug-log.txt (when dependency entry with classifier comes later) then it
has entries which indicates that dependency without classifier has been ignored 
> [DEBUG] Checking artifact org.apache.felix:org.apache.felix.scr.annotations:jar:1.6.0:provided
> [DEBUG] Resolving artifact org.apache.felix:org.apache.felix.scr.annotations:jar:1.6.0:provided
> [DEBUG] Checking artifact scr-bug:moduleA:jar:client:1.0.0-SNAPSHOT:compile
> [DEBUG] Resolving artifact scr-bug:moduleA:jar:client:1.0.0-SNAPSHOT:compile
> Seeing the code of MavenJavaClassDescriptorManager then it uses MavenProject.getArtifactMap()
in the getDependencies method. It internally uses org.apache.maven.artifact.ArtifactUtils.artifactMapByVersionlessId
[1]. This method only uses artifactId and groupId to create the map key and does not take
into account the classifier. So the getDependencies logic should use some other method to
obtain the depndencies

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message