Dear Wiki user, You have subscribed to a wiki page or wiki category on "Httpcomponents Wiki" for change notification.
The following page has been changed by OlegKalnichevski: http://wiki.apache.org/HttpComponents/HttpComponentsAndOSGi ------------------------------------------------------------------------------ - #pragma section-numbers off + See [https://issues.apache.org/jira/browse/HTTPCORE-125] - = OSGi-Enabling HttpComponents = - - OSGi bundles are JARs with additional metadata that allows for easy deployment of - the bundles in OSGi frameworks, such as Apache Felix or Eclipse Equinox. Since the - difference is only the metadata, we should be looking into generating OSGi bundles - instead of plain JARs for the HttpComponents. This page is meant for recording ideas - and progress - - == Tools == - - The tool of choice for a Maven 2 based project at Apache is the - [http://felix.apache.org/site/maven-bundle-plugin-bnd.html maven-bundle-plugin] - maintained by the Apache Felix team. - That plugin creates complete OSGi bundles, not just the additional metadata. - As such, it would have to replace the currently used maven-jar-plugin for our release builds. - The maven-jar-plugin is specified in the component's parent POM, applicable for all modules in all components. - - Alternatively, it is possible to manually define the metadata in pom.xml instead of generating it. - See [:OSGiMetaData] for an example. - (One advantage of this approach is that the manifest is then much easier to read). - - == Plan == - - Start with !HttpCore-main, as it has no dependencies beyond plain Java. - Put the maven-bundle-plugin into the module POM. - The Commons folks have figured out a second way to use the bundle plugin. - Instead of changing the bundling from jar to bundle and letting the bundle plugin - assemble the jar file, it is possible to only create the MANIFEST with the - OSGi specific metadata but continue to use the regular jar plugin for bundling. - [[BR]] - Try both options and check the output carefully: - * Are all classes in the bundle? - * Are all non-classes (properties files) in the bundle? - * Is the metadata for the bundle correct? (version, symbolic name, package lists) - Compare the effort for the maven-bundle-plugin with the (non-)effort for the maven-jar-plugin. - The bundle plugin calls a separate tool and is therefore not as tightly integrated with Maven 2. - - If the approach is feasible, move on to HttpNIO. - Consider moving the maven-bundle-plugin definition to the component POM. - Switch the release assembly from the plain JAR to the OSGi bundle, - or add the generated MANIFEST by default to the jar plugin. - [[BR]] - If the approach is not feasible, consider working with the Felix team - to improve the plugin integration. - - - == Status == - - not yet started - --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]