Improvements to `bndmanifest` to support parallel usage with PDE
- Lingua principale
- Java
- Stelle
- 137
- Fork
- 33
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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](https://github.com/bndtools/bnd/blob/master/aQute.libg/src/aQute/lib/manifest/ManifestUtil.java) 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?
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia esaminando il plugin bndmanifest e l’implementazione bnd ManifestUtil collegata. Confronta la formattazione Eclipse PDE richiesta con il comportamento attuale di copyTo, quindi analizza come una modalità compareTo o copy potrebbe segnalare discrepanze nel manifest durante la build Gradle. Il lavoro è completato quando la formattazione desiderata e il comportamento in caso di discrepanze sono definiti e coperti da test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- build-system
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 25/100