-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Bnd based OSGi manifests #8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
I don't think there's any reason to have a separate jar file, it's not like the OSGI stuff would get in the way. On Jul 8, 2011, at 8:12 AM, whatnick wrote:
|
Feel free to reorganise the targets as you see fit, it is just some strings in the manifest. Bnd provides more complete metadata and moves the manifest key-value pairs out of the ant file. Another thing to maintain across versions, but not so hard. |
How does it provide "more complete metadata"? On Jul 8, 2011, at 9:21 AM, whatnick wrote:
|
Bnd instructions format is here: http://www.aqute.biz/Bnd/Format . One of the nice things about it is the package dependency analysis and automatic Export of all packages. The current Ant manifest instructions do not produce valid export-package instructions (the wildcard is used wrongly). The OSGi containers do not recognise the jar as a valid bundle. Using bnd avoids such mistakes in hand coding, if the manifest generation instructions passed to Bnd are invalid it will complain. |
I am also very confused by this. The way I read is is that jna.jar manifest is not OSGi-zed properly. Given that I doubt that anyobody actually cares what they are in the current jna.jar, why aren't you trying to modify the current ant script to do "the right thing" to jna.jar (and platform.jar)? |
I should add a review of what I did (I did modify the ant script). I have added
I hope this clarifies some of the questions. I am trying to stick to the existing build system while automating the OSGi manifest entry generation which is sensitive to the contents of the jar and can be hard to get right statically in the ant jar manifest tag. |
I agree with earlier posts that creating two jars is not needed. I've seen many projects where the default shipped jar now contains OSGi information and it is handy to have to reduce confusion and external library usage, especially when transitioning to an OSGi runtime environment (Is that too obvious that this is my use case? ;) ) Also - Here are some know working values for operating systems missing the example sited above for Solaris - osname=sunos |
Extended Bundle-NativeCode to cover all native implementations included in dist/jna.jar, and fixed Export-Package. |
…native-access#8) Motivation: We should ensure we can produce a native artifact that works on macos and on linux Modification: - Add the correct ldflags - Delete shared lib so we not link against it. Result: Works on macos and linux
Switched over from hand coded manifests to bnd based manifests. Output jar is named jna_osgi.jar but this can be tweaked if necessary.