[
https://issues.apache.org/jira/browse/FELIX-1531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12840259#action_12840259
]
Richard S. Hall commented on FELIX-1531:
----------------------------------------
Ok, I looked into it and I realize what is going wrong. Peter's approach to
mandatory attributes requires that all filters include a subset check on
"mandatory:" otherwise they will falsely match capabilities with mandatory
attributes. Since the test repository didn't include such a check, it was
matching when it shouldn't have been.
Ultimately, this is why I think Peter's approach is flawed since we cannot
assume people will always obey this rule. In the new framework resolver I avoid
this situation by doing the mandatory check in the filter implementation.
> Mandatory directive is ignored on the Export-Package when it comes to resolve
> the bundles
> -----------------------------------------------------------------------------------------
>
> Key: FELIX-1531
> URL: https://issues.apache.org/jira/browse/FELIX-1531
> Project: Felix
> Issue Type: Bug
> Components: Bundle Repository (OBR)
> Affects Versions: bundlerepository-1.4.3
> Environment: not applicable
> Reporter: hehe ji
> Assignee: Guillaume Nodet
> Fix For: bundlerepository-1.6.0
>
>
> When I try to resolve a bundle (bundleFooImport.jar) with the following
> manifest:
> Import-Package: a.b.c;company=foo
> In the bundle repository, I have a bundle (bundleFoo.jar) with the following
> manifest:
> Export-Package:a.b.c;version=3;company=foo;security=true;mandatory:="company,security"
> The repository.xml for the bundleFoo.jar
> <capability name='package'>
> <p n='company' v='foo'/>
> <p n='mandatory:' t='set' v='company,security'/>
> <p n='package' v='a.b.c'/>
> <p n='security' v='true'/>
> <p n='version' t='version' v='3.0.0'/>
> </capability>
> For some reason, the felix resolve resolves the bundleFooImport.jar with
> bundle bundleFoo.jar, which is wrong. According to the osgi specification,
> bundleFoo.jar bundle insists the bundle imports specifying company and
> security attributes, which was not the case of bundleFooImport.jar. Clearly,
> the felix implementation of the mandatory directive is NOT correct.
> Please let me know if you need any more details.
> Thanks
> Hehe
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.