Hello, Regarding the answer of Stuart I have a question about the intended use of the bundleplugin Manifest goal. In the moment we are using the goal to generate the Manifest file to run our bundles within Eclipse (put the generated Manifest file where Eclipse expects it). (the manifest goal runs additional To the bundle goal) This process works and is easy to install. I know that in certain circumstances you will get Differing manifest files from the manifest and bundle process - but in most cases they are the same. Stuart could you please detail why I should not use the manifest goal in the described way?
Thanx in advance for any help, Michael -----Ursprüngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Stuart McCulloch Gesendet: Freitag, 21. September 2007 05:00 An: [email protected] Betreff: Re: connection of maven-bundle-plugin functionality to eclipse IDE OSGi startup? On 21/09/2007, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > hi, > > i managed to generate a bundle which lets itself install and start on > commandline osgi-container. for the developing phase of course i would > like to use OSGi runtime inside eclipse IDE, so debugging is possible > and implement/run cycle is short. > > i am building my bundle with maven bundle-plugin and following settings: > > <instructions> > ... > <Embed-Transitive>true</Embed-Transitive> > > > <Embed-Dependency>*;groupId=!org.eclipse.equinox;inline=false</Embed-Dependency> > ... > </instructions> > > basically running my osgi bundle inside eclipse works if i add generated > manifest to <rootFolderOfProject>/META-INF and if i layout embedded > dependencies (see settings above) in <rootFolderOfProject> too (as > stated in generated MANIFEST.MF). of course this manual actions are too > much and hence not doable when developing. yes - these are limitations of Eclipse PDE, which expects the manifest in a particular place (which doesn't match well with Maven, where generated files go inside target) and expects embedded jars to be exactly placed relative to the project root. has anybody experience/suggestions in getting the bundle for release > right and working inside eclipse IDE with same maven-bundle-plugin > settings (dependencies are referenced correctly and correct path of > MANIFEST.MF is set when doing RunAs...->OSGiStartup)? there are a couple of things that can help automate this: 1) put dependencies under a target/dependency folder (with no group sub-folder): <Embed-Directory>target/dependency</Embed-Directory> <Embed-StripGroup>true</Embed-StripGroup> you can then use the dependency plugin "copy-dependencies" goal to copy the dependencies locally - they should then match the classpath entries for Eclipse 2) unpack the generated manifest using another plugin (either antrun or exec plugin) - you can't use the bundleplugin manifest goal, as that's designed to work against existing non-OSGi artifacts that need wrapping FYI, the Pax-Construct plugin and archetypes do a lot of this for you behind the scenes: http://wiki.ops4j.org/confluence/x/8Q however, I'd strongly suggest trying out the Pax-Construct v2 *beta* as it uses a much cleaner project layout and has a bit better Eclipse integration (it munges the manifest before copying it to the PDE location, so you can put embedded jars anywhere you like) http://mcculls.blogspot.com/2007/09/calling-all-testers-pax-construct-v2.html Unfortunately the documentation is lacking, but each script supports -h for help, and just running the script without any options will get it to prompt you, with example responses. Full documentation should be there next week :) There is one remaining niggle when developing OSGi with Eclipse and Maven - in Eclipse developers tend to edit the PDE manifest first to add required packages to the import list. Then they build using Maven and wonder why it's failing - this is because they haven't told Maven of the required dependency! Projects like q4e (http://code.google.com/p/q4e) can help, as they make it easier to add dependencies direct from Eclipse, but they're in the early stages of integration. There are also ways to make your local Eclipse installation appear as a maven repository, so you can reference Eclipse jars from maven without having to locate a remote repo for them: http://docs.codehaus.org/display/MAVENUSER/Eclipse+Plugin HTH thanks! > > > -- > manuel aldana > [EMAIL PROTECTED] > homepage: www.aldana-online.de > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Cheers, Stuart --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

