[ https://issues.apache.org/jira/browse/FELIX-3018?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stuart McCulloch updated FELIX-3018: ------------------------------------ Fix Version/s: maven-bundle-plugin-patches-welcome > Allow updation of an artifact's manifest at the final stage > ----------------------------------------------------------- > > Key: FELIX-3018 > URL: https://issues.apache.org/jira/browse/FELIX-3018 > Project: Felix > Issue Type: New Feature > Components: Maven Bundle Plugin > Affects Versions: maven-bundle-plugin-2.3.4 > Reporter: Sahoo > Fix For: maven-bundle-plugin-patches-welcome > > > Please take a look at the discussion in FELIX-1571 that triggered this RFE to > be filed. > There are at least two predominant approaches to generating OSGi bundles > using maven-bundle-plugin: > a) Use packaging type like war, jar, ejb, etc., configure bundle plugin's > manifest goal to be run in an appropriate phase like process-classes and > configure the maven-archiver to use bundle plugin generated MANIFEST.MF in > the final artifact. > b) Use packaging type bundle so that bundle plugin is responsible for making > the final jar as well. > Each have their pros and cons. Contrary to approach #b, which is an > OSGi-first approach, approach #a is where OSGi metadata generation is an > additional step in the build process. User sets up the their project > following maven conventions as per their packaging type and then they > additionally configure bundle plugin to help them generate a valid OSGi > bundle. It is but natural that many enterprise Java developers who are used > to developing wars, ejb jars, etc. prefer approach #a. > With all the recent fixes to maven-bundle-plugin, things have improved quite > a lot. Approach #a is an optimal way to generate proper OSGi bundle except > when there are dependencies embedded in the final jar. e.g., user may like to > embed some jars in their WEB-INF/lib of the WAB. In such a case, maven > archiver knows what all jars to be embedded; after all it is making the final > war file. Yet, one has to repeat some of this in Embed-Dependency instruction > of bundle plugin in order for bundle plugin to generate proper > Bundle-ClassPath and Import-Package header. If Embed-Dependency has extra > jars, then unnecessary Import-Package and Bundle-ClassPath will appear in the > OSGi metadata. If Embed-Dependency has less jars, then the reverse will > happen. I agree to the following comment made by Stuart in FELIX-1571: > "I think the proper solution may be to create a new feature that lets you > update the manifest in the generated project artifact. That way you have the > WAR artifact available, so bnd can produce the right manifest (and verify it) > - although one outstanding issue is this might affect signing... " > I don't know if there is someway to intercept maven-archiver processing, then > bundle plugin could generate the manifest as the penultimate step in the > packaging process. Anyway, I am sure with all the maven experts around, > someone will suggest a way to do this. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira