You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Florian Brunner (JIRA)" <ji...@apache.org> on 2015/03/17 23:46:38 UTC
[jira] [Created] (FELIX-4831) Simplify the declaration of
capabilities
Florian Brunner created FELIX-4831:
--------------------------------------
Summary: Simplify the declaration of capabilities
Key: FELIX-4831
URL: https://issues.apache.org/jira/browse/FELIX-4831
Project: Felix
Issue Type: Improvement
Components: Maven Bundle Plugin
Affects Versions: maven-bundle-plugin-2.5.3
Reporter: Florian Brunner
Declaring capabilities is currently rather cryptic. It requires a specific syntax, which I believe is hard to remember for non-OSGi experts.
E.g. to provide a CDI extension using PAX-CDI you would need something like this:
<Provide-Capability>
org.ops4j.pax.cdi.extension; extension=my-extension
</Provide-Capability>
To require the CDI extension you would need something like this:
<instructions>
<Require-Capability>
osgi.extender; filter:="(osgi.extender=pax.cdi)", org.ops4j.pax.cdi.extension; filter:="(extension=my-extension)"
</Require-Capability>
</instructions>
The proposed solutions consists of 3 parts:
- a new property for the bundle goal of the Maven Bundle Plugin: instructionsFile
This property defines a properties file containing additional BND instruction to take into consideration when executing the goal
- a annotation library, which provides annotations for declaring BND instructions
- a custom annotation processor, which generates the instructionsFile from the annotations
This approach would:
- guide the developer what to specify
- doesn't require the developer to know the exact syntax
- helps avoiding typos
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)