Hi guys, Using the felix-maven-plugin for Spring/OSGi released, I discovered several 'unwanted' and missing features. I'm not sure whether they belong to the bnd jar or the maven plugin.
1. Extra manifest entries I've discovered that when a MANIFEST.MF is available inside the project, it's entries are copied to generated manifest. I find this useful since it allows me to specify Dynamic imports. However, I've found that if Include resources is used, this doesn't work any more. What's the official, supported way of working with it? 2. Defaults/empty properties Inside our project, we use a lot of properties so that submodules can customize the plugin w/o redefining it again. However, it's impossible to 'erase'/reset settings to their defaults. <properties> <myImportPackage>package</myImportPackage> </properties> ... <Import-Package>${myImportPackage}</Import-Package> If a submodule erases myImportPackage: <myImportPackage></myImportPackage> then a NPE is thrown by bnd tool. It would be nice if null & empty strings should be considered defaults. 3. Include and - Bnd tool allow include to specify several files and allows a - to indicate that it's okay if the file is missing. However, the maven plugin doesn't like that, it will complain if the file is missing. <_include>-missing/file.txt</_include> 4. Import versions The import versions are determined automatically and can't be overridden. For example inside Spring/OSGi, we import spring 2.0.5 and the resulting imports have version 2.0. We want to be more specific such as 2.0.5 or [2.0.5, 2.1) but whatever I specify as import package is completely ignored. 5. Import-Resource Besides allowing it to work alongside 1), it would be nice if the resources found inside the classpath could be copied automatically. This might be difficult, I realize, but at least some patterns might be used. I'll add also the ability to use the filtered/processed resource and not the 'raw' one (see the 'resource filtering and bundle packaging' email sent 2 days ago to the list). Thanks and looking forward to a new version of the plugin. It took a while to get it into our project but I think it was worth it. Too bad Maven made the task way more difficult then it had to be. Cheers, -- Costin