Skip to content
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

Improvements to bndmanifest to support parallel usage with PDE #187

Open
jmini opened this issue Apr 20, 2022 · 2 comments
Open

Improvements to bndmanifest to support parallel usage with PDE #187

jmini opened this issue Apr 20, 2022 · 2 comments

Comments

@jmini
Copy link
Contributor

jmini commented Apr 20, 2022

We would like to generate our manifests with the bndmanifest plugin.

Our idea is to generate the MANIFEST.MF file, but in a way that it stays compatible with the PDE tooling running inside the IDE. In this setup we would have the MANIFEST.MF file present in our Git Repo.


What already exists:

copyTo from the osgiBndManifest can be used like this:

osgiBndManifest {
    copyTo 'META-INF/MANIFEST.MF'
}

A first limitation is that ManifestUtil from bnd is formatting the MANIFEST according to the spec (line should not exceed 72 bytes and so on).

For us this creates an artificial change in Service-Component: because the org.eclipse.pde.ds.annotations tooling in Eclipse creates one line per xml file in the OSGI-INF/ folder.

We would like both tools bndmanifest and PDE tooling to have the same formatting (the Eclipse one).


A second feature we would like to have:

We consider that the generated MANIFEST created by the bndmanifest should win over a manual change in the Eclipse IDE. But we would like to be able to detect those mismatch by having a build failure if the generated manifest does not match the current version.

So instead of copyTo this should be something like a compareTo option that fails the build if the MANIFEST file is not correct. Maybe with a possibility to copy instead of compare (think spotlessCheck vs spotlessApply).


Have you some opinion about this topic?
Would you accept a PR for features in this direction?

@nedtwigg
Copy link
Member

We have abandoned OSGi at DiffPlug. I'm happy to merge and release PRs for this. I'd like to preserve backward-compatibility for existing users, so if you need to break something please gate with a flag or we can do bndManifestEclipse or something like that.

@jmini
Copy link
Contributor Author

jmini commented Jan 19, 2023

Related to this topic:
https://stackoverflow.com/questions/36545272/bnd-make-resulted-manifest-mf-to-have-one-line-per-bundle-classpath-and-requir

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants