Skip to content

Improvements to bndmanifest to support parallel usage with PDE #187

Open
@jmini

Description

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?

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions