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
Added auto-generated OSGi metadata #934
Conversation
More info needed. What are you doing and why? By get rid of you means push the osgi in the main repo? I’ve never seen a strong argument for OSGI but providing the build and deployment (central upload) size doesn’t change I have no strong objection. |
Yes, I can then fetch CDK via Maven (instead of rebundling .jars) and integrate it into the target platform. Compare the MANIFEST.MF before and after to see what this actually does. See Apache Felix Maven Bundle Plugin for documentation. |
OSGi-bundles for the CDK modules would help me too. E.g. Cytoscape and PathVisio have plugins that use the CDK and need OSGi bundles. I am not Maven/OSGi expert (never had enough time to understand all the complexities, tho I got the basics). Are there any downsides of marking each module a "bundle"? |
A bundle is a jar with OSGi metadata according to https://stackoverflow.com/a/20260459 so I hope this does not change any existing build workflows. |
Done some tests locally and this seems to double the installation size. It's already much bigger than I would like to some recent third-party updates (#911) and I'm hesitant to double that.
before:
after:
It looks like what it does is pull in all the dependant files of the project. Before:
After:
This might be better once we are more modularised move to Java modules but for now I think this is possible a no go unfortunately. |
I see. Modified it according to https://bnd.bndtools.org/tools/felix-maven.html so that the packaging type stays |
Okay, that's not what I had in mind or expected. That does not make sense to me either. As far as I know it should only update the Are we sure this is not an interaction effect and that it makes every module a "with dependencies" now? |
Much better, thanks just test and all looks ok. |
Yep @egonw now just the manifest updated:
|
Note to future self. The build was made a little slower (+18% user time ~49s => ~59s, real time ~19s => ~20.4s M1 Pro). OK but careful of "death by a thousand paper cuts". Likely improved by less modules. |
An alternative is to have the extra manifest information in a separate file (if not mistaken), and have the plugin use that to create the OSGi bundle. Less build time, more admin. |
I want to get rid of net.openchrom.thirdpartylibraries.cdk and this seems to be a requirement.