Project
IntelliJ IDEA
Priority
Normal
Type
Bug
Fix versions
No Fix versions
State
Fixed
Assignee
Jan Thomä
Subsystem
OSGi Support
Affected versions
No Affected versions
Fixed in build
No Fixed in build
  • Created by   Chuck Canning
    2 years ago (29 Jul 2009 10:39)
  • Updated by   root
    2 years ago (17 Jan 2010 21:18)
  • Jira: IDEADEV-40349
    (history, comments)
 
IDEA-49995 Constantly prompts to create /MANIFEST.MF
0
Issue is visible to: All Users
  The issue is visible to the selected user group only
I use Spring's Bundlor to create my bundles and the MANIFEST.MF. I have the Osmorc plugin set to use the project location of META-INF. I also have all my facets set to use the Project Default and Manually edited. Everytime I edit my template.mf (every single edit) prompts me with /MANIFEST.MF does not exist, would you like to create it.

Also, when I bring up the settings window, it prompts me twice for every module (same prompt) and this translates into a lot of prompts and a major annoyance/productivity hit.
Comments (3)
 
History
 
Linked Issues (?)
 
Robert F. Beeger
  Robert F. Beeger
29 Jul 2009 22:25
2 years ago
If you choose the "manually edited" variant, then Omorc either needs to fiind an already existing manifest file or create it. You can then change the manifest manually to add imports, exports and all other kinds of OSGi headers. Osmorc will then map the bundle dependencies to IDEA module dependencies, so you actually can import a class from bundle B in bundle A after adding its package to the Import-Package header of the manifest of bundle A.

If you use Bundlor to generate the manifest you don't have a manifest file that you are manually editing. Osmorc supports this kind of approach but currently not with Bundlor. Osmorc uses Bnd in this case to create manifest files. We also have support for Maven. Osmorc will read OSGi specific metadata from Maven and use it while generating the manifest with Bnd.

Well, would it be possible for you to use Bnd instead of Bundlor?
Jan Thomä
  Jan Thomä
17 Sep 2009 21:10
2 years ago
I am not sure if using anything but bnd with the OSGi intregration is actually supported. If you build your manifest with some third party tool, like Bundlor, the OSGi integration isnt much help is it? We could add support for unsupported ways of generating the manifest, but that would mean that BEFORE the make process runs you must invoke some external build tool to generate the manifest.mf. In that case we could add something like a fourth option to the facet settings, like "Externally Controlled Manifest". There won't be much use of it though, as all the goodies like checking if you included stuff in your manifest and fixing entries won't be available.
Jan Thomä
  Jan Thomä
20 Oct 2009 16:00
2 years ago
I am adding a fix so that Osmorc will use the manifest if it exists but will not complain if it does not exist. However for building a bundle, the manifest HAS to exist. Therefore building with a non-existing manifest will not work. The intentions should kick in once a manifest exists but will not work if the specified manifest file does not exist. I am also removing all the pop-up messages. The facet settings dialog will issue a warning if the manifest does not exist and will offer a button to create it at the specified (or default) position. This seems like the most flexible yet convenient way to me right now.